你是否需要GitHub?

songjians發表於2015-01-24

  github有哪些東西?其實是很多東西。我不認為你必須使用它,但是它的確彙集了世界上的優秀程式設計師和工程師,彙集了有開源精神和情懷的一幫人,彙集了各種開源技術!

  你是否需要GitHub?

  要了解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,這是開源 的力量。閉源是一種排斥,而開源是包容,閉源是單打獨鬥,開源是同仇敵愾,閉源是敝帚自珍,開源是無私奉獻,閉源是小富即安,開源是世界大同,閉源是資本 主義,開源是共產主義。

  所以我一直想不通為啥Github會被牆。

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

  開源是技術的『本善』。

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

  當然,我沒有頓頓吃素。

相關文章