GITHUB:征服谷歌、微软及其他巨头的服务
网易科技讯3月13日消息,10年前,虽然开源软件尚未对科技行业造成翻天覆地的影响,但开源的Linux系统已经运行在华尔街及其他行业大量的计算机上,免费代码开始显露出巨大的威力——创造巨大的价值以及经济利益。但彼时开源社区规模尚小,如果有人想要开始一个新的开源项目,他们通常只能在有限的工作条件下进行,有时不得不借助一个称之为SourceForge的网站的帮助。
克里斯·戴博纳(Chris DiBona)有着一头长发,是谷歌的开源大师,他对此感到忧心忡忡,认为开源软件在一个网站上过于集中可能会为整个行业带来不可预知的风险。
因此,如同其他公司的做法一样,谷歌创建了自己的开源软件托管网站Google Code。公司在Linux和其他开源软件的基础上构筑了自己的在线帝国,而现在,其推出的Google Code让开源社区有了更多的选择。谷歌试图让开源可以持续发展下去。
然而,事情有了意料之外的变化,GitHub横空出世,并以极快的速度传播和发展。
今天,在Google Code推出10年之后,谷歌宣布将关闭该服务。这一决定并不让人感到意外,在过去3年左右的时间里,成千上万的项目从其上转移出去。造成Google Code黯然退场的主要原因是如今大多数开源项目都将代码托管在GitHub上,后者由一家旧金山初创公司开设。从Google Code转移的项目中的绝大多数栖身于GitHub。一些声音认为,谷歌出于自私的目的创建了Google Code,公司想要控制一切,或者说,想要让尽可能多的数据保存在自家的机器上。最终,人们发现,GitHub提供了更多的价值。GitHub以一种更加彻底的方式让软件开发过程民主化,在这一方面,其远比SourceForge、Google Code或其他类似服务做得更好,而这是软件开发世界里人们最为看重的东西。
开发人员的乐园
推出7年后,GitHub拥有近9百万注册用户,而每月另有大约2千万未注册用户造访该网站。依据网络流量监测网站Alexa的数据,GitHub目前位列全球***的100个网站之一。对于一个通常只有开发人员才使用的网站,这是惊人的数字。“如果你查看前100名的网站,”GitHub战略副总裁布莱恩·道尔(Brian Doll)说道。“绝大多数都是社交媒体类。”
具有讽刺意味的是,伴随着GitHub的成功,开源世界反而回到了采用中央资料库的集中模式。但这一次,戴博纳和大多数开发者都对此感到满意。他们觉得采用集中制可以让协作变得更加容易。得益于GitHub独特的运作方式,集中制不会导致SourceForge面临的问题。
将所有代码保存于一处,反而让GitHub变得无处不在。上述悖论显示了开源软件之美,也体现了其对未来科技的重要性。
业界大佬的选择
如何解释上述悖论?我们需要看看Git,这是GitHub的版本控制软件。旨在更好的构筑Linux ,其创建者林纳斯·托瓦兹(Linus Torvalds)于2005年创建了Git。借助Git,人们可以在相同的Linux代码上同时开展工作,无需担心影响到其他人。
简单来说,Git让每个人都可以下载一份Linux源代码到自己的机器上并自由修改,然后上载至中央Linux资料库。这样,每个人的改动都可以无缝整合。“这就是Git厉害的地方,”戴博纳说道。“而GitHub的厉害之处是让每个人都可以理解这种运作机制。”
GitHub让所有软件项目都能像Linux项目一样工作,普通的开发人员也极易上手。现在,包括谷歌、Facebook、Twitter甚至微软在内的业界巨头都将自己的开源项目托管于GitHub之上。近来,微软陆续对旗下某些重要产品开源,他们选择了GitHub而非自家的开源站点CodePlex来托管上述代码。
据微软内部一位资深人士称,虽然存在诸多选择,但对于像Microsoft .NET这样的项目来说,GitHub是唯一适合的地方。
公私分明
得益于戴博纳口中“Git的厉害之处”,开发者社区可以与GitHub保持距离。开发者不但可以下载代码至本地,而且可以任意决定代码的公开范围。Git和GitHub同样可以用作专有软件开发的目的。开发者随时可以决定代码公开与否。
Go作为谷歌新时代编程语言,在GitHub上就处于完全公开的状态。而一个称之为Kartes的项目则处于非公开状态,但其会支持对应的公开项目Kubernetes的发展。Chrome浏览器则完全处于谷歌非公开Git服务的托管下。
在微软也是同样情形。公司内部通过Visual Studio和Team Foundation Server来使用Git,同时通过GitHub分享代码。在微软的影响下,大约20%的公司客户都在某种程度上使用Git。
时至今日,软件开发者社区的规模已不可同日而语。从GitHub在全球网站的排名也可以看出,代码正在变得与文字同等重要。
而随着项目涉及的开发者数目越来越多,GitHub也正在考虑部署新的管理工具。例如,托管在GitHub上的开源项目Angular有数万人参与其中。
目前有不计其数的免费代码正托管于GitHub上,它们最终将以更快的速度改变我们的世界。