Happy birthday – 30 years of Linux
ubuntu.com
ubuntu.com
A few years later, I was acting as a sysadmin, and wanted to replace some aging DECstations with PCs running Linux. The prototype machine was great, except for how terrible NFS performance was. The kicker was xdvi would take minutes to render a page of a document. The DECstations would take seconds, even though they were ~10% as fast as the PC running Linux. I realized the problem was that Linux NFS didn't do any client side caching, and xdvi walked around byte-by-byte in the font files.
I met Linus at the '94 Boston USENIX and asked about NFS file caching. He told me he didn't care about NFS, and didn't think it would ever get fixed. The interaction was unpleasant and left a very bad taste in my mouth.
I then went to the FreeBSD BOF, where they were professional (Justin Gibbs was wearing a button down shirt and giving a power-point presentation). They assured me that FreeBSD cached NFS just like any other filesystem.
When I returned from the conference, I installed FreeBSD on the test PC and sure enough, it rendered the xdvi pages instantly.
Its amazing how that one experience shaped my life. I used and hacked on FreeBSD for years later when I worked on OS research. I helped port FreeBSD to the DEC Alpha and became a committer in the late 90s, and have contributed ever since. These days I get paid by my employer to make FreeBSD as fast as possible for our workloads, and get to do cool stuff like building what I suspect is the world's fastest web server in terms of absolute bandwidth.
Linus has always been blunt about which things he cares about and which things he doesn't and I can certainly see him not caring about NFS. I'm sure he would say it really has no business being in the kernel in the first place, but ultimately I assume he's fine with it as long as that part of the tree is somebody else's responsibility and it doesn't interfere with the rest of the kernel. That's really how Linux kernel development works: people work on what they care about and Linus' only real job for decades now is to veto the bad stuff.
I'd love to be using FreeBSD more, but I have to stick with Linux because things like docker, wireguard, and hardware support always hit Linux first and I'm more of an end-user than a hacker.
... Actually, why is it in-kernel? Just performance reasons?
> things like docker, wireguard, and hardware support always hit Linux first
FWIW, they do eventually get there; we should see docker on runj some time in the medium future, wireguard works fine in userspace and will be in the kernel soon, and hardware support is hit-or-miss but it's okay in my experience (although obviously that's very variable by person/machine).
Some prominent Linux developers and interactions in person or on mailing lists can be nasty, rude, even bullying. There are also a great deal of very nice people, and in the middle are a lot of people who can get frustrated or upset at times when discussions become robust, but are not inherently mean.
Exactly the same for the BSDs. The free BSDs have famously fragmented into several major groups, in some cases due to quite toxic conflicts including by some prominent members and leaders. BSDs are not objectively better than Linux in that regard.
It's a big part of the history. Linux has been compared to its competitors all along after all.
I remember FreeBSD being ever present all along. Ultimately, Linux won on many fronts, the biggest one maybe the vast hardware/driver support.
I've used both extensively in the 90's and early 2000's, both on the server and workstation side. Ultimately settling 100% on Linux around 2004-5.
Still, competition on this space is very healthy. Who wants an OS monoculture?
The good parts are ZFS and ZFS boot environments, and general stability.
The bad parts are updating ports/packages because in terms of ports/packages, FreeBSD is a "rolling release" distro, meaning that upgrades are often "interesting". I'd vastly prefer if it were more like Debian/Ubuntu/RHEL and had a fixed base set of 3rd party software, with a "ppa" like mechanism to get the latest version of only what you need. However, there is just not enough manpower to support that.
I cope with it by running the -stable quarterly packages on my -current desktop, and so I deal with upgrade pain only a few times a year, not every time I update my system. I've also switched to running Linux firefox via the linux jails project. This is nice, because I can apt-get update && apt-get upgrade the linux stuff, and have most of what I want upgraded (web facing stuff like firefox) without touching the native ports/packages.
[0] https://cgit.freebsd.org/ports/plain/net-mgmt/nstat/pkg-desc...
I won a copy of Red Hat at a Unix User Group meeting, felt positively drunk with power all the way home...and never got it to start X. A few friends tried getting it to work, no go. Then I bought Mandrake at CompUSA. Same result.
I tried installing again, and it was infuriating watching all those icon files getting copied over, with a gut feeling that the result would be the same.
(Have you ever felt that eagerness, watching hundreds of icon names scroll by, and imagining how cool they would look on YOUR (hacker) screen? Holy smokes.)
So that sucked--nothing worked, no X, just a command line and I didn't feel I had the preparation to work with it, nor did I really understand that I could do most of my work on the command line if I wanted to.
Eventually, about a year later, I tried the Knoppix Live CD and somehow it shipped with the right modelines for things to just work. Why didn't anyone know to check my modelines?! I could have had X working for years. Stupid modelines...
After that, Ubuntu came out, and it also Just Worked for me, and Shuttleworth had rendered POV-Ray code in space, with even the resulting art showing this unique community effort. I started an online community for my favorite FOSS project, and it all felt like some kind of amazing global village. Depending on where you go, the same community vibe is still there in various places...
Pretty soon Textpattern and WordPress and Joomla also made it worthwhile to move away from Flash for the web, and boom--my media & web business could be built and maintained using Linux server and desktop platforms.
Congrats to the Linux community.
Ha! Me too! I thought I was the only one. I remember that whatever release it was had a bunch of problems because it was the first version not based entirely on Red Hat and that they rushed the release of the next version to fix all the issues. So my purchased boxed copy ended up being both buggy and only relevant for like 6 months.
I think I switched to FreeBSD for a while after that.
I bought Mandrake online I think around early 2000's (for love of god, I can't remember how/which website). Everything worked (for realistic definition of "everything" in those days when it came to Linux). It was the most polished of the few distributions I experienced (until Ubuntu Dapper Drake came along much later and basically blew me away).
I took these 1M commits, indexed them in Typesense, and built a search experience around it a couple of months ago: https://linux-commits-search.typesense.org/
Has some interesting nuggets in there.
Happy Birthday Linux!!
Fair to say much of the way my life turned out is thanks to Linux and open source software.
Happy birthday! You've come so far. I've been a daily driver for most of your existence and these days it's not even hard.
I had asked him then: "What about software such as Adobe Photoshop? How do I use that in Linux?"
He had said "We have GIMP! And it is free too..."
I had thought, "GIMP? What sort of name is that?". I had imagined GIMP to be a shoddily put-together Photoshop clone with a clunky interface. An amateurish, buggy imposter.
And here I am now, roughly 19 years later, typing this in Xubuntu. I plan almost every aspect of my life through Emacs Org-Mode.
And I haven't gone near a pirated copy of Photoshop for years.
Is that even possible these days for a current version? Or does it need constant license validation?
Those dark, dark hours/days/weeks with Xorg really made me into the hacker I am today. If the forums weren't there, read the docs, if the docs weren't helpful you could read the source. Not being stonewalled while discovering how to work with one's computer is a wonderful experience.
Happy Birthday to such a wonderful OS!
This experience made me a true believer. Never needed to do it with kernel source code, but with libraries and userspace apps.
Hitting the closed-source wall in SDKs and environments like Matlab is frustrating and takes all the fun out of programming.
Same thing here. I distinctly recall having a stack of different linux distros that I would install and switch between, then spend hours configuring the os, tweaking xorg, etc.
I'm glad it became an option on the majority of distributions. IMHO it still remains the killer feature over Windows if you want to show someone what Linux can do.
https://www.youtube.com/watch?v=K_VlI6IBEJ0
https://web.archive.org/web/19991128112050/http://www.qnx.co...
Booting from read only media and having a fully functioning OS was completely groundbreaking. Especially when you consider how much hardware was supported without configuration.
I donated a "Frankenstein" PC to our high school classroom (or added random parts that were missing to an existing one -- can't remember) and had a regular CD drive and a SCSI harddisk attached to a SCSI controller. The motherboard's BIOS didn't know how to boot from the SCSI harddisk so I put a bootloader and kernel on a CD and used that to boot from the harddisk.
Worked like a charm. Ran enlightenment for the looks and played a lot of clanbomber with a classmate!
Edit: Aw, looks like clanbomber isn't in the Debian repositories anymore. Shame :(
Edit2: I think I slept on the couch at the local hackerspace (with fast internets) after getting that system to run (and brought the computer to school on the next day). Nostalgia~
Nice.
https://en.m.wikipedia.org/wiki/History_of_Linux
Without them it would just be like Hurd.
Like countless others, Linux has really changed my life. And I'm eternally thankful to it for that.
It was so great in my 2nd year after learned about Ubuntu, figuring out how to install it on my Windows PC and being able to dual boot and then being able to do my assignments by connecting via SSH. Was able to do my assignments quicker and from the comfort of my rented basement (far away from campus).
And it was even better to just be able to experiment on my own laptop and not worry about screwing things up on the campus workstation.
There's so much good stuff available to make learning programming quicker but I look fondly on those early '2000 years because it makes me appreciate how far Linux and FOSS has come along.
A year or so later, with high bandwidth connections in the UK still a bit thin on the ground, I downloaded the full 100 disk SLS distribution at work (a satisfying brick of disks).
The process was amusingly convoluted: using ICL's X25 email client I would email requests to a mail responder on one of the archives (funet I think?) for 64k uuencoded chunks of each disk. Then I saved the email, trimmed the header/footer garbage, stitched it into one file, decoded it to a binary, copoed it to a floppy, and repeated. It took about a week.
So just so you kids know, before you get off my lawn, I <3 'sudo apt-get dist-upgrade' :) It did used to generate a little cameraderie amongst us experience scarred afficionados though!
[1] jcday are you out there? I owe you one! :)
Coincidentally, they're both things I love! I wonder if you can install Linux on a SNES?
Took a diversion into OpenBSD for a few years (if you thought liveCDs were cool back then, running clustered firewalls in RAM from an immutable floppy disk blew my employer's mind) but Linux dragged me back once Sun imploded and haven't looked back.
Happy Birthday!
Edit: I was probably one of the few that actually liked the orange and brown theme.
It was an eye-opening experience compared to Windows because you weren't just allowed to tinker and even recompile the OS, you had to if you wanted to make things work like they effortlessly did in Windows, and then take it to some weird extreme. It was a lot of learning.
I'm just happy there are user-friendly distros now, because nowadays I can't devote hours just to setup my VGA card and a mouse with five buttons :)
Had Microsoft been half serious with NT POSIX subsystem as they are with WSL, and it would never taken off, as proven by the masses that rather pay for Apple or Windows devices instead of supporting GNU/Linux OEMs.
Instead Apple and Microsoft keep getting users that the only thing they care about is some kind of POSIX support, and don't care one second about supporting Linux OEMs.
In 10 years the Linux kernel might be everywhere, the userspace will be mostly gone, fully replaced by BSD licensed alternatives or commercial products.
Well, it's now orders of magnitude bigger than gnu, definitely not a hobby for neither Linus nor plenty of other people, and we're still waiting for the Hurd.
The myth is that BSD development ceased or scaled right back, but that really wasn't the case. NetBSD's initial release was early 93, FreeBSD's initial release was late 93. Clearly they had been busy developing things leading up to it, and were confident enough to release entire new forks.
The lawsuit is a commonly cited reason, but I think that's more of a retroactive justification that's doesn't really come with solid evidence or reasoning.
https://web.archive.org/web/20190605151240/https:/www.softpa...
You read things like this and it's just handwaving without much actual evidence at best, and at worst grasping at straws, with the usual bitter sour-grapes lines like "One of the reasons that he was a real volunteer and has a demanding day job (as we can see later this was almost never true for Linus Torvalds)."
Linux was just 3 years old at the time the lawsuit was settled, a project from an undergrad, whereas BSDs had much longer commercial and serious academic heritage, the Berkeley Software Distribution that 386BSD came from had started 15 years earlier! Fact is Linux was starting from well behind at that point. Linux simply gathered more momentum, whether it was the technology, the people, the community, the GNU userland, I don't know but I'm pretty sure the lawsuit was a very minor part of it and what effect it did have would not have shifted overall trajectories or ultimate outcome.
If the initial toy version of Linux would have competed since the beginning with BSD, it might have been abandoned without further development.
I have started to use both Linux and FreeBSD simultaneously, in 1995, after receiving some Slackware CD's with a computer magazine and after buying the FreeBSD 2.0 CD's.
I have continued to use both of them until today, even if before 2003 ... 2005 I had been using FreeBSD much more than Linux and since 2003 ... 2005 I have been using Linux much more than FreeBSD.
Even early Linux was nice, as long as you did not attempt to fight with X Windows to get a GUI and you were content with the CLI.
However early FreeBSD distributions were in a completely different class of quality than early Linux distributions.
The documentation of early FreeBSD was superb and it included absolutely everything that you would ever want to know. The excellent FreeBSD packet manager did not have equivalents in any Linux distribution, much less in Windows or Mac OS, and it provided useful applications covering most of the needs existing at that time.
At least for the tasks that were important for me at that time, e.g. networking, the speed of FreeBSD was much greater than of both Linux and Windows NT.
Early FreeBSD was also much more reliable than both Linux and Windows NT. For example, at that time I could not yet afford to have UPSes for all computers, even if I was located in a place with frequent power failures.
The FreeBSD UFS with soft updates has always survived without problems after any power failures, while both the computers with Windows NTFS and those with Linux having early versions of the Linux file systems with journaling, have frequently become unbootable after power failures, despite the journals.
So the increasing popularity of Linux was not caused by it being a better OS.
I would guess that the popularity of early Linux was due to its distribution model.
To experience BSD in a time when it was not yet feasible to make large downloads over the Internet, you had to buy the CD sets for either FreeBSD or NetBSD or OpenBSD.
The CD sets were quite cheap in comparison to a non-pirated Windows copy, but they still required you to make a committed decision about that.
On the other hand, to experience Linux, I did not have to do anything. At least in Europe, where I lived, a large number of computer magazines, which were still popular as an important source of information at that time, before everything moved on the Internet, came very frequently bundled with Linux installation CD's, so in a short time I got maybe a dozen of Linux CD's, without explicitly searching for them. If I had them, why not use them?
While in the beginning FreeBSD was without doubt better than Linux, that changed in time due to the far larger number of Linux developers.
The main problem of Linux and FreeBSD, then as also today, is that all peripheral device manufactures write Windows drivers for them but they do not publish their documentation and few provide drivers for Linux or FreeBSD.
So in the following years after the initial introduction, more people have written reverse-engineered device drivers for Linux than for FreeBSD, so for any random computer it became much more likely that its hardware was supported by Linux than by FreeBSD.
For example in 2001 I bought some motherboards with a VIA chipset for Athlon CPUs. I could not use FreeBSD on them, as I desired, because there were weird data corruption events, either on hard-disks or on recordable CDs.
I had to use Linux, which worked fine. Later I discovered that the VIA Athlon chipset had a horrible bug in the ATA controller, which caused the data corruption, and VIA kept the bug secret. The Windows drivers included a workaround that serialized the write commands to the ATA controller, avoiding the corruption. Some Linux developer reverse engineered the VIA driver and added the workaround to the Linux kernel, while the FreeBSD kernel did not handle this quirk.
There were many such examples that contributed to Linux becoming more and more popular.
The turning point when Linux leapfrogged FreeBSD and began to have an increasing advance over it was around 2003, when Intel introduced Pentium 4 with SMT (a.k.a. Hyperthreading) and 2005, when AMD introduced multicore CPUs.
In the beginning the BSD systems could not use more than 1 thread at all, so they were not able to use efficiently the new processors. The BSD systems needed many years to become MT capable.
On the other hand, Linux had very quickly versions able to use multiple threads and then the kernel was improved at a very quick pace to become more and more scalable.
What a wild ride.