BitKeeper、Linux与许可争议:Linus如何在14天内编写Git

💡 原文英文,约3300词,阅读约需12分钟。
📝

内容提要

2005年4月,Linus发布了Linux内核的最后一个非Git版本,标志着版本控制工具的转变。Linus最初依赖手动管理补丁,后来使用BitKeeper,但因其限制引发争议。最终,他开发了Git,以满足Linux内核的需求,推动了开源版本控制的革新。Git的创建源于对性能的追求和对现有工具的不满,成为现代开发的重要工具。

🎯

关键要点

  • 2005年4月3日,Linus发布了Linux内核的最后一个非Git版本,标志着版本控制工具的转变。

  • 在使用BitKeeper之前,Linus手动管理补丁,依赖于开发者提交的tarball和补丁。

  • Linus对CVS的批评主要集中在其集中式的特性上,认为每个开发者应该有自己的独立代码库。

  • BitKeeper的设计与CVS截然不同,允许每个人都有自己的代码库,并通过“超级补丁”进行更改。

  • Linus对BitKeeper的使用引发了争议,尤其是其限制性许可证引起了开源社区的不满。

  • 2005年,因BitKeeper许可证的冲突,Linus决定寻找替代工具,最终促成了Git的开发。

  • Linus在两周内开发了Git,最初的目标是恢复补丁流的处理,而不是创建一个完整的版本控制系统。

  • Git的设计强调性能和效率,Linus希望它能够支持Linux内核的庞大历史和提交量。

  • Git的创建是为了打破未来Linux内核发布的障碍,而不是全球范围内重新定义所有源代码管理。

  • 最终,BitMover在2016年开源了BitKeeper,标志着这一事件的一个圆满结局。

延伸问答

Linus为什么决定开发Git?

Linus开发Git是因为对BitKeeper的限制性许可证不满,以及希望找到一个更适合Linux内核需求的版本控制工具。

Git的设计理念是什么?

Git的设计强调性能和效率,旨在支持Linux内核的庞大历史和提交量。

Linus在开发Git时的目标是什么?

Linus的目标是在两周内开发出一个可用的工具,以恢复补丁流的处理,而不是创建一个完整的版本控制系统。

BitKeeper与CVS有什么不同?

BitKeeper是一个分布式版本控制系统,允许每个开发者拥有自己的代码库,而CVS是集中式的,只有一个代码库。

Linus对CVS的批评主要集中在哪些方面?

Linus批评CVS的集中式特性,认为每个开发者应该有自己的独立代码库,以便于离线工作和内部政治。

BitKeeper的许可证争议对Linux内核开发有什么影响?

BitKeeper的许可证争议导致Linus寻找替代工具,最终促成了Git的开发,改变了Linux内核的版本控制方式。

➡️

继续阅读