A Git story: Not so fun this time
Linus Torvalds faced challenges managing Linux kernel growth, leading to BitKeeper's development by Larry McVoy. Free BitKeeper use sparked mixed reactions, prompting Andrew Tridgell to create an open-source client in 2005, offering alternatives.
Read original articleLinus Torvalds, known for creating Linux and Git, faced challenges in managing the Linux kernel development process due to its growth. This led to the development of BitKeeper by Larry McVoy, a distributed version control system that aimed to reduce Linus's workload. BitKeeper's adoption by the Linux kernel developers improved collaboration and code management. However, the use of BitKeeper for free came with restrictions, causing mixed reactions within the Linux community, particularly among free software advocates. As concerns grew about data lock-in and proprietary formats, Andrew Tridgell started developing a free BitKeeper client in 2005. This move aimed to address the community's desire for more open access to code history. Tridgell's efforts marked a shift towards providing alternative solutions for those hesitant to use proprietary software like BitKeeper.
Related
Andrew Tanenbaum honoured for MINIX, the OS hiding in lots of computers
Andrew Tanenbaum, creator of MINIX, wins ACM Technical Award for MINIX's impact on education and OS development. His work inspired Linux. MINIX used in Intel processors, but Intel hasn't shared code changes. Tanenbaum advocates for simple, reliable OSes.
Things you didn't know about GNU readline (2019)
The GNU Readline library, maintained by Chet Ramey, enhances command-line interfaces with efficient line editing and customization options, benefiting users of Bash and other programs. Ramey's volunteer efforts drive continuous development.
How eBPF is shaping the future of Linux and platform engineering
eBPF, developed by Daniel Borkmann, revolutionizes Linux by enabling custom programs in the kernel. It enhances networking, security, and observability, bridging monolithic and microkernel architectures for improved performance and flexibility.
Open Sourcing Kinopio
The creator of Kinopio, a thinking canvas app, open sources the kinopio-client app on its 5th anniversary. Users can now run, modify, and enhance the lightweight app (~220kb) locally or on the kinopio-server. This move aims to foster community contributions despite potential risks.
The weirdest QNX bug I've ever encountered
The author encountered a CPU usage bug in a QNX system's 'ps' utility due to a 15-year-old bug. Debugging revealed a race condition, leading to code modifications and a shift towards open-source solutions.
Bitkeeper was neat, and my overall take on it mirrors Larry McVoy's: I wish he had open sourced it, made his nut running something just like github but for Bitkeeper, and that it had survived.
I only had one interaction with him. In the early '00s, I had contributed a minor amount of code to TortoiseCVS. (Stuff like improving the installer and adding a way to call a tool that could provide a reasonable display for diffs of `.doc` and `.rtf` files.) I had a new, very niche, piece of hardware that I was excited about and wanted to add support for in the Linux kernel. Having read the terms of his license agreement for Bitkeeper, and intending to maintain my patches for TortoiseCVS, I sent him an email asking if it was OK for me to use Bitkeeper anyway. He told me that it did not look like I was in the business of version control software (I wasn't!) and said to go ahead, but let him know if that changed.
I use git all the time now, because thankfully, it's good enough that I shouldn't spend any of my "innovation tokens" in this domain. But I'd still rather have bitkeeper or mercurial or fossil. I just can't justify the hit that being different would impose on collaboration.
It's the most complete history of git that I know now. Exceptional!
I'd love to read more historical articles like this one, of pieces of software that have helped shape our world.
(Although it's especially silly in this case, since accessing that copy[1] in the Wayback Machine reveals that the GitHub website included screenshots of itself that look nothing like the screenshot in this article.)
1. <https://web.archive.org/web/20080514210148/http://github.com...>
Why is this crappy? What would be better?
Edit: @luckydude Thank you for generously responding to the nudge, especially nearly instantly, wow :)
> “Here’s a BitKeeper address, bk://thunk.org:5000. Let’s try connecting with telnet.”
Famously, Tridge gave a talk about this, and got the audience of the talk to recreate the "reverse engineering". See https://lwn.net/Articles/133016/ for a source.
> I attended Tridge's talk today. The best part of the demonstration was that he asked the audience for each command he should type in. And the audience instantly called out each command in unison, ("telnet", "help", "echo clone | nc").
> Never in history has a version control system dominated the market like Git. What will be the next to replace Git? Many say it might be related to AI, but no one can say for sure.
I doubt it's getting replaced. It's not just that it's got so much of the market, but also that the market is so much larger than back in the days of CVS.
It's hard to imagine everyone switching from Git. Switching from GitHub, feasible. From Git? That's much harder.
I tried to find out who the author is or how come he/she knows so much. No luck. Anyone else knows or OP care to chip in?
I’m sure I’m not the first to point out that Junio (the appointed git “shepherd”) works at Google where mercurial is the “recommend local vcs” internally instead of git.
Is this true? I thought GitHub had no official affiliation with the git project
However, if there was a problem with merge (a conflict), it was, from what I heard, much harder to resolve - because the algorithm was more complex. And with the introduction of the recursive merge the diff3 algorithm was deemed good enough in practice, easy to understand, and lacking sharp corner cases.
So thank to all of you that made this possible by creating Git, Gerrit and all the life saving tools this industry was missing! The passing of Shawn Pearce was really sad, but he won't be forgotten!
"In software development terminology, comparing low-level infrastructure to plumbing is hard to trace, but the use of “porcelain” to describe high-level packaging originated in the Git mailing list. To this day, Git uses the terms “plumbing” and “porcelain” to refer to low-level and high-level commands, respectively. "
Also, unrelated, the "Ruby people, strange people" video gave me a good chuckle.
I'm going to borrow this phrase from now on to everything slow.
The licensing of bitkeeper was a real thing. Although I don't follow the kernel mailing list at all nowadays, I remember Alan Cox calling it out as buttkeeper. Good Times.
Open source wins
It's alive today! Sr.ht has categories of work you can't host too. Still marinating.
> You couldn’t use BitKeeper for version control if you were working on version control software.
> You had to get BitMover’s permission if you wanted to run BitKeeper alongside other similar software.
That just strains credulity.
That sounds a bit backwards: actually Git works similar to BitKeeper (can't say to what extent, as I'm not familiar with bk), not the other way around.
It's the "X Window System" or just "X".
Related
Andrew Tanenbaum honoured for MINIX, the OS hiding in lots of computers
Andrew Tanenbaum, creator of MINIX, wins ACM Technical Award for MINIX's impact on education and OS development. His work inspired Linux. MINIX used in Intel processors, but Intel hasn't shared code changes. Tanenbaum advocates for simple, reliable OSes.
Things you didn't know about GNU readline (2019)
The GNU Readline library, maintained by Chet Ramey, enhances command-line interfaces with efficient line editing and customization options, benefiting users of Bash and other programs. Ramey's volunteer efforts drive continuous development.
How eBPF is shaping the future of Linux and platform engineering
eBPF, developed by Daniel Borkmann, revolutionizes Linux by enabling custom programs in the kernel. It enhances networking, security, and observability, bridging monolithic and microkernel architectures for improved performance and flexibility.
Open Sourcing Kinopio
The creator of Kinopio, a thinking canvas app, open sources the kinopio-client app on its 5th anniversary. Users can now run, modify, and enhance the lightweight app (~220kb) locally or on the kinopio-server. This move aims to foster community contributions despite potential risks.
The weirdest QNX bug I've ever encountered
The author encountered a CPU usage bug in a QNX system's 'ps' utility due to a 15-year-old bug. Debugging revealed a race condition, leading to code modifications and a shift towards open-source solutions.