Why Open Source?

Published May 20, 2020 by Alex C-G


So, I’ve got an idea in my head (well, where else would it be?) about comparing open source to magic. That still needs a while to brew in my wizard’s cauldron, so stay tuned or set a remembrall to come back and check some time in the future.

But wait, don’t go yet! One of the common ideas in open source is “release early, release often”, so I’m putting up my thoughts now, in advance of weaving them into a more magical narrative. This post may have bugs, annoyances, and a few swear words, but rest assured if it breaks you can keep both pieces. Oh, and feel free to cringe at the titles, taken from popular songs - because what’s more magical than music?

A Kind of Magic
How could I possibly resist throwing this in?

On with the show…

I Want It That Way

Humans love novelty. Some people want to try new foods, see new places, or find new ways to use their coffee maker. I’m all three of those. But being a geek from birth, I also love finding new ways to use (and sometimes break) my computer.

Broken PC
My PC, after one too many blue screens of death

On Windows I’m limited to changing my wallpaper or dragging my taskbar around. Or installing third-party graphical shells that don’t play nicely with the underlying system. On a Mac I’d have similar issues.

Litestep
Litestep Windows shell. I used this a lot back in the day

But on Linux I can get infinite diversity in infinite combinations. I can run the latest whiz-bang environment with rotating desktop cubes, or a barebones terminal with no graphics, or something that looks like it crawled out of the nineties. And I can mix and match bits of them as I see fit.

via Gfycat

My current setup is a stripped-down graphical interface that I mostly use for running a terminal emulator and web browser. It’s fully keyboard-driven, uses arcane key bindings (thank you Vim!), and is almost perfectly tailored for my needs. Going back to one of the standard operating systems makes me feel like typing with boxing gloves on.

My Gnome desktop
My current desktop, running Gnome and PaperWM

The Best Things in Life are Free

Back when I was a struggling student surviving on ramen and mince and cheese pies, I sure as Hell didn’t have any spare funds to throw at the latest Windows upgrade or (Heaven forbid) buying a Mac. I was stuck with what I had, or what I could download.

pie
What I ate every day at university in New Zealand. Except mine didn't look half as tasty. Thanks to itravelnz for the pic

Then I saw a computer magazine in a local shop. It was one of those ones with CD-ROMs stuck to the front, offering the latest and greatest demos, shareware, and full versions of out-of-date software. And in this case, something called Knoppix Linux. For about 5 quid, I could not only get a new operating system, but one that came preinstalled with an office suite, programming IDE, graphics editor, and more. And I could share it with my friends for free!

Gnome 1.0
Gnome 1.0: This was my first Linux desktop, back in the day

For a penniless student like myself, this was the only way I could’ve got my grubby little hands on all of these shiny goodies. Pirating really wasn’t an option on a 56k baud modem, and this was before torrenting was really a thing.

US Robotics Modem
The "good" old days. Thanks to monado for the pic

I’ve Got the Power

Open source software has the potential to continuously improve, and be driven by the needs of the users themselves. Sure, you could say that Windows 10 is an improvement on Vista, but there are definite downsides like ads clogging up your Start menu and your telemetry being reported back to Microsoft.

Windows 10 start menu
Where do you want to go today? Uh, not there...

You don’t like the direction in which your desktop environment is progressing? If enough users feel the same way, you can get together, fork it, and take it in a new direction. The MATE Desktop crew did just this with the Gnome codebase - they didn’t like the vision for Gnome 3.0, so took the 2.0 code and built their own version out of that. Just imagine trying to do the same thing with Windows or MacOS (admittedly, Gnome and MATE are desktop environments rather than full-blown operating systems like Windows, but that’s the beauty of it. Because it’s an open ecosystem, things are more modular. One system can have multiple desktop environments built in many different ways.)

MATE desktop
MATE Desktop

Who Wants to Live Forever?

What’s the most popular word processing software in the world? What happens if the owner goes out of business?

Wordstar

I’m not talking about Microsoft Word. I’m talking about WordStar, the dominant word processor of the 1980s. Thousands of users, including George R. R. Martin (from Game of Thrones fame) were left in the cold when it was abandoned. They’d invested time and effort into learning this system, and now what? Over time, operating systems deprecate old functions and old software “rots”. Now the only way to run that once powerful program is to install Linux and DOS emulator on top of that. Otherwise all of those .ws files you spent hours, days, and years on, are if not completely inaccessible, a total PITA to work with. It’s kind of ironic that now the only way to work with closed software like WordStar is via an open source system.

Now, how would that look in the modern day? Microsoft is way bigger than just Word, so let’s look at a smaller company that makes productivity tools: What would happen if Adobe went under?

Adobe dialog box
Illustrator? I barely knew 'er!

What happens if an open-source project goes under? If enough people care about it they can fork the code and keep it going themselves, just like MATE did.

You Learn

Isaac Newton
Fun fact: Isaac was also known for being a dick and sticking knitting needles into his own head

This is the quote that always springs to mind when I think of what open source has done for me personally. I got started with coding back in the bad old days of MS-DOS 5.0 and QBasic. I have fond memories of editing the physics in the Gorillas game to make the bananas fly where I wanted, and trying to build a Zork-like text adventure without initially realizing the sheer amount of object interactions I’d have to deal with.

Other kids got Donkey Kong. I had this monstrosity instead. via Gfycat

Gorillas came with Qbasic, and the code was available to view and edit. But really it (and BASIC itself) are just toys. I really got into programming with Python, and the open community has been so educational and helpful in building what I want, whether it's a terminal-based WeChat client, a tool to translate and summarize long PowerPoints from a professor, or a website to help hospitals get protective equipment more easily. Because I was building on open code bases (or in some cases, just open APIs and SDKs), I could see the magic for myself. The more popular programming languages and frameworks have extensive documentation and YouTube tutorials created by the community that helped me get running quickly, and by sharing the code myself, others helped me test it, fix bugs, and make it even better.


*****

© 2018-2021, Alex Cureton-Griffiths | Pudhina Fresh theme for Jekyll.