Lucky Linus and the Development Hell
Recently, Linus Torvalds has started using AI chatbots to crap out garbage onto the Linux kernel mailing list that, 6 to 8 years ago, would have been violently yeeted from the list by Linus Torvalds. How in the hell did Linus even get himself into this position? Well, that is all thanks to a creepy sex pest with a beard and some really messed up views that happened to have one legitimately good idea.
EDUCATION
YOURSELF
Episode 009
Part 1: With Blackjack and Hookers!
We begin this mess back in the very early 1980s, in the Cambridge that contains the Massachusetts Institute of Technology. (Yes, there's another Cambridge that's of importance to computing history, but that one is on the other side of the pond.) There, in the fabled Artificial Intelligence lab that gave us Lisp, we have a professor Richard Stallman and a bunch of printers. Now, I know this part of the story is most likely myth, but it is the funniest so I'm sticking with it. The printers of this era were, to be kind, massive fire hazards. Seriously, they would go so fast the paper could literally catch FIRE. As a result, the MIT AI lab had a procedure to use the printers that could best be described as either religious or rigamarole, with the intention of avoiding needing to give the Cambridge fire department an impromptu tour of the MIT campus. Eventually, these printers were replaced with newer, safer models that no longer required such shenanigans to safely operate. But professor Stallman refused to adapt to this. He contacted the manufacturer of the printers and asked that the printer drivers be modified to still require the religious ceremony. The company, completely confused, said no, because why is this needed? Stallman asked for the source code to the drivers so he could just do it himself... already knowing this guy was completely off his rocker, they also said no. Now, had he instead said that the students were developing a new research operating system and wanted to use the printers with it, and they would need the driver source code as reference material, things would have most likely turned out much more differently! But nope, crazy request led to the rep going "uh, no" and sending Stallman into that stable state of mind where people write manifestos.
This resulted in Stallman taking the first draft of his unhinged plans to make a UNIX replacement and nailing them to the doors of the net.unix-wizards and net.usoft newsgroups in September of 1983. He then quit his job in the start of 1984 just to make sure that MIT couldn't force their ownership on whatever he made. The final draft of his GNU Manifesto came out in 1985, truly kickstarting the actual GNU project. The plan was actually similar to what University of California, Berkeley, was doing to UNIX: replace things until it ain't UNIX anymore. And for this, they started on the userspace: the command line and associated core utilities, as well as the key software that was used to do tasks like word processing or playing games. There is debate as to whether GNU or Berkeley did a better job, but one thing is for sure, they were both a hell of a lot better than what the phone company provided!
But the userspace is only half of a complete operating system. The other half is just as important: the kernel. This is the thing that does process management, I/O interfacing, storing and loading data, etc etc. The initial plan for this was to just... rip off Berkeley's work. They had a kernel, it did work, it was permissively licensed, all they had to do was go "YOINK!" and they would have a complete GNU operating system. But noooooooooooo. Stallman wanted something different, and innovative. He didn't want to continue using a monolithic kernel structure. There was actual research being done on microkernels, which offloaded more tasks into userspace. While this was more resource intensive, it had the added benefit of making the underlying system more resilient to crashing from faults. So if a hardware error occured, it wouldn't completely crash the entire system, just the driver module, which could then be terminated and restarted like any other program on the computer. A legitimately good idea?! How shocking!
Over at Carnegie Mellon University, Richard Rashid and Avie Tevanian were making a microkernel as part of the thesis project, called Mach. The goal was to have a new kernel for the Software Distribution that Berkeley was cooking. Stallman went "YOINK!" with a copy of the thesis papers - rather than the actual Mach code itself - and told the people helping with GNU that they had to make THIS. The planned result would then be combined with the other software made by the GNU project, to create the GNU Hurd operating system, the not-UNIX-but-also-kinda-is system described in Stallman's manifesto that he had complete and total control over. Except... trying to write an entire, novel microkernel from scratch based on just someone else's homework is not easy. Or doable. And thus, the GNU operating system entered Development Hell, long before a certain Duke Nukem Forever made the misery common knoledge. Half a decade of just, nothing getting done.
Part 2: One Hell of a Rebuttal
In 1990, a kid by the name of Linus Torvalds went to University of Helsinki. In one of the CompSci courses he took, which was on operating system design, he had to read a textbook from Andrew S. Tanenbaum. (Hey, remember him back in the first post of this thread?) Andy had cooked up his own microkernel-based UNIX clone called Minix, which was made specifically for academic use only as part of his textbook. Linus would actually get into a bit of a flamewar with Andy over the practicality of using a microkernel rather than a more traditional monolithic kernel, saying that the problems previous designs had boiled down to, uh... "skill issue" or something like that. He then tried to bum off a copy of the actual POSIX specifications, which did not go well and resulted in him just cloning SunOS and Minix to create his own for-fun hobby kernel project to prove that monolithic kernels am de best. On September 17th, 1991, Linus posted his hobby kernel to the interwebs, called "Freax". The owner of the mailing list said that name sucked and renamed it to "Linux" against Linus' wishes. And after a good round of peer pressure, the license was changed from a custom non-commercial license to one other thing that the GNU project emitted: the GPLv2.
This is where things get interesting. The people in the GNU project look over and see that there was an entire, complete UNIX clone kernel that was also under the exact same license as the rest of the software they were making. So... why bother with this experimental piece of shit that is never going to get off the ground and just use this kid's hobby project instead? So, they took their userland stuff in one hand, Linux in another, and *hands clapped together* it's a complete operating system that aligns to our ideological beliefs!
And Stallman hated it.
Part 3: The True Goal of GNU
So, everyone believes that the whole point of GNU is to create software that everyone can modify and use as they wish as long as they keep everything else that uses it just as open, right? Well, that's more or less a side effect based on Stallman's ideological beliefs. The actual goal is to create a complete operating system that Stallman has full control over. Oh, you contributed to a GNU project? Congratulations, Stallman owns your code now. It wasn't until a few years ago that this was actually reversed and allowed programmers to be properly attributed and own the code they write. But, why? Because Stallman wants to use ownership to enforce his ideological beliefs. On the one hand, this means that the copyleft license will never be replaced on the GNU project software with something more restrictive. But on the other hand, you will never see plugins or extensions for things like GCC or Emacs because they have the potential to be closed source, and thus are evil evil evil evil.
So, with his precious coreutils married to someone else's project and the result being declared Mission Accomplished, Stallman was pissed! Not just because it was yet another goddamned monolithic kernel and not the true zen of a microkernel, but because it was not owned or controlled by Stallman. And now, everyone was looking at GNU Hurd and going "lol why" and just using Linux. All the praise and recognition went to that damn kid. Stallman began insisting that the userland be explicitly named alongside the kernel, and in front of the kernel, because that's just how petty he was. He even tried to forcefully relicense the Linux kernel via a hidden clause in the GPL that nobody had noticed because Linus was doing things that didn't 100% adhere to Stallman's ideology; this is why Linus explicitly uses GPLv2 ONLY to get around this nasty booby trap.
A contributor helped create what would become the infamous copypasta about GNU/Linux with Stallman, only to immediately be blasted with it during a conference by Stallman himself while explicitly talking about the kernel, not the operating system. In the ultimate form of spite, this man singlehandedly revived a moribund alternative userland project, got it to the point where it could completely replace the GNU coreutils, and made it part of his daily driver operating system, all in the span of about a year to clap back at Stallman on stage in front of an audience. Robert Landley, you are one hell of a programmer.
Part 4: Not Going to be Big; Becomes Big Anyway
So, going backwards a bit, apparently Berkeley pulling off a Ship of Theseus with the entire UNIX operating system really pissed off the phone company. This resulted in the court case UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc., in which the act of students at Berkeley re-writing every last part of UNIX to no longer contain any of AT&T's original code to thus have a Berkeley Software Distribution be made available under a more permissive license like the Berkeley Software Distribution license, was considered theft and plagarism. Eventually, a settlement was reached between 1993 and 1994, and three files had to be deleted from 4.4BSD. This finally made 386BSD, the common ancestor to all the other BSD Boys (pronounced: beastie boys) that exist today, actually able to be released to the world. Had this lawsuit not happened, Linus Torvalds would not have made his hobby kernel, because he could have just looked at 386BSD's source code instead.
But the lawsuit happened, and the hobby kernel was made. In the original posting, Linus explicitly said it was not to become "big" like the GNU project. And yet, because it was the best option available, it ended up becoming even bigger. Distributions were spun up, serious work was put in, and while it will never displace the desktop computing space, it did start taking huge bites out of the UNIX market. Why spend a gorillion dollars on licensing something UNIX-flavored from IBM or HP when you could use a comparable operating system made by a bunch of kids for the cost of the floppy disks needed to install it with? Market share grows, commercial offerings begin appearing, get-togethers of nerds turn into professional conferences... Linux becomes big. Real big.
But Linus was still just some kid. He wasn't a legendary programmer, even though everyone looked up to him as such. He had a job writing software for a company that also let him spend time working on Linux on the side. He eventually became somewhat self-employed when a bunch of big corporations that realised that Linux was The Thing Holding Everything Up and pooled money together to create the Linux Foundation. But he was still just some kid. He posted lots of crass and inflammatory messages on the Linux Kernel Mailing List, like any kid would do. And aside from a spat with a version control system vendor that resulted in the purely spite-fueled creation of Git which actually did grant the fanboy dream of killing a Microsoft product (yes Visual SourceSafe was discontinued because Git is better!) Linus really hasn't done anything else that spectacular.
Which brings us to the now. Large Language Models are being used to excrete a jumble of characters that resemble code, and then used to make software absolutely worse off than before. And Linus, most likely because of the companies giving him a paycheck also being the people responsible for this crap, is not only welcoming it into the Linux kernel, but encouraging it and actively using it himself. In fact, he recently posted a patch set that improved performance deep in the memory management system by up to 23 times faster! Except it has an obvious race condition in it. And it has a performance regression in non-synthetic benchmarks. To which Linus thrust the whole mess onto another developer because VACATION.
Some kid, eh?
If you liked this post, give NetBSD your money so they can have better drivers and give people a platform to jump off Linux to as it sinks into the slop!