TensorFlow的開源與Hadoop的開源有什么不同?
最近看TensorFlow代碼的時候,用Git pull下來***的master一看,哇好多的更新,然后點擊去之前看到一半的cc文件繼續(xù)看,好多地方都改變了。但是一看Git log,有好多巨大的commit叫什么 “Merge commit for internal changes”, “Merge for github”,沒有任何的其他描述…,這樣基本上不知道到底改動是為了什么。
相對來說Hadoop的開源要實誠得多,每個改動都有對應(yīng)的JIRA來跟蹤,從JIRA里面可以看到改動的原因、設(shè)計(對于大的改變來說)和討論。任何一個關(guān)注項目的人都可以在代碼merge之前提出自己的質(zhì)疑,(只要不是無理取鬧)基本上能夠得到很詳細(xì)的回答。
出現(xiàn)這種區(qū)別***的原因是來源于Google與Apache本質(zhì)上不同,Google作為一個商業(yè)公司,有的是人來維護代碼,基本上不在乎來自公司外的貢獻。對于Google來說,開源TF(目測k8s也差不多)***的目的是制定標(biāo)準(zhǔn),推進自己的cloud,另外如果有更多的人來測試和修修補補那些外圍一點的東西那是再好不過了。
而Apache基金會本來就是為了開源而生,公司把項目貢獻給Apache基金會的目的除了為了提升自身形象以外,主要是為了吸引用戶和更多的開發(fā)者,也就是造成杠桿的效應(yīng),那么為了得到更多真誠的幫助,肯定得把自己的腸腸肚肚都剖出來給人看。不然外部的人怎么去貢獻。
當(dāng)然兩種方式各有優(yōu)劣,對Google這種級別的公司這種方式可能更快也避免了很多討論的時間但是也會讓很多潛在參與者走掉,而Apache的方式更民主更開放。作為Hadoop的一員,我還是真心喜歡Apache的開放的工作方式…