BitKeeper、Linux与许可争议:Linus如何在14天内编写Git
内容提要
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内核的版本控制方式。