GitHub如何征服了Google、微软及一切

Chris DiBona担心所有的东西会在一个地方终结。

那是10年前,当时开源软件的想法尚未把技术世界翻个底朝天。开源的Linux操作系统已经在华尔街等地的大量机器上运行,证明了通过与世界免费共享软件代码一样可以创造巨大价值和金钱。但是开源社区的力量仍然相对较小。码农启动新的开源项目时,往往要到一个相当geeky且有时不大可靠的网站上,它的名字叫做SourceForge。

DiBona ,Google的开源大牛担心把全世界所有的开源软件都放到一个篮子上的风险:“只有一个篮子,那个篮子就是SourceForge”。

于是,像许多公司一样,Google建立了自己的网站,让大家来托管开源项目,这个网站的名字叫做Google Code。Linux等开源软件是Google建立在线帝国的基石,Google提供一个SourceForce替代的想法是,确保开源教不断演进,让它最终遍布全网。

不过这中间杀出了个GitHub,而它的传播速度更快。

今天,也就是诞生10年后,Google宣布关闭Googe Code。这个决定并不难预料。过去3年Google已经将大概1000个项目移出了网站。不过它的正式死亡值得注意。Google Code之死跟大环境脱不开关系,因为现在势力庞大的开源界大部分都把自己的代码托管到GitHub上。

有人认为Google建Google Code可能有另外一个更加自私的想法:控制或者致力于把尽可能多的数据弄到它自己的机器上(这家公司一贯如此)。但GitHub最终体现出了比上述更高的价值。GitHub以比SourceForge或Google Code更彻底的方式实现了软件开发的民主化。而这就是软件开发世界最有价值的货币。

GitHub:开发者的猫薄荷

上线仅7年的GitHub现在据称已有将近900万注册用户。每个月还有2000万的访客浏览。根据web流量监控服务Alexa的数据,GitHub位列全球百大流行网站之中。

可别小看GitHub的上榜,因为榜单上的其他网站不是社交网站就是Google在各国的局点,再就是媒体机构,主要用户为码农的GitHub是个异类。

不过,具有讽刺意味的是,GitHub的成功之处正好在于开源世界回归到一个集中容器上。但这次DiBona的感觉跟大多数其他码农一样,对于把所有东西都放到一个地方感到相当欣慰。集中到一个地方可以让大家更容易就所有事情进开展协作。由于GitHub的独特设计,把所有鸡蛋放到一个篮子的压力并没有像SourceForge那么大。

因为虽然GitHub在逻辑上是一个地方,但在物理上却无所不在。这一悖论正是开源软件的美丽之处—也是它对技术的未来很重要的原因。

Git Ready

如何解释这一悖论呢?这得扯到Git,这个“版本控制”软件是GitHub的基础。Git是Linux创始人Linus Torvalds于2005开发出来的。Git的好处是可以让许多人同时折腾一套代码而不会发生冲突。.

或者说,Git的作用是让任何人很容易就可以复制一份Linux源代码到自己的机器上,进行变更,并可以在任何时候把变更上传到中心版本库上。而且每个人的变更都可以无缝地合并到一起。“这就是Git天才的地方,” DiBona说:“而GitHub的天才指出在于它理解这一点。”

GitHub创建了这样一个网站,这个网站让任何其他项目基本都能像Linux项目一样运作,使得一般编码者都能轻松掌握。“GitHub的确非常流畅,”经历过这场开源革命的Slashdot主编Rob “CmdrTaco” Malda说:“它拥有一个性感且现代的界面。”

现在相当大部分的人都把自己的开源项目托管在GitHub上,其中就包括Google、Facebook、Twitter甚至还包括开源界一度讨厌的微软。最近几个月,微软开始把自己部分最重要的代码开源了,它把这些代码托管在GitHub而不是自己的开源网站CodePlex。

S. “Soma” Somasegar,这位掌管微软大量工具的老兵说CodePlex像SourceForge及BitBucket等库一样仍将继续运营。但是他把GitHub视为像Microsoft.NET这样的项目的唯一托管地。“开发者在哪里我们就去哪里,”他说:“而大多数的开源社区都在GitHub上。”

公私兼顾

尽管如此,正是由于DiBona所谓的“Git的天才之处”,这个社区也能脱离GitHub运营。由于有了Git,编码者在做特定项目时不仅能够将代码搬到自己的机器上,也很容易就能够“fork(分支)”出代码,然后建立新的独立项目。他们还可以将部分代码公开并让一部分代码保持私有。