Linux Journal July 2018 by Linux Journal
Author:Linux Journal
Language: eng
Format: mobi, epub
Publisher: Linux Journal LLC
Published: 2018-06-26T05:00:00+00:00
A Git Origin Story
A look at Linux kernel developers' various revision control solutions through the years, Linus Torvalds' decision to use BitKeeper and the controversy that followed, and how Git came to be created. By Zack Brown
Originally, Linus Torvalds used no revision control at all. Kernel contributors would post their patches to the Usenet group, and later to the mailing list, and Linus would apply them to his own source tree. Eventually, Linus would put out a new release of the whole tree, with no division between any of the patches. The only way to examine the history of his process was as a giant diff between two full releases.
This was not because there were no open-source revision control systems available. CVS had been around since the 1980s, and it was still the most popular system around. At its core, it would allow contributors to submit patches to a central repository and examine the history of patches going into that repository.
There were many complaints about CVS though. One was that it tracked changes on a per-file basis and didn't recognize a larger patch as a single revision, which made it hard to interpret the past contributions of other developers. There also were some hard-to-fix bugs, like race conditions when two conflicting patches were submitted at the same time.
Linus didn't like CVS, partly for the same reasons voiced by others and partly for his own reasons that would become clear only later. He also didn't like Subversion, an open-source project that emerged around the start of the 2000s and had the specific goal of addressing the bugs and misfeatures in CVS.
Many Linux kernel developers were unhappy with the lack of proper revision control, so there always was a certain amount of community pressure for Linus to choose something from one of the available options. Then, in 2002, he did. To everyone's shock and dismay, Linus chose BitKeeper, a closed-source commercial system developed by the BitMover company, run by Larry McVoy.
The Linux kernel was the most important open-source project in history, and Linus himself was the person who first discovered the techniques of open-source development that had eluded the GNU project, and that would be imitated by open-source projects for decades to come, right up to the present day. What was Linus thinking? How could he betray his community and the Open Source world like this? Those were the thoughts of many when Linus first started using BitKeeper for kernel development.
Additionally, BitMover put significant restrictions on the Linux community in exchange for the non-pay license. First, Linux developers would not be allowed to work on competing revision control projects while using BitKeeper. And second, BitMover would control certain metadata related to the kernel project, in order to notice any abuse of the license. Without access to that metadata, kernel developers would be unable to compare past kernel versions—an important standard feature of other revision control systems.
The controversy did not die down, although Linus continued to rely on BitKeeper for years. His basic argument was that he was not a free software zealot.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Test-Driven iOS Development with Swift 4 by Dominik Hauser(7772)
Filmora Efficient Editing by Alexander Zacharias(5856)
The Infinite Retina by Robert Scoble Irena Cronin(5331)
Learn Wireshark - Fundamentals of Wireshark. by Lisa Bock(4014)
Linux Device Driver Development Cookbook by Rodolfo Giometti(3939)
Edit Like a Pro with iMovie by Regit(3466)
Linux Administration Best Practices by Scott Alan Miller(2864)
Linux Command Line and Shell Scripting Techniques by Vedran Dakic & Jasmin Redzepagic(2840)
MCSA Windows Server 2016 Study Guide: Exam 70-740 by William Panek(2528)
Mastering PowerShell Scripting - Fourth Edition by Chris Dent(2437)
Docker on Windows by Stoneman Elton(2323)
Kali Linux - An Ethical Hacker's Cookbook: End-to-end penetration testing solutions by Sharma Himanshu(2317)
Creative Projects for Rust Programmers by Carlo Milanesi(2283)
Hands-On AWS Penetration Testing with Kali Linux by Karl Gilbert(2115)
Hands-On Linux for Architects by Denis Salamanca(2056)
Programming in C (4th Edition) (Developer's Library) by Stephen G. Kochan(2011)
Computers For Seniors For Dummies by Nancy C. Muir(2009)
The Old New Thing by Raymond Chen(1943)
Linux Kernel Debugging by Kaiwan N Billimoria(1768)
