Development / Open Source

This Week in Programming: Where Open Source Ends and Free Support Begins

21 Nov 2020 6:00am, by

This week, we bring to you the tale of a lone open source developer by the name of Patrick Ahlbrecht who dared to stand up and declare to the world that, “no, ‘open source’ does not mean ‘includes free support'” and then, when many responded in various expected ways, again reiterated his (to some indefensible) position.

The gist of Ahlbrecht’s first post on the topic was this: users of his open source software want to report “bug fixes,” for which he directs them to submit a support ticket, which they don’t want to do because that involves payment.

“From there it typically derails into a whiny tirade about me being a crappy two bit developer who doesn’t give a shit about his code (which is ridiculous, since, professional pride aside, I have every incentive to fix bugs, to prevent my inbox from getting flooded) and just wants to rip off his users,” he writes.

He goes on to explain that he writes open source software to solve his problems and that, should you desire to fix said problem, the source code is provided. Beyond that, many of these so-called “bug reports” turn out to be support requests with no expectation of payment. “That is commonly called work,” writes Ahlbrecht. “And surprisingly enough, work is what people expect to be paid for.”

Of course, Ahlbrecht’s no-nonsense approach and rather blunt language on the topic stirred up a bit of a frenzy, and his entitled readers felt spurned to respond, to which he offered even more blunt and firm retorts. The main fault I see in all of this is his missing a prime opportunity to insert a video from “Goodfellas,” but perhaps it isn’t the cultural phenomenon in the Netherlands as it is here.

In this post, Ahlbrecht offers a defiant tone that surely some of you out there have only dreamed of crafting in your bug report responses. “Gosh, people were fuming about me (supposedly) stating that I would not accept their hand-laced, gold-edged, rose-scented bug reports without prior payment. How dare I?! Well, I simply do,” he starts off. He ends off with a conclusion that summarizes much of his entire argument:

I’m not running a charity and I don’t want your “support”. I want, same as you, being paid for the work I do. I find it utterly dishonest to put my work under an open source license, then spend a ridiculous amount of extra work on guild tripping my users in order to collect alms. If the license says, the software is free to use, then that’s the deal. You get exactly that. Nothing more, nothing less. Everything else is extra and billable.

Either way, for those of you out there maintaining open source projects, this offers a cathartic read, wherein one of your brethren decides to stand up and, much like the “Goodfellas” clip, declare “Fuck you, pay me” to everyone looking for a free ride. Agree or not, it’s worth the read… and a chuckle.

This Week in Programming

  • Docker Backs Up Its Rate Limit Claims With Numbers: Earlier this month, Docker imposed rate limits on image pulls from Docker Hub, citing just 1% to 2% of its user base as being responsible for “roughly 30% of all downloads.” Now, the company has come out with a blog post looking at its rate-limiting by the numbers, which they say “shows the dramatic impact that a very small percentage of anonymous, free users have on all of Docker Hub.” It’s the same argument, basically, but this time with a chart, and with the math being done for those of you who feel that 100 to 200 pulls every six hours is not enough. “In the context of a developer’s daily workflow, 100 pulls in six hours amounts to a docker pull every 3.6 minutes on average, for six consecutive hours,” they write, noting that if you need more, well, you might consider subscribing to a paid plan. This adds up to 12,000 anonymous pulls a month, or 24,000 if you’re authenticated. Those affected, they say, should amount to around 40,000 IP addresses out of more than 2 million. If you’re looking for a way to address this, as there can be some difficulties in configuration for Kubernetes users, check out our explainer on what Docker Hub limits are and how to route around them. And for you GitLab users, there’s a new post on its blog this week about how to make Docker Hub rate limit monitoring a breeze.

  • GitLab Centralizes Integration Configuration: Speaking of GitLab, the company has introduced integration management, a central place to manage the various application integrations — Slack, Jira, Prometheus, what have you — so that you no longer have to manage each one at the project level, but rather across your entire GitLab instance, for all your projects. As of GitLab 13.3, you were able to add an integration across an entire GitLab instance, for all projects, and with GitLab 13.6 you’ll be able to do this at the group level as well. The feature will also allow you to roll out integrations without sharing credentials at the project level. For a bit more, check out the video below, but before we leave GitLab entirely, also note that GitLab’s first GitLab Community Day is coming up shortly on Dec. 1, and it looks like it’s tailored to those of you just getting into continuous integration, so heads up.

  • GitHub Addresses Notification Fatigue: Continuing on its path to deal with notification fatigue, something it looked at earlier this year, GitHub has introduced custom notification controls with an update last week to help users unwatch repositories they are no longer interacting with and one this week that gives more control over the types of content that you are notified about. Now, you can get granular updates and select the type of things you want notifications about — code reviews, pull requests, discussions, what have you. Check out the post for full details and how to get started.
  • GitHub Reinstates Youtube-dl Repo: If you haven’t been following along, no worries, GitHub offers a recap of the story from the very beginning around a popular project on GitHub that was recently removed after a Digital Millennium Copyright Act (DMCA) takedown request and subsequently reinstated after additional information was received. Read on for a tale of international intrigue (not really) dating back to the laws of the late 1990s around “circumventing a technical protection measure (TPM)” that failed to unsurprisingly account for the internet of today. In this particular case, the argument in part came down to “just because code can be used to access copyrighted works doesn’t mean it can’t also be used to access works in non-infringing ways” and the repo was reinstated with some minimal changes. The post is worth a read, both for its dissection of how this all came to pass and for what GitHub is planning to do to address the issue moving forward, including working to change the law and “advocating specifically on the anti-circumvention provisions of the DMCA to promote developers’ freedom to build socially beneficial tools like youtube-dl.”
  • GitHub Desktop Gets Split Diffs: One more quick update from GitHub this week: the introduction of split diffs in GitHub Desktop, a highly requested feature that lets you optionally visualize code changes in a side-by-side, or split, view with syntax highlighting. Download the newest version of GitHub Desktop to get the new feature.

Feature image by Gino Crescoli via Pixabay.

A newsletter digest of the week’s most important stories & analyses.