“去中心化”催生的民主 GitHub 的第一版在一件事情上做得很好:他们让个体发布代码——而非雪藏代码——变得比过去简单很多。这也使得很多很有影响力的项目,比如说 Ruby on Rails 的项目,可以很快地迁移到 GitHub 上来。 但接下来发生的事情实际更有趣:人们开始在 GitHub 上发布除代码以外的其他东西,几乎无所不包……不夸张地说,在 GitHub 上推代码就变得跟发微博一样简单。通过降低用户的进入成本、并让用户在开源项目中更方便地展开协作、贡献力量,GitHub 将“协作式生产”(peer production)的范围扩大到普通用户。 所以,GitHub 式的开源文化降低了所有人的“创造门槛”——今天,对于那些富有创造力但又不具备深度技术知识的人来说,他们可以使用各类简单又易于理解的软件实现创意。而在过去,他们必须、而且只能具备深度的技术知识以参与到大型开源项目中。 而平台上发起者、贡献者和消费者这三类身份的日益弥合也使得那些更轻巧、更易懂的项目逐渐获得更高的关注度——也催生了一批长尾的内容贡献。 这种开源软件“业余化、平民化”的趋势也有明显的好处,如下: 1. 让软件变得更易用 不能做到“傻瓜易用”(fit and finish)一直是开源软件的一个问题。这类软件的说明文档和网页设计通常都是乱糟糟的,产品的可用性也很差——尤其是跟很多专有的同类产品相比。 但现在,因为贡献门槛的逐步降低,那些对技术不那么在行的用户就可将上述的几个方面逐渐优化,以方便自己对这类软件的使用。而这就意味着那些原本 诡异的报错消息现在变得越来越像人话,单行的 CSS(风格样式表,用于网页风格设计)也在这些人的修改之后可允许网页在一些更老的浏览器和手机上渲染。 所以说,在新的开源文化下,人们希望自己不用成为技术专家就可方便地使用技术,“易用性”获得了全所未有的关注和重视。 ![]() 2. 规避过度“工程化” 工程师们往往乐于接受挑战,要是能给他们更多的机会解决问题,他们就越有可能想到聪明的解决方案——假如这类解决方案的终端消费者跟这些工程师一样,对技术有很好的理解,又会像他们一样因为有更聪明的方法解决老问题而激动不已,那一切都没问题。 但问题是,业余爱好者只喜欢那些在他们眼中理所当然、显而易见的解决方案,一旦某个问题已经得到解决,他们就很少会回过头去重新审视这个问题。因为业余爱好者只会利用那些最显而易见的坚决方案做东西,这就迫使开发人员不得不去寻找简单而接地气的解决方案来解决难题。 3. 支持一个更大的生态系统 以我自己频繁使用的 Node.js 为例,这种编程语言定义了足够简单的样式(patterns),使得人人都可以编写独立的小型函数库,并按自己的意愿发布。在这个生态系统中,每个人都可 以独立享受当中的价值,无需协作。这就跟一些大型、垂直、拥有大量工具和功能、需要在特定环境下使用(比如说 Cocoa 和 iOS)的栈(比如像 ember, Dojo,YUI 这样的集成的插件系统)形成了鲜明对比。 但在开源环境下,比如说 GitHub 上的 Node.js,我们就可以看到一些更小的 API 空间轻松使用该生态系统中的其他资源,避开协调(比如用 jQuery 或 node 的标准回调模式来回调 API)。开发者与开发者、库与库之间的协调越少,就越利于我们创造价值。 总结下来就是,GitHub 让新一代的年轻人更方便地协作、创造和生产。很多开发者可能会因为过去那种正规开源文化——比如说“委员会圈子”、在那纠结使用哪种授权模式——的消弭而大唱挽歌——但开源的未来已经掌握在那群无所顾忌、大步向前的新一代人手中。 从这个角度来说,GitHub 不仅仅是一个工具,它在创造一种全新的文化。 |