漫談Github與開源

jopen 9年前發布 | 10K 次閱讀 Github
漫談Github與開源

        文/王登科

        今天在 Github 發布了我人生真正意義上的第一個開源項目-『Onepay』,這是一個簡單方便的打賞按鈕/鏈接生成系統,用來替代已經下線的支付寶收款主頁,截至目前已經在 Github 上面收獲了 21 個 Star 和 8 個 fork。

        我回想起去年在北京實習的時候,某天公司一個技術大牛給一個做安卓開發的姑娘講 Github 的使用和 Git 的一些原理,我啥也不懂很想聽聽,但是又擔心如果表現的啥也不懂,會被別人嫌棄,然后遣返回大四川,所以我裝作高深莫測的站在一旁,面帶微笑。技術大牛抬 起頭來看了我一眼,可能是被我高深莫測的微笑震住了,我淡定的說,您繼續講,我也聽聽,然后換成不恥下問的謙虛微笑,技術大牛憨厚的點點頭,然后又繼續講 了下去,最后講完了,還望了我一眼問道,沒講錯啥吧,其實也沒啥新東西吧?我點點頭說,不就是那些東西嘛。

        是哪些東西?其實是很多東西。

        要了解 Github,我們首先要知道 Git,Git 是管理代碼的工具,寫代碼不是件輕松的事兒,一個人寫的時候已經不輕松了,一群人寫就更不輕松了,但這世界上很多事都是怎么不輕松怎么來的,大部分人都會 和別人一起寫代碼,問題在于,這么多人寫一個東西,你今天寫一點,我明天寫一點,然后發現你寫錯了,又影響到了我前天寫的,最后匯總的時候怎么查找錯誤? 又在什么時候匯總?這些問題太多了,想想就覺得還是食物美好。為了讓寫代碼這件事兒美好一點,我們有了一種名叫代碼管理的東西,Git 正是其中之一,我使用過的還有 SVN,但是今天我們只講 Git。

        Git 的核心思想是『分布式』,我們在服務器上面有一個『主倉庫』,這里放的是拿得出臺面的代碼,我們也可以在自己的電腦上創建分支,這些分支由『主倉庫』克隆 而來,然后我們就可以愉快的在自己的電腦上寫代碼了,寫完代碼可以同步在自己電腦的分支里面,當你覺得自己的代碼拿得出臺面,我們可以申請把自己的代碼更 新到『主倉庫』里面,一旦通過這樣的審核,我們就對『主倉庫』做了某種貢獻,世界各地的杰出程序員不斷的為一個項目的『主倉庫』做貢獻,讓這個項目變得越 來越完善。

        Github 是運用 Git 思想來工作的一個商業網站,所有開發者都可以在 Github 上面為自己的項目創建一個『主倉庫』,好的項目就像狼群中的小鮮肉一樣,大量的開發者會把這個主倉庫中的代碼克隆到自己的『分倉庫』去,用更性感的話來 說,就是『Fork』。

        Git 的方式的確很優雅,但問題在于,會有人愿意把自己辛辛苦苦的代碼拿出來公布,并且讓人 Fork 么?

        會,不僅會,而且很多,Github 有超過 140 萬用戶,你可能會撇撇嘴說那個啥啥社交軟件都有 2000 萬用戶,區區 140 萬算個啥。可是這 140 萬用戶幾乎涵蓋了這個世界上最優秀的開發者,我相信,你那個有 2000W 用戶的社交軟件的工程師,肯定也是用 Github 的。任何項目,在 Github 上面獲得 fork 或 star,都意味著其它工程師對這個項目的認可,這比 100 個 QQ 空間的贊更有價值。

        為什么這些優秀的工程師會開源自己的項目?

        因為開源是一種精神。

        無數的軟件開發者苦心積慮保護自己的代碼不被破解,而還是被聰明絕頂的腳本小子破解了,但破解無數軟件的腳本小子在接下來的破解中卻傻眼了,因為這是開源的,不用破解也就破解了破解。

        閉源意味著封閉,而開源則意味著開放,封閉很難進步,開放才會進步。開放讓人類的智慧有聚集的可能,人類的智慧聚集起來不再是1+1=2,這是 開源的力量。閉源是一種排斥,而開源是包容,閉源是單打獨斗,開源是同仇敵愾,閉源是敝帚自珍,開源是無私奉獻,閉源是小富即安,開源是世界大同,閉源是 資本主義,開源是共產主義。

        閉源讓微軟成帝國,讓蘋果成神話,但是,這是商業,如果沒有技術的開源,這些商業的閉源也基本是無米之炊。商業需要閉源,而技術需要開源,利益需要閉源,而情懷需要開源。

        開源是技術的『本善』。

        我不排斥閉源,但是我贊美開源,就像我我忍受黑暗,但卻心存光明一樣,就像我頓頓吃素,卻依然熱愛肉食一樣。

        當然,我沒有頓頓吃素。

來自: www.wdk.pw
                    <span id="shareA4" class="fl">                  
                        </span> 

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!