Patches welcome January 1, 2019 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/ [mailing list etiquette]

Articles from blogs I read Generated by openring

What's cooking on SourceHut? January 2022

Hello and happy new year! After a bit of well-deserved rest during the holidays, our staff (and many of our contributors) have spun our work streams back up and development continues. Our userbase has grown this month by another 634 users, bringing the total…

via Blogs on Sourcehut January 17, 2022

Status update, January 2022

Hi all! This month’s status update will be quite shorter than usual, because I’ve been taking two weeks off. I’ve been in Strasbourg (a city in the east of France) for New Year’s Eve. We’ve cooked a bunch of local food, including a Kougelhopf: But let’s get b…

via emersion January 17, 2022

Two New Tutorials for 1.18

Two new tutorials have been published in preparation for the release of Go 1.18.

via The Go Blog January 14, 2022