I've been involved with an open source software project - Adélie Linux - since its very early days.
During that time, I've missed deadlines, broken things, and reminded people to remain civil. I've advocated for changes to tooling that would prove to be undesirable, and I've advocated for moving ahead on standards-compliance so that we can have all the shiny things that coders build using the latest standards.
I've provided the kernel fork, kernel-mc, that powers Adélie's easy-kernel - the default out of the box kernel - tweaked for bugfixes that didn't quite make it into mainline, and features that are well-behaved but out-of-scope for the mainline kernel. One of the big things I'm working on at the moment is kernel 6.6, which, as you may recall from a previous post, will be the last version to support the ia64 architecture on which the Intel Itanium was built.
Over the last few years, Adélie had a period of stagnation where important and unglamourous work necessary to keep the distribution viable wasn't being done - we all had jobs, and life emergencies, and difficulties in finding the time to do this work. Certainly, I feel as though I haven't left a state of "life emergency" since 2019; and I desperately wish I had had the time and energy to help out earlier.
Adélie is back on track, and while the people who are way smarter than me catch up on accumulated technical cruft, I'd like to talk about why I give a damn.
What motivates an open source contributor?
I'm going to refer to a Working Paper from MIT here - Why Hackers Do What They Do: Understanding Motivation Effort in Free/Open Source Software Projects - as one of the first major exercises in determining what motivates open source contributors.
In this paper, Lakhani and Wolf find a number of things that might surprise absolutely nobody, but which will be repeated here for ease of digestion:
- Acting on the basis of principles ("for the cause", if you will) is a form of intrinsic motivation. Believing in something will make you more likely to put effort into it than simply being told it's important.
- Forty percent of the respondents to Lakhani and Wolf's survey were self-taught, with no formal education in Computer Science or Information Technology, nor professional experience.
- Eighty-seven percent of respondents didn't derive direct financial compensation for contributing to open source software projects.
- Programmers derive creative expression from writing code.
- The feeling of being creative is a stronger motivator than the people a contributor works with, the concept of social standing in the community, or even being paid to write code.
A flaw in this research study is that it does not seek to identify factors that lead a contributor to start contributing; it only quantifies factors that keep them doing so.
Thankfully, we don't need to depend on Lakhani and Wolf to restate the obvious for every matter - so I'll just put it out there.
The desire to contribute to an open source project is almost always the result of seeing an issue that you think you can fix. Some people make only one fix before drifting off, or their involvement with a project may simply be to fix one issue that they really care about; they may, however, in the process, find other projects that they care about. Some people find that the tool that they are working on is so incompatible with what they require, or they may feel it to be so fundamentally mismanaged, that they create a version of that software, a fork, that meets their needs.
Other people see a gap in the ecosystem - a piece of software that should exist, but doesn't - and decide to write it themselves. Many of the successes of the Free Software movement were in attempts to fill holes that proprietary software would typically fill, and ended up directly competing against software packages that they attempted to emulate. For instance, GNU Emacs is the most popular lisp-machine on Windows systems; LibreOffice has a steady foothold on Windows systems where Microsoft Office may previously have been used; VirtualBox is a solid competitor to proprietary solutions such as VMware Workstation.
Some people's involvement with open source will never be more than the occasional bugfix, or even simply bug reports. These are immensely valuable and should not be disregarded. These people may have other things occupying their time, or simply may not be inclined towards programming.
Some people will get involved, and then find a million other things. They're often students; a mix of hunger for a challenge and time to learn is the backbone of most open source projects these days. The use of the example of Lucid Emacs earlier was not a coincidence: my first forays into contributing to open source software were on a subsequent fork of that codebase named SXEmacs. I found a screenshot only last night that shows one of my first changes having been compiled and tested on SuSE Linux. Yes, it was that long ago. I no longer have as much time, but I have to thank the SXEmacs team, and especially its lead developer, Steve Youngs, for teaching me to ask better questions, and for encouraging me to fix problems that many sane people would not consider problems.
Where does Adélie itch?
A mission statement, kind of.
Adélie has some serious quality control for something with so comparatively few resources available in manpower and machine-time.
Its lightweight and standards-conformant C library means that software that depends on non-standard libc behaviour may need some tweaking to run correctly, or at all.
Its upstream-unsupported compiler means we don't have C++20 features yet. But, I'm assured, as soon as we work out why the actual current gcc spits out unusable code on PowerPC and some other platforms (hint: it's because they don't have good quality control), we'll be looking at upgrading. Maybe.
So what do I want Adélie to be?
Here's the list.
A Better Windows than Windows.
When Windows 7 came to the end of its support life in 2020, any x86 hardware that didn't have NX-bit support very rapidly became eWaste, unless someone wanted to install Linux or a BSD on it. That's everything older than about 2004. As we all know, past a certain point, keeping systems like that online for everyday work is just a massive risk.
In October of 2025 (as of the time of writing), Windows 10 will come to the end of its support life. Once the only supported version of Windows is the new Windows 11, everything older than a seven-series Intel Core or the Zen+ AMD CPUs - from 2017 and 2018, respectively, will become eWaste for much the same reasons.
A Pentium 4 wasn't super useful at the beginning of 2020 unless you needed a space heater that could keep up with a Raspberry Pi 3 for FLAC transcodes.
In the end of 2025, the amount of power needed to do editing, compiling, word processing, web browsing, will not have so significantly changed that CPUs less than a decade old will magically be useless.
Software such as wine permits the use of Windows software on Linux with minimal overhead. Wine has the advantage of being able to run 16-bit software in a way that 64-bit Windows 10 installs can no longer do. The dosemu project is designed to allow DOS software that runs at the command line, like the evergreen WordStar, to be used seamlessly in Linux. DOSBox is more focused towards gaming, but also allows DOS software (such as Windows 3.x and Windows 95) to run on Linux machines easily.
The Plasma desktop environment that Adélie ships with by default is easy to use, learn, and adjust to for former Windows users; it also uses a lot less RAM than the Windows shell. We're saving lives over here.
Your network can be Refined, Reliable, and Ready.
Have you ever heard of a pi-hole? It's a wondrous thing; you set it up as your DNS server and all sorts of ads and trackers get blocked. It can also be used as a VPN endpoint; when you're on the go, you can get some added security by browsing as if you were at home. Very good if you're visiting Australia and still want to watch the Netflix shows that you can see in the U.S. ...
Back in the day, nerds were doing this sort of thing already. Using widely-circulated hosts files, they could configure relatively low-spec boxes, like an old 486 that they weren't using anymore, to do this sort of work. The pi-hole became popular because of the Raspberry Pi, a cheap ARM-based computer that sips power, and can be had for less than fifty dollars.
The pi-hole software doesn't need to run on a Raspberry Pi. It can be run as a Docker image, it can run on Ubuntu or Debian or Gentoo - on a Raspberry Pi, even, if you wanted... and, I'm sure, it could run on Adélie. Pi-hole, on Adélie, on a Raspberry Pi? Now that could be very fun indeed.
Of course, there's also the obvious - MySQL, PostgreSQL, lighttpd, nginx, PHP... everything that makes a modern web stack work can be run on Adélie, and there's no reason that we couldn't have The Power to Serve™. (Sorry, FreeBSD.)
The Emulation King.
Emulators have gotten very good over the years. Frighteningly so, in some cases. Not only can we emulate simple computer systems, such as the Game Boy, the Commodore 64, the Atari ST, and the Macintosh Plus; emulators for complex systems are also available - SIMH, for the PDP-11 and VAX computers, KEGS for the Apple IIgs, Basilisk II for any 68k Macintosh, SheepShaver for PowerPC Macintoshes, and Ares for the Nintendo 64.
The thing that emulators really need in order to shine is CPU time. With Adélie's existing lightweight nature, it's a match made in heaven. Whether you're running ClarisWorks 5 or BeagleWrite or Earthbound, Adélie can get out of your way so you can focus on what matters.
The reason you fall in love again.
Computers used to be fun. There, I said it.
We can emulate the seat-of-the-pants nature of early computing by running Linux distributions such as Gentoo, which wrap compilation in a nice set of scripts that gets in the way the moment something breaks, or by encouraging you to install NetBSD, a system so portable that it makes a PowerBook G4 look like an Osborne 1.
We can hope that your use-case is common enough that a Linux distribution like Fedora or Ubuntu is just perfect - that you never need touch the command line unless you explicitly intend to learn something new. In reality, the shine comes off these systems quickly, despite their aim at user-friendliness.
I honestly believe there's no reason that computing can't be fun. With the right blend of quality control and appropriate documentation, a system can be delivered that lets the user retain control - as much or as little as they wish.
It's never going to be the year of the Linux Desktop. But maybe, this year, it might be the year you learn to love computing again.
Keep Computers Out of Landfill
Let's be honest with ourselves here. Recovery facilities in China and India that pull the old chips off boards? Those old chips are often permanently damaged in the process. The amount of gold you can recover from CPUs or motherboards is negligible, and the environmental harm done in the process means it isn't worth it.
Ethically, the right thing to do is to keep a functioning computer system functional for as long as is possible. Microsoft doesn't care about helping you do that - they only care that you can run the software that they tell you Windows will run.
Apple ... designs very nice hardware, but doesn't provide extended software support. With the introduction of the Apple Silicon machines, which are by all accounts speed demons, their x86 software support is on borrowed time. Those Apple Silicon machines run Linux very nicely, by the way; as do their Intel predecessors. And as do their PowerPC predecessors.
What needs to be done?
You're gonna need an ocean of calamine lotion.
So - you've heard the marketing spiel from me.
What needs to be done?
Ultimately, the answer to that is - all the unglamorous bitchwork that makes a Linux distribution work.
Packages need to be designed and tested for all the emulators I want to run.
It'd be really nice to get gcc-12 or gcc-13 so that I can package btop.
Packaging neofetch so that Adélie can get free advertising from users excitedly posting screenshots of how cool their desktop looks - neofetch now has an Adélie logo - is a small job and an easy win, and a good way to attract more interest.
Updating the wine package is always a good idea, but it'll need testing, testing, and testing some more. Packaging VICE and KEGS as well as 86Box will also be super useful.
I used to provide minivmac packages - finding a way to reproducibly build that doesn't involve emulating a Mac to get the build system kickstarted would be amazing. Getting BasiliskII to work well, and SheepShaver likewise, would also make my heart gleeful.
There's a lot of work to be done - and there's enough talented and clever people who care about doing it. And we're always happy to welcome others who care.