2012年9月6日,百姓网的第一批项目开源发布。其中包括前端的模版语言Jedi(Hax的作品)和后端的数据访问层Baixing Graph API(小排作品)。这次发布是小范围的,仅仅是第一个尝试,以后每隔一段时间我们会把做出来的东西拿出来和大家分享。
为什么要开源?在中国的互联网环境中这么做是不是太另类了点?
1. 署名原则
在写这篇文章的时候,我在考虑开源的事情。
我希望百姓网的工程师的作品是署名的,而且向公众发布的,这样一个优秀的程序员的作品可以被更多的人看到和使用。
2. 发现组织的错误
我并不担心因此我们最好的程序员会流失,因为如果这件事情发生,仅仅是因为这里已经不是一个最好的工作场所了,不是生产效率最高的环境,周围已经不是自己最欣赏的人了。如果这些条件发生,把hacker保护起来不被外界知晓仅仅是皇帝的新装。我宁肯暴露这里的不好,并且努力做到业界最好。因为死,仅仅会因为自己做得不够好而死,而不是暴露了不够好而死(暴露只是加速了死亡)。赵赵分享了一个关于错误的TED视频。Kathryn问大家犯错的感觉。大家说“有压力”,“难堪”,但她指出,这仅仅是意识到自己犯错的感觉,而真正放错的感觉,就是“我做得很对”。我希望如果我们有任何做得不好的地方,让我感觉到那种知道犯错的感觉。
3. 提高质量
如果知道代码会被所有人看到,我们每个人会写更好的代码。让我们面对它吧,即使开源也不会有多少人真的关心的,但这种可能性让自己有更高的标准。当每个人的工作都考虑到开源的话,代码很自然的模块化了,很自然的需要思考和别人的模块的交互。
4. 找到最好的人
很快百姓网的技术人员面试会完全转移到GitHub上面去,如果希望加入我们的团队,只需要找到任何可以改进的地方然后发Pull Request过来就好了。我希望当我们见面的时候,双方都已经非常确认了。如果未来的百姓网有任何的功能你不喜欢,如果你又是一个Hacker,直接撸起袖子写程序就好。怎么让这么多人的程序有一种办法(除了苹果那种审核以外的做法)可以共存呢?恩。好问题,等着你来解决。
总之,我们持续的寻找全球范围内最高效率的工作方法。开源是不是最高效率的方式我们还在探索,但这个追求是恒定的,不变的;而对效率的追求就是这家技术公司的灵魂。