目前,GitHub更可以说创建了一个社交网络,在那里程序员们在 没有老板、电子邮件或者会议的情况下就把事情给完成了。但GitHub正在朝着虚拟创新中心而不仅仅是代码共享社区的方向高速发展,现在 GitHub 已经面向设计师推出了图形设计方面的功能。有些记者、学者甚至连白宫都开始尝试在 GitHub 上进行写文章、做研究以及制定政策文档方面的协作试验。 每一座城市都梦想着成为下一个技术中心,成为未来初创企业的摇篮。从指标上来看,旧金山的初创企业 GitHub 似乎具备了下一个庞大社交网络的所有印记。现有 360 万的用户群仍在快速发展,去年融资 1 亿美元之后,GitHub 的价值已达 7.5 亿美元,至少纸面上如此。 但是 GitHub 并非社交场所,也不是分享照片的地方。它是一个网站,一个软件开发者存储、分享以及更新个人编程项目的地方。GitHub CEO Tom Preston-Werner 指出,GitHub 这个社交网络的特别之处在于,它是围绕着创造有价值的东西而建设的。 这种实用性和社交性的结合让 GitHub 成为软件创新的中心。全球各地的人(78% 在美国以外)都到这里来测试和修整自己的应用创意(移动或 Web 服务器软件)。 GitHub 的指导原则是打破一切影响到任何人对他人项目做贡献的壁垒。这里没有电子邮件,没有传统的管理。在这里要想参与某件事情不需要别人的允许。 成立于 2008 年的 GitHub 现在已经实现盈利,每天新增用户达 1 万名。其最新的商业模式是向公司出租一个版本的 GitHub 供其内部使用。Marissa Mayer 去年曾在担任 Yahoo CEO 后发布的第一份的面向全公司的备忘录中提到,要将 GitHub 作为纠正 Yahoo 令人窒息的官僚主义的手段之一。 GitHub 最重要的特性是 pull request。通过它,一个人可以对别人项目的代码提出修改建议,项目所有人可以很方便地看到这些修改意见并进行审核。如果审核通过,只需一个鼠标点击 即可将其合并到项目中,或者对这些修改意见发起讨论。如果某人的 pull request 未获通过也没关系,他可以“fork” 这个项目,在 GitHub 上创建出一个并行的版本来将自己的创意放进去。 旧金山的办公室是 GitHub 在现实世界唯一的物理位置,里面容纳了 176 名员工的 1/3(其余的则是在家或咖啡厅、或租办公桌办公)。公司的人均没有固定的工作时间,有些人睡到中午才起床,有些则工作到深夜。有的则日出而作,下午 3 点收工。全公司只有 Preston-Werner 拥有一个固定 CEO 头衔。其他人的身份则是经常变换,“坏蛋捕手”、“开放巫师”,各种各样的头衔都有。 GitHub 在开源软件开发中扮演者重要角色,同时公司也用它来维护和扩张自己的服务。尽管 Preston-Werner 会设定此类项目的总体目标,但是却不管实施细节,全部交由员工处理。GitHub 的员工团队随公司需求变化而组建、发展、缩编乃至解散,然后大家再去找新的事情干。可以说在GitHub上,开源软件实现了相当大的价值,并逐渐形成了一种专属于GitHub的独特的开源文化。 那么,GitHub塑造了怎样的新式开源文化?看看十几年的开源控、Getable 的 CTO Mikeal Rogers 是怎么说的吧:GitHub 本来想做一个开源软件协作平台,结果做着做着就成了一个兼容并包、不仅仅是照顾程序员的平台。现在,这个平台也成了各类艺术家、建筑生产商、各大公司、甚至各大城市使用的平台。 例如,芝加哥前阵子就把该市的街道路线、建筑面积、自行车道路线、步行街路线和自行车车架位置数据集发布在 Github, 并邀请大众帮助改进数据精度,修改数据。另外,有些人则将家装项目放到了 GitHub 上,有家律师事务所也在前几天宣布,他们会将早期创业公司的融资相关法律文件全放到上面——而在去年,另有一个神人甚至将整个德国的法律全搬到了GitHub上。当然了,GitHub现在依然是那些用Node.js做AR无人机、或者是用jQuery做网站的程序员光顾的地方。 大部分人听到开源的第一反应是“民主、分散、和平等”,想到所有人一起做东西,做出来给所有人用。但实际情况并非如此。大部分的开源软件都是由那些享有一定特权的一小撮人创建并维护的——即专业的开发人员,而这些人又只会跟同个圈子、同个水平的一帮人互动(后者与前者尽管很像,但又足够不同到可持相异观点供双方争论)。 在GitHub 出来以前,你可能会花很多时间去思考、讨论如何最好地管理开源项目,因为这类项目的协同成本太高了。这个成本高到什么程度呢?当一个项目做得不错,又发展成一 个规模不小的社区时,我们发现,最好的办法是让项目继续庞大臃肿下去,而不是拆分成规模更小的项目。但这里面就会有这样一个问题,项目变得越大越复杂,个 体就越难对其作出贡献。所以就不得不有特定的一群会员,或者说所谓的“委员会成员”,被任命专门管理和生产项目,这也经常导致项目实际的消费人群和项目创 作者之间的信息裂缝和信息断层。 但GitHub的“去中心化”开源模式则让这种裂缝渐渐弥合,让开源不再聚焦“项目”本身,而是越发彰显个体特色。此话怎讲?GitHub上的整个工作流程设计相当个人化。每个 GitHub 用户都有一个自己的账号,而他们发布的所有资料都会隶属于这个层级以下。假如某些人需要对某个项目做出修复,他们只要“fork”(将项目分叉),即在自 己的名下拷贝一个原项目的副本,进行相应的加工即可。 这种工作流程是非常强大的:因为它鼓励了个体用户去对一个他人已创建的项目做修修补补,而他们对该项目的所有权和控制权丝毫不亚于一个由自己最先创建的项目。在这种新式的开源文化下,所有用户都能拥有自己的身份和定位。而 GitHub 实际上也已经成为互联网上协作式内容生产(peer-based production)最大的身份提供商,不仅仅是在代码方面。 不能做到“傻瓜易用”(fit and finish)一直是开源软件的一个问题。这类软件的说明文档和网页设计通常都是乱糟糟的,产品的可用性也很差——尤其是跟很多专有的同类产品相比。 但现在,因为贡献门槛的逐步降低,那些对技术不那么在行的用户就可将上述的几个方面逐渐优化,以方便自己对这类软件的使用。而这就意味着那些原本 诡异的报错消息现在变得越来越像人话,单行的 CSS(风格样式表,用于网页风格设计)也在这些人的修改之后可允许网页在一些更老的浏览器和手机上渲染。 所以说,在新的开源文化下,人们希望自己不用成为技术专家就可方便地使用技术,“易用性”获得了全所未有的关注和重视。 总结下来就是,GitHub让新一代的年轻人更方便地协作、创造和生产。很多开发者可能会因为过去那种正规开源文化——比如说“委员会圈子”、在那纠结使用哪种授权模式——的消弭而大唱挽歌——但开源的未来已经掌握在那群无所顾忌、大步向前的新一代人手中。从这个角度来说,GitHub 不仅仅是一个工具,它在创造一种全新的文化。 而随着开源思想和开源软件在GitHub上的流行,开源许可也成为GitHub上议论最多的话题。在自由软件和开源软件的青铜时代,copyleft许可证授权模式占据绝对的主导地位。但是近些年来,一些高度开放的许可证授权方式如BSD和MIT的势头正在上升。正如软件自由法律中心高级职员顾问Aaron Williamson在今年的LInux协作峰会上所说的,GitHub上的绝大多数项目都没有附加任何许可证条款。众所周知,GitHub是当今开源软 件的集散地,但是其中只有14.9%的代码库(169万中的21.9万)在顶级目录中包含了许可证授权条款。 换而言之,GitHub上的大多数代码即不是开源软件,也不是私有软件,或者别的什么软件,它们仅仅是代码而已。新一代开发者就像论坛发帖一样在GitHub上传代码,对于这些开发者来说,授权许可和管理都是马后炮,代码才是一切。至于原因,Gartner和Forrester两大市场分析机构的研究结论达成了一致:因为开发者需要灵活性。更少的授权许可要求意味着更多的灵活性。 |