SJVN / Elyse Betters Picaro / ZDNETMany programmers are young enough that they never knew a world without Git and the developer sites built around it, like GitHub and GitLab. You should be glad, very glad, that Linus Torvalds felt forced to create a better version control system (VCS).Before that, I used first-generation Source Control Management (SCM) systems such as Revision Control System (RCS), which was… painful. Then along came the Concurrent Versions System (CVS) in 1986, and then Subversion (SVN) in 2000. That same year saw BitKeeper, the once open-source VCS that was Linux’s first SCM. Also: Microsoft at 50: Its incredible rise, 15 lost years, and stunning comeback – in 4 chartsBefore that, Torvalds had been content to keep Linux’s code straight by hand. But, by 1999, as developer Larry McVoy observed, Torvalds was on the verge of burning out. The problem? You couldn’t scale Torvalds. He needed the right tools to share the load. McVoy thought the answer was his own SCM program, BitKeeper. Torvalds wasn’t so sure. He wanted to keep doing it the way he’d always done it.The BitKeeper dilemmaFast forward to 2003, and it was another story. The Linux 2.4 kernel had been late, very late, in shipping, and the 2.6 release was going even slower. So, Torvalds finally moved to BitKeeper. At first, it worked great, but the fly in the ointment was always that BitKeeper was a proprietary program. True, there was a free version of BitKeeper that could only be used with open-source projects, but it came with significant problems. As Linux kernel developer and editor of the Linux Weekly News (LWN), Jonathan Corbet observed at the time, “Larry wanted to have his cake and eat it too. He truly wanted to support the development of free software — as long as that software didn’t threaten his own particular business niche. … Whenever BitMover [McVoy’s company] felt that its business model was threatened,” it changed its licensing terms ” to the point that the BitKeeper license became known in some circles as the ‘don’t piss off Larry license.'” Also: How to start using the new Linux terminal on your Android deviceAs Bryan Cantrill, a well-known developer, and Oxide Computer CTO, commented years later on Ycombinator, “The grand irony is that Larry was one of the earliest advocates of open sourcing the operating system at Sun … So on the one hand, you can view the story of BitKeeper with respect to open source as almost Greek in its tragic scope.”In 2005, Andrew Tridgell, a Linux kernel developer, attempted to reverse-engineer BitKeeper’s protocols to create an open-source BitKeeper client. That was what broke the camel’s back for McVoy, who subsequently pulled BitKeeper’s free version. Torvalds didn’t feel, however, that it was fair to blame McVoy for the break. In a Linux Kernel Mailing List (LKM) post, he wrote, “Don’t blame BitMover, even if that’s probably going to be a very common reaction. Larry, in particular, really did try to make things work out, but it got to the point where I decided that I don’t want to be in the position of trying to hold two pieces together that would need as much glue as it seemed to require.” Regardless of who gets the blame, Linux was left without an SCM. What to do? The creation of GitTorvalds’s answer was to create a true open-source VCS alternative: Git. In a mere 10 days, he developed a working version of Git, which was first committed on April 7, 2005. Of course, he’d been thinking about it for a while. The BitKeeper conflict had been brewing almost since the start. In a recent GitHub interview, Torvalds said he had been facing the question, “How do I do something that works even better than BitKeeper does but doesn’t do it the way BitKeeper does it?” Also: Linux Foundation’s trust scorecards aim to battle rising open-source security threatsAs Torvalds told me then, he didn’t want to change software configuration management tools; however, he had no choice but to abandon BitKeeper and create his own system. “The name itself really doesn’t have a meaning. Torvalds joked that it could be a “random three-letter combination that is pronounceable and not actually used by any common Unix command. The fact that it is a mispronunciation of get may or may not be relevant.” Or “stupid. contemptible and despicable. Simple. Take your pick from the dictionary of slang.” Or, “global information tracker: [if] you’re in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.” Angels or not, Torvalds wasn’t sure at the time that Git would be the permanent replacement. “It’s a young project, and it just takes time for things to mature. That will go on for years, assuming none of the other open-source SCMs just eventually show themselves to be capable enough that we just end up deciding that Git was a good temporary bridge.” More