Patches welcome

Published 2019-01-01 on Drew DeVault's blog

Happy new year! This is always a weird “holiday” for me, since all of the fun happened last night. Today is just kind of… I guess a chance for everyone to sober up before work tomorrow? It does tend to invite a sense of reflection and is the ideal time to plan for the year ahead. One of my goals in 2019 is to change more people’s thinking about the open source community and what it means to count among their number.

I think there’s a certain mode of thinking which lends itself to a more productive free software community and a happier free software contributor. Free software is not theirs - it’s ours. Linux doesn’t belong to Linus Torvalds. Firefox doesn’t belong to Mozilla, vim doesn’t belong to Bram Moolenaar, and ffmpeg doesn’t belong to Fabrice Bellard. These projects belong to everyone. That includes you! In this way, we reap the benefits of open source, but we also shoulder the responsibilities. I’m not referring to some abstract sense of reponsibility, but the tangible ones, like fixing bugs or developing new features.

One of the great things about this community is how easy it is to release your software under a FOSS license. You have no obligations to the software once it’s released, except the obligations you hold yourself to (i.e. “if this software makes my computer work, and I want to use my computer, I need to keep this software in good working order”). It’s important for users to remember that they’re not entitled to anything other than the rights laid out in the license, too. You’re not entitled to bug fixes or new features - you’re empowered by free software to make those changes yourself.

Sometimes, when working on sway, someone says something like “oh, it’s a bug in libwayland”. My response is generally along the lines of “I guess you’re writing a libwayland patch then!” The goal hasn’t changed, only the route. It’s no different from being in the weeds and realizing you need to do some refactoring first. If a problem in some FOSS project, be it a bug or a conspicuously missing feature, is in the way of your goals, it’s your problem. A friend of mine recently said of a missing feature in a project they have nothing to do with: “adding FreeBSD 12 support is not yet done, but it’s on my todo list.” I thought that perfectly embodied the right way to think about FOSS.

When applying this philosophy, you may occasionally have to deal with an absentee maintainer or a big old pile of legacy spaghetti code. Fork it! Rewrite it! These are tough marbles but they’re the marbles you’ve gotta deal with. It’s not as hard as it looks.

The entire world of free software is your oyster. Nothing is off-limits: if it’s FOSS, you can work on it. Try not to be intimidated by unknown programming languages, unfamiliar codebases, or a lack of time. You’ll pick up the new language sooner than you think1, all projects are similar enough when you get down to it, and small amounts of work done infrequently adds up over a long enough time period. FOSS doesn’t have to move quickly, it just has to keep moving. The Dawn spacecraft accelerated at 0.003 cm/s2 and made it to another world2.

  1. Especially if you have a reason to learn it, like this bug you need to fix 

  2. Actually, it visited 3. 

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/public-inbox@lists.sr.ht [mailing list etiquette]


Articles from blogs I follow around the net

Updates in August 2019

This post gives an overview of the recent updates to the Writing an OS in Rust blog and the used libraries and tools. I was very busy with finishing my master's thesis, so I didn't have any to implement any notable changes myself. Thanks to contrib…

via Writing an OS in Rust September 9, 2019

Go 1.13 is released

Today the Go team is very happy to announce the release of Go 1.13. You can get it from the download page.

via The Go Programming Language Blog September 3, 2019

What is RISC?

This is an archive of a series of comp.arch USENET posts by John Mashey in the early to mid 90s, on the defnition of reduced instruction set computer (RISC). Contrary to popular belief, RISC isn't about the number of instructions! This is archived her…

via Dan Luu July 29, 2019

Generated by openring