网易首页 > 网易号 > 正文 申请入驻

他只想在乡村安静地写代码,却一不小心改变了全球程序员的命运!

0
分享至

0 1

天才程序员

1993年,开发著名软件Cygwin的公司Cygnus Solutions招募了一名天才程序员吉姆·金登 (Jim Kingdon)。

但是吉姆并不想搬到Cygnus所在硅谷,他想住在弗吉尼亚州一个乡村的公社(commune )里。

Cygnus公司很重视人才,他们专门为吉姆·金登一个人拉了一条帧中继线(这在当时价格可不低),让他可以远程工作。

问题是Cygnus使用CVS来管理源代码,CVS是荷兰阿姆斯特丹自由大学讲师Dick Grune在80年代开发的一个程序,当时只能在单机使用。

(Dick Grune)

用户需要从代码仓库中checkout代码副本,存放在自己的home目录,修改后commit回代码仓库。

所以住在乡村的吉姆·金登虽然有了网络,但是还无法远程登录CVS,在家工作。

这根本难不住吉姆这样的天才黑客:让CVS支持网络不就行了吗?

说干就干,他拿到CVS的源码,研究了一番,把CVS拆分成了客户端和服务器两个部分。

1993年的网络非常缓慢,吉姆·金登一不做二不休,干脆设计了一个全新的、高效的通信协议,极大地减少了网络往返次数,降低了延迟。

服务器暴露在互联网上,必然要考虑安全问题,Jim Kindon于是又增加了Kerberos 认证。

一套组合拳让CVS脱胎换骨,成了当时非常先进的软件,大大超越了同时代的许多工具。

Cygnus 是一家扎根于黑客文化的公司,也很乐意看到吉姆·金登对CVS做出这样的修改。

现在,吉姆·金登可以愉快地远程工作了,从湾区的 CVS 存储库中取出代码,将其checkout弗吉尼亚自己的计算机上,随心所欲地进行开发,并在完成后将其commit回去。

0 2

1990s:CVS黄金时代

照理说,开发了这么一个革命性的软件,又遇上了开源的浪潮,全球的开发者都是潜在的用户,吉姆·金登完全可以成立一个公司,提供技术支持和咨询服务,弄不好就走上人生巅峰了。

但吉姆·金登魔改CVS,只是为了方便自己工作,只想在公司内部使用,根本没有想到对外公开!

不仅如此,在解决了自己的问题以后,他就把注意力转到了别的方面,从黑客界消失了。

这时候第二个吉姆出现了,吉姆·布兰迪(Jim Blandy)是吉姆·金登的大学室友,他和朋友进行远程协作时也遇到了类似的问题,只能通过电子邮件来发代码补丁,极其麻烦。

这时候他听说了被魔改的网络版CVS,大喜过望,马上给吉姆·金登写信,希望能使用魔改版。

吉姆·金登当然同意分享代码,但有一个条件:不能问他问题!

因为他对维护开源软件的各种琐事没有兴趣,也不想处理用户的支持请求。

吉姆·布兰迪就想,这么有用的软件,没人做技术支持,多可惜啊!

看到商机的吉姆和朋友干脆成立了一家叫做Cyclic Software的公司,专门提供网络版CVS(被大家称为Cyclic CVS)的技术支持和咨询服务。

开源、免费、跨平台的Cyclic CVS彻底改变了开源协作方式,GNU项目、FreeBSD、Apache HTTP Server、KDE、GNOME、Mozilla、Perl、Python等著名开源项目纷纷采用CVS保存自己的代码库。

当时最大的开源平台SourceForge也在用CVS,CVS成了开源世界的标准。

0 3

2000s:SVN成功接棒

虽然Cyclic CVS风靡全球,解决了开源世界的协作的难题,但是它最初的设计缺陷也让用户抱怨连连:

1.缺乏原子提交

在 CVS 中,每个文件的更改是独立提交的,多个文件的变更没有任何关联。

A 和 B 文件属于同一次修改,但由于并非原子提交,可能 A 提交成功,而 B 失败,导致代码库处于不完整状态。

2.update 操作时非常低效

