2009,代码开始在广场上生长
原创 · 约 10 分钟阅读 · 阅读 --

2009,代码开始在广场上生长

作者: 字与码


古董级程序员,大厂出来后一直在创业公司,现在仍活跃在一线做 AI 相关的开发。这个专栏会慢慢写从 1990 年代到今天的 IT 变化,也会夹带一些自己的旧事。更完整的更新写在微信公众号「字与码」,若觉得这些回忆和观察对你有用,欢迎顺手关注。

2008 年写的是手机平台。到了 2009 年,另一个变化开始变得清楚:协作方式变了。

GitHub 是 2008 年上线的,但很多人的真正感知是在随后几年逐渐建立起来的。它不是第一个代码托管网站,也不是第一个版本控制工具。SourceForge、Google Code、SVN、CVS、邮件列表、Bugzilla,这些东西都在它之前存在。

GitHub 特别的地方在于,它把代码协作变成了一种更轻、更可见、更容易参与的日常行为。

以前参与开源,门槛不低

早年的开源协作很有江湖气。

你要知道项目在哪里,要订阅邮件列表,要读冗长的讨论,要按项目习惯生成 patch,要理解 maintainer 的脾气,还要在不同工具之间切换。很多项目当然很专业,但对新参与者并不友好。

这种方式适合强技术共同体,却不适合大规模吸纳普通开发者。

Git 和 GitHub 的组合改变了很多东西。fork、branch、commit、pull request、issue、review,把原本分散在邮件、补丁、代码仓库、项目主页里的动作,放到了一套连续的界面里。

更重要的是,协作变得可见。

谁改了代码,谁提了问题,谁参与讨论,谁维护项目,谁持续贡献,都可以被看见。代码不再只是压缩包、补丁和版本号,它变成了带有历史、关系和声誉的公共对象。

开源协作流

这对程序员的职业身份也有影响。以前你说自己会什么,更多靠简历和面试;后来一个人的公开代码、issue 讨论、项目维护记录,也会成为能力的一部分。

开源从“理想”走向“基础设施”

我在 Linux 公司工作多年,当然不陌生开源。

早些年谈开源,经常会谈许可证、自由软件、商业发行版、社区伦理、Linux 桌面、国产操作系统。那些讨论很重要,但 2009 年前后,我越来越感觉开源正在发生另一种变化:它不再只是某个阵营的主张,而是软件工业的基础设施。

开发语言、框架、数据库、构建工具、测试工具、部署工具、监控系统,越来越多关键组件来自开源。公司可以不开源自己的业务代码,但很难不用开源组件。

开源也不再只靠少数理想主义者维持。大公司、创业公司、个人开发者、研究机构、云厂商,都开始在里面有自己的位置。

这当然带来新的矛盾。开源项目谁维护,安全漏洞谁负责,云厂商拿走多少价值,社区和商业公司怎么分工,这些问题后来会越来越尖锐。但从工程效率看,开源已经不可能被绕开。

微博出现,信息也进了广场

2009 年还有一件事,后来和我的职业路径关系很深:新浪微博上线。

当时大家会把微博理解成中文 Twitter,可它后来的形态并不只是 Twitter 的复制品。它有媒体属性、名人属性、热点属性,也有公共讨论和社交关系。对中文互联网来说,微博把信息传播的速度和结构都改变了。

这件事和 GitHub 表面上没有关系,但放在一起看很有意思。

GitHub 让代码协作变成可见的网络;微博让信息传播变成可见的网络。一个改变程序员协作,一个改变公众信息流。它们都说明,互联网不只是把内容搬到线上,而是在重塑人和人之间的连接方式。

几年后我会进入微博,参与大数据平台和后来的微博头条。这时回头看 2009 年,就像看到一条轨道的起点。当时当然不知道自己会去那里,只是看到一个新产品在快速生长。

Linux 公司阶段接近尾声

2009 年前后,我在 Linux 公司的这段经历也逐渐接近尾声。

这些年我从脚本语言、Web、文件系统、同步、快照、C++ 框架、GTK 管理软件,一路写到集群管理。也看过 Linux 发行版的热闹,看过自由软件和商业公司的张力,看过系统软件公司在市场和政治边界里的不自由。

这些经历很重要,但行业的重心正在变化。

互联网公司开始需要大量系统能力:搜索、广告、推荐、分布式存储、数据平台、高并发服务、日志分析、监控报警。系统软件工程师不一定只属于操作系统公司,也可以进入互联网基础设施。

下一年,我会进入百度。对我来说,那不是简单换一家公司,而是从系统软件江湖进入互联网大厂现场。

2009 年 IT 大事记

  • GitHub 走进更多开发者视野。 GitHub 在 2008 年上线,2009 年前后开始被越来越多开发者认识。代码托管、项目主页和协作讨论被放到同一个可见空间里。
  • Pull Request 工作流成形。 Git、fork、pull request、issue 和 review 组合成新的日常协作流程。开源贡献不再只是邮件列表和补丁文件,也成为可浏览、可讨论、可积累声誉的公共活动。
  • 新浪微博上线。 2009 年 8 月,新浪微博上线。中文互联网的信息传播从论坛、博客和门户,进一步走向实时信息流、名人账号和公共讨论。
  • B 站前身上线。 2009 年,B 站前身网站上线,2010 年正式命名为 bilibili。它后来从二次元视频社区成长为年轻内容平台,说明中文互联网的社区文化不只存在于门户和微博里。
  • 开源成为工业基础设施。 开源从理想、社区和发行版叙事,进一步变成整个软件工业的基础设施。语言、框架、数据库、构建工具和监控系统都开始更多依赖开源生态。
  • 互联网基础设施吸纳系统工程能力。 搜索、广告、推荐、分布式存储、日志分析和监控报警快速增长,系统软件工程经验开始流向互联网基础设施团队。

参考资料