I don’t agree that social pressures to conform to unwritten rules are in the spirit of open source, nor is asking maintainers to treat your project different from 60,000+ other packages.

In fact, not all of the packages in Nixpkgs are even open source. Even more in fact, Nixpkgs doesn’t even redistribute packages directly - there are caches, but the core thing that is provided is a manifest.

What we have here is not an open source problem. What we have here is a social problem that happens to regard a project that is open source. Outside open source, people who are concerned about distribution for one reason or another certainly exist - in the past, asking people to not repost their downloads and instead link to their pages, pleas that often went unanswered due to the ruthless desire to share information freely online, licitly or illicitly.

Tying this into support is totally moot. First of all, that impacts any free as in beer software equally; on NixOS especially. Secondly, the connection to FOSS being unsustainable is not warranted here in my opinion. Home Assistant is a highly visible project that appears to have a couple different approaches to monetization. It isn’t exactly the unsung hero of the open source ecosystem as a whole. Thirdly, there is no obvious specific event that spurred this all on, so it’s not clear this was the motivation. Finally, the NixOS maintainers seemed willing to go different lengths to try to satisfy this support angle and were swiftly shut down with the author acting increasingly more impatient, seeming to not understand why they are trying.

And that caused pressure to the NixOS maintainers. Who are volunteers on an open source project who are trying to not break their own users by removing or stalling a popular package they already had[1]. The whole conversation looked very stressful and one-sided.

I can’t say exactly what happened here, but I hate the framing that suggests this is a healthy direction for the open source community. It feels like we’re setting up for a world where, counterintuitively, a ton of expectations are hoisted on you if you release open source software. Like do I have to check with all of my upstreams that vendoring my dependencies doesn’t upset them? The second and third order effects here do not sound tenable to a healthy community. Licenses are meant to encode expectations in a tangible way; that this is imperfect is obviously clear when you consider peoples abject reactions to things like the SaaS loophole - it reflects a place where a mismatch occurred.

This really isn’t that. This is more like something that could actually just be encoded into the license but isn’t. That’s a problem. Because if they are successful, this sets a bad precedent. It smells an awful lot like distributing software under one license but stipulating additional things on top. Taken to its extreme, it could start to smell an awful lot like shared source but with the legal benefit of being able to rely on software whose licensing wouldn’t permit such a combination.

And that’s just it. Open source is an asset and a strong brand. I think when bootstrapping, a lot of people see the benefits as hard to ignore, and maybe make the choice despite that it may not truly align with their personal views and attachments to projects. It’s really the same thing when it comes to a lot of the open source debates lately; it feels like an increasingly large amount of people want the control that you have with closed source, while maintaining the branding benefits and assets opened up by being “open source.” I can’t pretend to know what the motivations for this whole debacle were, but the author actually did suggest they would simply move the dependency to a shared source license and add an exemption for home assistant. In actuality, there is nothing wrong with this, so as long as it doesn’t trample on any license obligations elsewhere. I and many others are not suggesting you are morally obligated to use open source licenses or anything like that.

But I think if you do use open source licenses, while you aren’t particularly obligated to do anything, you are also not particularly owed anything. I really, really, really think it needs to be kept that way.

[1]: https://github.com/NixOS/nixpkgs/commit/bacbc48c