CVS 并不存储整个项目的完整快照,而是对每个文件单独管理版本,如果代码库有 10,000 个文件,但只有 3 个文件被修改,CVS 仍然需要通过网络检查全部 10,000 个文件,造成巨大的性能浪费。

3.创建分支非常困难。

CVS 创建分支时,实际上是为每个文件的历史记录打上一个分支标记,当代码库包含数十万文件,非常耗时。

在整个90年代,CVS没有好的免费开源替代品,大家还是不得不使用。

每天都在使用CVS的吉姆·布兰迪一直在构思,怎么重新设计一下CVS,彻底解决这些问题。

新系统的名称他都想好了,叫Subversion。

正好,一个叫做CollabNet的公司也受不了CVS了,掏钱资助吉姆·布兰迪等5个人把Subversion给开发出来。

当时吉姆已经在红帽公司工作,红帽也非常慷慨:你去吧,什么时候把Subversion开发出来再回来!

开发工作于2000年2月启动,5人目标明确,配合默契,按模块分工,每个人专注于自己的部分,吉姆主要负责 服务器端,而其他人分别负责命令行工具、工作目录库等部分。

一开始他们还使用CVS来管理Subversion的源码,一年以后,Subversion的主要功能已经完成,可以开始“吃自己的狗粮”,用Subversion来管理Subversion。

Subversion彻底解决了CVS的问题,实现了原子提交,迅速地创建分支等功能。

大家看到更好用的Subversion,纷纷抛弃CVS,上了Subversion的大船。

SubVersion成为了21世纪头10年最主流的版本控制系统。

0 4

2010s:Git称王

就在Subversion如日中天的时候,2005年,Linux社区发生了一件大事!

由于有人对BitKeeper做逆向工程,BitKeeper停止向Linux社区提供免费版本。

Linus只好暂停了Linux的开发,卷起袖子自己开发了一个版本管理软件:Git。

和Subversion相比,BitKeeper和Git代表了另外一个重要的方向:分布式版本管理。

每个人都有一个本地的代码仓库,可以在本地随意折腾,即使没有网络也具备完整的版本管理的能力。本地开发结束后后向服务器端的代码仓库提交就行。

这种方式更加符合开源软件的全球化协作,所以Git开始走出Linux开发社区,慢慢地蚕食Subversion的市场。

2008年,GitHub成立,不但给Git 用户提供了便捷的代码托管服务和丰富的协作功能(Pull Request,Issues),还让程序员可以关注自己感兴趣的用户和项目,成为程序员社交的重要平台。

短短的两三年时间内,GitHub吸引了Ruby on Rails,jQuery,Node.js,Bootstrap、Redis、Python、Puppet、Chef、Elasticsearch等一大批著名项目入驻。

到了2015年,Git 成为程序员最常用的版本控制工具,占据绝对主导地位。

SVN 的市场份额逐渐缩小,成为少数遗留项目/特殊项目的选择。

就连Subversion的作者吉姆也开始奉劝别人:别用使用SVN了,它已经过时了......

从CVS到SVN再到Git,20年间代码版本管理工具迭代了三次。

如今Git是全球霸主,被大家使用得多了,它的痛点问题也在慢慢暴露。

颠覆它的工具可能正在酝酿之中,也许某一天,Linus也会说:别用Git了,它已经过时了......

全文完,觉得不错的话点个赞或者在看吧!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
人社部:职称评审将重大调整!!

人社部:职称评审将重大调整!!

新浪财经
2026-03-25 21:42:36
留几手谈张雪峰去世:死者又不是我爹,凭啥为大

留几手谈张雪峰去世:死者又不是我爹,凭啥为大

三言科技
2026-03-25 19:03:05
台独大金主身中29枪暴毙

台独大金主身中29枪暴毙

雪中风车
2026-03-24 20:19:46
张雪峰的病,速效救心丸能救吗?

张雪峰的病,速效救心丸能救吗?

中国新闻周刊
2026-03-25 16:23:30
张雪峰6年前已离婚,独女张姩菡只能分16.5%遗产,现任妻子占大头

张雪峰6年前已离婚,独女张姩菡只能分16.5%遗产,现任妻子占大头

枫红染山径
2026-03-25 16:56:22
中国买了欧洲1000亿人民币的飞机:东航向空客购买101架A320

