我与 IT 这三十年:2009,代码开始在广场上生长

发布时间:2026/9/25 7:06:11

我与 IT 这三十年:2009,代码开始在广场上生长
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。它后来从二次元视频社区成长为年轻内容平台说明中文互联网的社区文化不只存在于门户和微博里。开源成为工业基础设施。开源从理想、社区和发行版叙事进一步变成整个软件工业的基础设施。语言、框架、数据库、构建工具和监控系统都开始更多依赖开源生态。互联网基础设施吸纳系统工程能力。搜索、广告、推荐、分布式存储、日志分析和监控报警快速增长系统软件工程经验开始流向互联网基础设施团队。参考资料GitHub DocsAbout GitHub and GitGitHub BlogA brief history of GitHubWeibo Corporation SEC Form F-1Company history and Weibo backgroundBilibili Inc. SEC Form F-1Company history

相关新闻

如何快速掌握Switch大气层系统:从安装到高级配置的完整教程

如何快速掌握Switch大气层系统:从安装到高级配置的完整教程

2026/8/23 12:54:55

如何快速掌握Switch大气层系统:从安装到高级配置的完整教程 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 大气层系统(Atmosphere)是任天堂Switch上最强…

3分钟掌握Locale-Emulator:让日文游戏告别乱码的终极指南

3分钟掌握Locale-Emulator:让日文游戏告别乱码的终极指南

2026/8/23 12:54:55

3分钟掌握Locale-Emulator:让日文游戏告别乱码的终极指南 【免费下载链接】Locale-Emulator Yet Another System Region and Language Simulator 项目地址: https://gitcode.com/gh_mirrors/lo/Locale-Emulator 你是否遇到过打开日文游戏时,屏幕上…

如何快速掌握AI投资分析:零基础实战指南

如何快速掌握AI投资分析:零基础实战指南

2026/8/23 12:54:55

如何快速掌握AI投资分析:零基础实战指南 你是否每天花费数小时盯盘、查阅财经新闻、分析技术指标,却依然难以把握市场节奏?面对海量信息,普通投资者往往感到无所适从,专业分析工具又门槛高、成本贵。daily_stock_anal…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/23 22:20:06

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/23 14:32:22

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/24 3:39:17

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/23 14:31:31

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/24 7:10:52

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/23 14:34:03

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/24 16:02:49

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/21 23:38:13

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/25 4:22:14

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…