Let's talk about FOSS pitfalls for a bit.
A few days ago Redis Labs introduced Common Clause to some of add-on modules. The Common Clause adds additional restriction to their regular (IIRC, BSD) license: you can not sell it. Basically ending free usage by cloud providers.
In short: it's all about money. Redis Labs saw competition using their product and not paying for it. Not good.
The problem many saw is that Common Clause is technically not OSI compliant.
For the purpose of this discussion, OSI compliance and Free Software is basically identical. Both are heavily against any restrictions and discrimination.
Anyway, in FOSS it's a big no-no to tell anyone they can not run your software.
Historically it was a reasonable stance. FSF found a legal loophole and through licensing enforced spreading of software, growth of community and solicited contribution.
Very soon an issue was found with infectious nature of GPL: big companies didn't want to use GPL software because of too restrictive license. A bunch of more permissive licenses appeared and eventually OSI formed that in spirit was similar to FSF but was a bit more pragmatic and allowed more permissive licenses. However a non-discrimination was (and still is) one of defining principles of an OCI-compliant license.
Having to way to restrict distribution or execution of software, turns out, is a limiting factor to growing business around FOSS. And I mean not only a regular SW business, like Microsoft but also just a financial support structure to ensure longevity.
For a long time in FOSS history project were sustained only by volunteer work.
Only relatively recently projects started being financed. Big Cos, whose core business is not SW found interest in FOSS. Some project get released from BigCo and supported by paying employees to work on it. Other's get adopted by sponsoring core developers on critical third-party projects. Some manage to grow a commercial offering on top of an open core.
OK, here's another story. A few days ago one of the maintainers of Lerna added a clause to their MIT license prohibiting project use by companies working with ICE. There were about a dozen of big well known companies on the list (like Microsoft, Amazon, Dell, Xerox, etc).
There was much outcry of such desecration of OCI license.
The change was reverted the next day, and the guy was removed from the maintainers team.
A similar thing happened a long time ago when JSON license included "shall be used for Good, not Evil".
There was much discussion about it as well. It's vague (yes, but not the point), it's non-free (yes, and it was the intention), etc.
Eventually it became an ECMA standard and an RFC was issued and the clause didn't apply any more.
Both incidents in the eye of FOSS community were judged negatively. Mostly because both violated the non-discrimination principle.
Main argument in defence of the principle is that author can not predict how their SW can be used and so can not be held responsible for it.
Which is definitely true.
But doesn't the author have a moral obligation to make the world a better place? If not predict every misuse then at least some and try and prevent it?
So maybe it’s time to find an alternative to non-discrimination principle? Something that allows the author to do the right thing while, again, keeping the benefits of FOSS.
FOSS was an improvement to the situation at the time of its inception. Both FSF and OCI helped a lot. But they are not ideal. Maybe it's time to think on improvement to FOSS?
@pointlessone my perspective on this is that when you make something available for "anyone" to use, that should really mean "anyone"
Export-controlled software is REALLY weird and annoying and still an issue. People want to avoid that.
@pointlessone offensive / attack "out of the box ready" code is not something that I think should be available for "anyone" to use. which means, don't give it away at all.
@riking You can’t work around export control with license, though.
This is most likely unenforceable in practice but still state law supersedes any license.
You probably can get in trouble if you write something your government doesn’t want exported.
You’re probably OK to contribute to non-compliant project as long as your contribution doesn’t break the law. Probably. IANAL.
@riking You don’t have to make something available to “anyone” do you? It’s a common practice in FOSS but it’s not something you have no control over.
You can choose to not release it for everyone to use. For example CC-NC is a thing. It’s strictly non-free. But it’s used and it’s all right. Choosing FOSS license is not an impartial decision. It is very much a political statement, no less than prohibiting use by ICE.
status.pointless.one is one server in the network