中国买了欧洲1000亿人民币的飞机:东航向空客购买101架A320

观察者网
2026-03-25 18:00:06
日本士兵闯入中国使馆,意图刺杀中国大使。高市:降级中日关系

日本士兵闯入中国使馆,意图刺杀中国大使。高市:降级中日关系

清欢百味
2026-03-25 06:26:23
两省省委领导班子调整

两省省委领导班子调整

上观新闻
2026-03-25 15:07:07
美容院老板娘大实话:55岁后脸再光也没用,脱了衣服见真章!

美容院老板娘大实话:55岁后脸再光也没用,脱了衣服见真章!

距离距离
2026-03-25 16:53:55
美国15条,自己和自己签的战败投降书!

美国15条,自己和自己签的战败投降书!

胜研集
2026-03-25 14:36:53
“重大转变”!外媒:特朗普改变立场,将接受民主党提议重启美国土安全部部分部门

“重大转变”!外媒:特朗普改变立场,将接受民主党提议重启美国土安全部部分部门

环球网资讯
2026-03-25 23:13:02
退役体操冠军,直播“擦边”之后

退役体操冠军,直播“擦边”之后

中国新闻周刊
2026-03-25 21:34:08
想拿中国尿素救春耕?先把欠中企的百亿欠款还了!否则一粒不售

想拿中国尿素救春耕?先把欠中企的百亿欠款还了!否则一粒不售

王二哥老搞笑
2026-03-25 16:44:29
“报仇不隔夜!”72名以议员直接绕开中国大陆支持台湾入国际组织

“报仇不隔夜!”72名以议员直接绕开中国大陆支持台湾入国际组织

安安说
2026-03-25 11:03:58
伊朗做出重大战略调整!霍尔木兹海峡通航!全球股市将迎纠错行情

伊朗做出重大战略调整!霍尔木兹海峡通航!全球股市将迎纠错行情

有范又有料
2026-03-25 18:19:02
可能出大事了,四名军工系统院士被除名,释放的信号让人不敢细想

可能出大事了,四名军工系统院士被除名,释放的信号让人不敢细想

张嘴说财经
2026-03-25 23:07:05
4-3爆冷!中国队双杀亚洲劲旅,比5连胜更惊喜的,又出现一个李昊

4-3爆冷!中国队双杀亚洲劲旅,比5连胜更惊喜的,又出现一个李昊

侃球熊弟
2026-03-26 00:35:10
坚决反对中国任何城市申办奥运会,国际奥委会这次怕是真失算了

坚决反对中国任何城市申办奥运会,国际奥委会这次怕是真失算了

南权先生
2026-03-25 15:25:11
3月25日俄乌最新:最惨烈的一天

3月25日俄乌最新:最惨烈的一天

西楼饮月
2026-03-25 20:43:34
国产笔记本CPU偷梁换柱翻车!官方终于回应:生产失误、全额退款

国产笔记本CPU偷梁换柱翻车!官方终于回应:生产失误、全额退款

快科技
2026-03-25 10:14:04
2026-03-26 04:12:49
Java精选
Java精选
一场永远也演不完的戏
1779文章数 3859关注度
往期回顾 全部

科技要闻

红极一时却草草收场,Sora宣布正式关停

头条要闻

伊朗:正在搜捕逃亡美军

头条要闻

伊朗:正在搜捕逃亡美军

体育要闻

35岁替补门将,凭什么入选英格兰队?

娱乐要闻

张雪峰遗产分割复杂!是否立遗嘱成关键

财经要闻

管涛:中东局势如何影响人民币汇率走势?

汽车要闻

智己LS8放大招 30万内8系旗舰+全线控底盘秀实力

态度原创

游戏
健康
旅游
艺术
公开课

PS6升级动力遭质疑!玩家或当“PS5钉子户”

转头就晕的耳石症,能开车上班吗?

旅游要闻

“女王驾到” 上海温室花园高山杜鹃展开幕,中外游客打卡点赞,Beautiful!Amazing!Fantastic!

艺术要闻

张雪峰走了,他公司所在的这栋楼高177.8米,耗资超10亿!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版