I'm a week behind as the 20th anniversary of "Open Source" was a week ago. Back on February 3, 1998 the term "Open Source" was coined as a result of the decision of Netscape Communications Corp to give away the source code to it's Netscape Navigator browser earlier on January 23, 1998. Red Hat has a nice recap of what happened then in its Celebrating the 20th anniversary of open source blog post; ZDNet has another great writeup entitled Open source is 20: How it changed programming and business forever.
My purpose in writing about this amazing milestone is mostly to wax nostalgic. I remember when Navigator's source code was released. At that time I was in the collections industry bouncing around between being a collector and a sysadmin at one of the collection agencies I worked at then. Actually, as hateful of a job as that was, I'm grateful for it because it introduced me to HP-UX, which piqued my interest in operating systems other than DOS or Windows. In fact, it was when I was working at the first collection agency where I did sysadmin work that I picked up my first non-Microsoft operating system to play with at home (OS/2 Warp 4).
My first foray into Linux was trying out Slackware (I don't remember which version, I just remember borrowing a bunch of floppies from a friend to try it). I also remember trying out Yggdrasil, and I'm pretty sure that one was on CD. Neither of them at that time (probably mid-90s) were very attractive to me. Using an already installed and configured HP-UX system at work was one thing, installing Linux back then was not very user-friendly for someone getting into *nix for the first time.
My first Linux install that really took was Red Hat Linux 5.0. OS/2 was my day-to-day system, but Linux was interesting to me for a variety of reasons. This was back when the term "free software" was used; "Open Source" was yet to come. I remember it being pretty ugly compared to OS/2 and I remember fighting with it, trying to make my SCSI CD-Writer work. I also remember my wife being annoyed that I spent so much time tinkering with garbage hardware (since I scrounged up anything I could) and fiddling with something that equally fascinated and frustrated me.
I was a BBS enthusiast, having run a BBS from high school, originally on DOS and then under OS/2 (which was amazing for running a BBS and being able to use it while others were dialled in). I moved through a bunch of different BBS software (Maximus/2, Renegade, Telegard... I'm actually shocked I remember some of these names so many years later!) and ended up using software called BBBS. It should be noted that during my BBS days I ran two different Fido-style networks (one for sysops and one for fantasy topics), wrote documentation for a number of different BBS-related utilities, wrote some utilities of my own, and was generally very much involved in the BBS "tools" community. When I started using BBBS I also took over the documentation and ran a documentation project on my Freezer Burn web site back then (more on Freezer Burn in a moment).
At any rate, BBBS/2 under OS/2 worked great until IBM decided to muck up a few fixpacks and I had a lot of trouble with OS/2 running my BBS. Thankfully, I had some exposure to Linux, and BBBS had their BBBS/Li version that ran on Linux. So I had an option to get my BBS running on a different, hopefully more stable, operating system than OS/2. The problem was I had only half-heartedly tinkered with Linux before and if I was going to do this I really needed to learn it. At that time, Linux-Mandrake 5.3 was my operating system of choice and I dove into learning it while trying to keep my BBS running and still doing my work as a collector (I made a conscious choice to fully remove OS/2 and replace it with Linux -- no fallback and no choice but to learn by doing). And since I needed some utilities for my board that were not provided by Linux-Mandrake, I started getting involved in the community by providing fixes, patches, documentation updates, and new RPM packages and that's where things really got weird because within months I was writing Linux-related articles for a number of web sites like Tech Republic, trying to evangelize Linux locally and through my Freezer Burn web site, started my own consulting company, and eventually was asked to work for MandrakeSoft (which I started to do in 2000).
The local evangelism didn't work out well, although I did meet some interesting like-minded people locally as a result. The "general packager and documentation" role turned into docs and "the odd security fix" so that Chmouel (our then security packager) could focus more on kernel work. I was assured it wouldn't take much time (which was largely true, for about a year). And the rest, as they say, is history. There was soon enough no more time to work on documentation and security, so security took precedence and I was a one-man security team for Mandriva for many years until I got a few people able to help. Fun fact: the entire security build and release system for Mandriva ran in my basement, built and written entirely by me. Another fun fact: the entire release system for advisories and package uploads, urpmi metadata updates, etc. was done by a series of commandline PHP scripts (I did mention earlier that I didn't write in C, right?). Say what you want, but the original scripts that I started with were written in Perl and the PHP rewrite was about 2x as fast and much easier for me to work on (because while working for MandrakeSoft I also did a lot of web design and hosting, so I spent a lot of time working in PHP).
Here's the real kicker: Open Source allowed me to fork Mandriva, reduce it and change it into Annvix because I wanted something with a greater security focus. It gave me the opportunity to learn and spend a significant number of years building my own community, reusing the work others had done, and giving away the changes I had made to that work -- to everyone who was interested. I couldn't have done that with any other operating system at the time, and the learning opportunities it afforded me were invaluable. Without Open Source, that sort of thing would not have been possible.
Eventually, after 9 years at Mandriva I left to come to Red Hat and celebrated 9 years here when Open Source celebrated its 20th anniversary. Even the shift and growth in Open Source in the last 9 years amazes me. When I joined Red Hat, RHEL6 was in beta and the current release was RHEL 5.3. Things that I take for granted now, like OpenStack and OpenShift, containers... these things didn't exist.
I look back and see that out of the 20 years of Open Source, I've spent 18 of them working directly for Open Source companies... companies that devoted all they had to benefit from and contribute to Open Source. One didn't make it, despite being an excellent distro and having some amazing co-workers (many of whom, thankfully, are now also at Red Hat!), and one that did. I remember the shock and pride when we were able to say we were the first $1B Open Source company in 2012. Four years later in 2016 we were the first $2B Open Source company. While there are many companies that bet on Open Source and failed, there are many that succeeded -- but those are not the only success stories of Open Source. The fact that companies like IBM and Microsoft embrace Open Source today is a testament to the work that the Open Source community has done in 20 years.
The fact that non-tech companies like WalMart and other retailers not only use Open Source but create it, is amazing. The fact that home stereo systems, TVs, cell phones, and much of the technology we take for granted today would not exist without Open Source really makes me grateful that I am able to be a part of this epic journey.
In fact, I honestly don't know what I would be doing today if it wasn't for Open Source. My mind can't even fathom its absence.