zlacker

[return to "Open source is neither a community nor a democracy"]
1. Grimet+ad[view] [source] 2024-06-29 10:37:35
>>levlaz+(OP)
On the one side: Yes, truer words have never been spoken. You want a new feature added? Want to talk about how the project should change directions? Want to impose new rules? Do a little power play? Yeah, start working on the project, implementing changes/features you want to see.

On the other side: No. When you provide software that is widely used and that people rely on, you automatically created a community where fixing bugs is an obligation. Your software has become a corner stone in other people’s software stack/life and so those people and their issues with your software have become your problem, too. If you want it or not.

Hiding behind open source and not fixing bugs has become a deal breaker so many times over the last few decades, that I stopped counting. Not everybody knows the language needed to fix a bug and not everybody understands the dependencies within a project to being able to fix a bug. So “fixing” one bug can create ten new ones and make things much worse.

Not to mention what happens when you attempt to fix the bug but the source is not accepted upstream because it’s bad, which is understandable, but still leaves you with an upstream version of the software and your patched version that fixes said bug.

◧◩
2. flohof+je[view] [source] 2024-06-29 10:52:04
>>Grimet+ad
Well, never use a dependency that you couldn't write or maintain yourself. It's really quite simple. As soon as you use a dependency, you take ownership of that code within your project. If you need changes made that the dependency owner isn't willing to do then fork the dependency. If you can't do that, don't use that dependency.

The actual advantage of open source is that you actually have access to the code, create a fork and maintain it yourself if things go south.

◧◩◪
3. msteff+mK1[view] [source] 2024-06-30 04:29:08
>>flohof+je
> Well, never use a dependency that you couldn't write or maintain yourself.

I must ask, do you use Linux?

(Linus, notably: can be hard on maintainers, very respectful of userspace)

◧◩◪◨
4. kelnos+TN1[view] [source] 2024-06-30 05:47:36
>>msteff+mK1
I kinda feel like this is a bit of a bad-faith proto-argument.

The chances of the Linux kernel suddenly becoming completely unmaintained are so close to nil that it's not really worth considering.

But yes, if you're running something on top of Linux, and run into a kernel bug, you're of course free to report it, but the only guarantee is if you find and fix the bug yourself. None of those kernel developers are obligated to help you. In practice, many will want to help you! But that's not something anyone is entitled to.

I've worked at shops where there were people (myself included) who were capable of and occasionally had to dive into the kernel to fix issues. Often these were kernels coming from BSPs from some random chipset manufacturer, where the kernel was a year out of date and no Linux developer would want to touch it anyway. But even if we were running the absolute latest kernel version, we'd still probably dive in to investigate while reporting the issue upstream.

◧◩◪◨⬒
5. msteff+pQ1[view] [source] 2024-06-30 06:41:56
>>kelnos+TN1
Ok, I admit I was bristling a bit at the “it's really quite simple” tone.

FWIW, here’s my actual view on this: there’s a great episode of the Oxide and Friends podcast where Brian & co. talk to Kelsey Hightower about Hashicorp changing the Terraform license to exclude a lot of companies in the TF ecosystem—the ultimate “we’re the maintainers we can do what we want” move. Kelsey has maintained many open source projects and understands the importance of maintainers having freedom to focus their energy where they see fit regardless of what the peanut gallery thinks.

His view, which I agree with, is that what is ultimately needed is upfront clarity from maintainers about how they’re going to govern the project. If you want to have complete control over your project and ignore bugs and pull requests as you see fit, and users need to accept the software as it is, that is fine and good, but put it in the README so that prospective users know what they’re getting into. If you want to have a community-driven governance structure where people have a path to getting involved and steering the project, like Kubernetes, that’s good too and you should lay all that out for users too. What Terraform did, where they cultivated community engagement in order to have this plugin ecosystem and then rug pulled those plugin authors by changing the license, “poisoned the well of open source” (his words) by giving the impression that OSS is inherently fickle and serious teams should be hesitant to use it because maintainers can and will break things carelessly. I worry that comments like the OP’s reinforce this impression.

Professionally, I am one of the developers of Pachyderm, which is an open-source version control and data pipelining tool.

[go to top]