正确的提示信息

扫码打开虎嗅APP

从思考到创造
打开APP
搜索历史
删除
完成
全部删除
热搜词
2015-03-16 14:27

古里古怪的GitHub靠什么征服了谷歌、微软、脸谱、推特……

十年前,开源软件思想尚未颠覆技术世界,开源社区依然相对小众。但开源Linux操作系统已占据在华尔街和其他地方的众多计算机上,证明了与大众分享软件源代码可以创造巨大的价值和利润。程序员们想创建新的开源项目时,通常只会将之建立在极客气息浓厚的SourceForge网站,但这个网站有时并不靠得住。


克里斯·迪波纳,这位长发飘飘的谷歌开源大师,很担心全世界的开源软件会毁在同一个篮子里。“只有一个地方,那就是SourceForge。”他说道。

0.jpg

克里斯·迪波纳


因此,像很多其他公司一样,谷歌创建了它自己的开源项目网站——谷歌代码(Google Code)。谷歌在Linux和其他开源软件的基础上建立了自己的网上帝国,为开源世界提供了SourceForge之外的又一选择,它试图确保开源精神持续发展,在网上传播这一信仰。


但是,GitHub出现了,以开源精神更快传播者的身份。


上周三,谷歌宣布:十年之久的谷歌代码即将关闭。这一决策并不让人意外。过去三年多来,谷歌已经将大约一千个项目从网站上移出。但它的官方葬礼还是值得注意的。谷歌代码已是苟延残喘,因为开源世界的主要力量如今都将代码放在GitHub上。GitHub是旧金山一家古怪的初创公司设立的同名网站,谷歌代码中撤出的上千个项目现在几乎全部在GitHub安了家。


有人争辩说谷歌开设谷歌代码有其他更自私的原因:它想要掌控权,或者说它想将尽可能多的数字资源放在自己的机器上(就像这家公司一直以来的做法)。但最终,GitHub脱颖而出,超越了SourceForge,超越了谷歌,超越了其他前辈,以一种更彻底的方式令软件开发民主化大众化,而这恰是软件开发界最有价值的硬通货。


GitHub:程序员的兴奋剂


上线仅仅7年,GitHub就网罗了几近9百万注册用户,每个月,另有大约2千万非注册用户访问它。Alexa网站排名查询结果中,GitHub位列全球百家最流行网站榜单之上。


GitHub的广受欢迎是极不平凡的,因为它基本上就是个软件开发人员专用的网站,而不是大众找寻名人八卦、宠物视频或社交闲聊的网站。


“看看最流行网站榜单,你能从上面找出一些社交网站,30个网站巨头谷歌旗下的站点,一堆媒体门户,以及GitHub。”

——布莱恩·道尔,GitHub战略副总裁。


讽刺的是,GitHub的成功正是由于开源世界的大量自由代码又重回到一个集中的资源库。不过,这一次,与绝大多数其他程序员一样,迪波纳对于所有东西都放在一个地方感到很开心。拥有一个集中的地点可以使人们更加容易地在几乎任何事情上通力合作。而由于GitHub独特的设计,“鸡蛋都放在同一个篮子里”这种事也不像SourceForge那样令人焦虑。“GitHub意义重大,但也不是说你就卡在那儿了。”迪波纳说。


将所有代码都集中存放的同时,GitHub也将之放在各处。这自相矛盾的悖论正展现了开源软件之美,也阐述了为什么它对技术的未来如此重要。


Git准备好了


该怎样解释这个悖论呢?归根结底,一切源于Git——GitHub用作基石的版本控制软件。Linux之父李纳斯·托沃兹(Linus Torvalds)为了更好地开发Linux而在2005年创建了Git。Git让人们可以在同一时间对同一版本的Linux代码进行操作,而又不相互冲突,发生越俎代庖事件。


简言之,Git可以让任何人毫无困难地下载一份Linux源代码副本到他们自己的机器上,做出修改,然后,觉得满意了就将修改的部分上传回Linux的集中代码库,而且Git可以令每个人做出的修改都无缝融合起来。“这就是Git的精髓,而GitHub的精髓是它理解了Git的精髓。”


GitHub建立了一个使其他软件项目也可以像Linux项目一样运作的网站,普通程序员都能很容易地掌握网站的使用。经历了开源革命的技术网站Slashdot主编Rob “CmdrTaco” Malda说:“GitHub真的很优雅,它是个性感摩登的接口。”


现在,几乎所有人都将自己的开源代码项目放在GitHub上,包括谷歌、脸谱、推特,甚至微软这个开源软件界曾经非常讨厌的家伙。最近几个月,微软开放了某些它最重要的源代码,放在GitHub上而不是使用它自己的开源网站CodePlex。


S. “Soma” Somasegar,微软开发工具事业部全球资深副总裁,为软件开发者们照管着微软庞大的开发工具集的人。他表示,CodePlex将继续运营,其他资源库,如SourceForge和BitBucket,也将继续经营下去。“我们想确保它一直在那里,提供一种选择。”但他也承认,GitHub是放置像Microsoft .NET这样的项目的唯一选择。“我们想在开发者的地盘上与他们交流。而开源社区,很大程度上,在GitHub。”


私有遇见公开


而且,多亏了迪波纳所谓的“Git的精髓”,开源社区同样可以脱离GitHub行动。由于Git,程序员们不仅可以在从事某个特定项目时把代码移动到自己的机器上,还能很容易地“分支”代码,创建新的独立的项目。他们可以保持部分代码私密,而在GitHub上公开其他部分,或者干脆全部公开。


Git和GitHub,显而易见,不仅仅是开源软件专属物,他们也能用于私有代码。你可以随意将私有代码公开,也可以再私有回来;你可以单干,也可以借助大家的力量,这就是开源的精髓。


谷歌灵活运用了Git各种特性,它的划时代编程语言Go语言就放置在GitHub上,而且是完全公开的。一个叫Kartes的项目位于GitHub的一个私有库中,但后来被用于公开项目Kubernetes,Chrome浏览器则建在谷歌内部的一个私有Git服务上。


在微软,运作模式几乎完全一样。微软内部通过像Visual Studio和Team Foundation Server这样的工具使用Git。但它也在GitHub上公开分享代码。而且通过为全球用户提供像Visual Studio和Team Foundation Server这样的工具,微软实际上也是将Git推向其他领域的一员。Somasegar估测大约有20%的微软客户现在正不同程度地使用Git。


开发者即人民


况且,软件开发人员社区也不再微小。毫不夸张地说,他们就是驱动世界的人。道尔说,GitHub位列百佳,”这告诉了我,软件已经变得像文字一样重要了。”


谷歌工程师,帮忙监管开源Angular项目的Igor Minar称,开发者社区已成长得太过庞大,以致GitHub如今疲于应付为大型项目提供合适的管理工具。Angular是存于GitHub上的一个大型项目,参与人员高达上万人。


开发者遍布世界各地。他们中太多人上GitHub,为上千万的开源项目做贡献。Minar认为GitHub就像一个义卖集市,你可以在里面找到任何想要的代码,而且大多是免费的。“如果你需要什么东西,就去GitHub。你能在那儿找到想要的。“总之,开源时代拉开大幕。而最终,这意味着我们可以比以前快得多地建设、塑造和改善我们的世界。”

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系 hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
打开虎嗅APP,查看全文
频道:

支持一下

赞赏

0人已赞赏

大 家 都 在 看

大 家 都 在 搜

好的内容,值得赞赏

您的赞赏金额会直接进入作者的虎嗅账号

    自定义
    支付: