94 comments

[ 4.2 ms ] story [ 74.2 ms ] thread
It really seems like you just don't want to be open source. That's your choice.
I've never understood open sourcing something, but only if I like you. The answer is to have proprietary license that you only give out to select users/companies.
Your project would no longer be open source. It would become source-available proprietary software.
There is the MIT+ni*ger license. Please don't ban me, just saying. No company would ever use your software given this license, but your users may boycott you too
You can probably close-source and sell for cheap, pick and choose who you sell it to.
Post is dated 2026-01-01, I guess it was maybe not meant to be released yet?
"No man is wise enough to know all the evil that he does." -Rochefoucald
This is already explored - use source available instead of open source.
There are plenty of licences to achieve this that'll make your code unusable.

CC-BY-NC allows you to ban commercial use. There is also the Hippocratic licence[2] which allows you to choose from a variety of "evil corporation" types, from fossil fuels, mineral exploration, the Taliban, companies that have more than 200% pay inequity, etc.

Pretty much all of these licences will make your project unusable and no longer free software, but hey, they exist!

[2] https://firstdonoharm.dev/build/

Open source is a gift you’re giving.

Companies take that gift and use it to provide a service for cheaper than it would otherwise be if they had to build it all themselves.

You are already benefiting from open source - but it is a tiny benefit and subtle and very indirect and very diffuse.

Licensing is thorny but it’s personal choice too.. would you use a project whose license is “use it for now unless or until I decide you’re evil at my discretion”.. probably not. Probably, someone else would get the users you have now, and the corresponding popularity.

It is a tough choice, but it’s a lovely and important thing you’re doing when you provide the gift of open source software.

If your project is a library, stamping a copyleft license on it will shun away corporations, AI training aside. Bad guys won't care either way.

The "no evil" goal is commendable but impossible.

Free software is about freedom. Restricting it from anyone means it's not free. There is no requirement that we must create free software but if it's called free I think it should always have the basic qualities of freedom; not only when it fits our purposes and our values.
Whats the context to wanting to stop "bad guys" from using your open source project?

Might want to elaborate while you're on the front page!

If you prevent licensing software to large corporations, small corporations won't use it, either, because small corporations may get acquired by large ones. Such a license would be a "poison pill".

I am not a lawyer and this is not legal advice.

We picked the Boost license for the D Language Foundation because it is the closest to public domain we could find.

Besides, why would "bad guys" be deterred by a license, anyway?

Make it source available. It won't help, but you might feel better.

DuckStation (PS1 emulator) changed license from GPL to CC-BY-NC, because Chinese manufacturers were including it in their hw devices. Somehow I doubt that helped.

I am not a lawyer and do not know all of the other things, but I will write what my idea is.

Some possibilities (while still being FOSS) might be:

- Use AGPL3 license, and do not make exceptions. (Alternatively, make an exception but make it possible to revoke the exception.)

- Design the program for uses that are not bad so that bad uses might be more difficult.

- Sue them, if this becomes necessary.

These combination might make it difficult for bad guys to use it for bad purposes, although some organizations might ignore the license and use it anyways, but you cannot really prevent that.

Take a look at the original json.org license and all the problems that the "not for evil" clause they added to it had caused.

Ultimately though, if you put a non free license on your libraries, somebody will cry foul, fork it, and evil will still happen.

Sounds like the guy that invented bicycle helmets. He didn’t want Nazis to feel safe letting their kids ride bikes to school either.
Just make it GPL, there is no chance evil company would tolerate the enforcement of giving back, let alone lawyers to make sure they comply.
The important thing to realize is that once you have release something, you have no control over how it is used. It doesn't matter whether it is an open source license or a commercial license. You have the right to take legal recourse, may that be over copyright infringement or licensing terms, but that requires both the means and desire to pursue what may be a lengthy process with an uncertain outcome. Worrying about stuff you cannot control is going to have a far more negative impact upon your life than it will upon those who are using your software for evil.

So what can you do?

Learn how to set boundaries. If a corporation demands something that you have no interest in providing, tell them no. If you are interested in providing it, request compensation for the work or request they submit a patch or let them wait until you can do the work on your terms.

For honest leechers, choose a license that discourages them. Switching from a MIT style license to a GPL style license won't prevent people from profiting from your work, but it will discourage those who want to make proprietary extensions to your work. Also realize that this won't stop dishonest leechers.

Continue to voice your concerns. Corporations don't feel guilt, but people inside them may. Even if the people within them don't feel guilt, they may still see you as an unreliable developer to exploit.

How are you planning to find out about violations of the license and then enforce license compliance? The GPL is very commonly violated, and license compliance costs a lot to enforce since you have to go to court, which also takes a long time.
I expect any license change away from permissive/pushover licenses is just going to be interpreted as a rug pull and worked around using a fork, or another existing project or new project.
I created a software license which is effectively BSD, but lists priority boycott targets and rationale from BDS (boycott-divest-sanction for Palestinian liberation), in an information-only section that has no bearing on the software freedoms and restrictions, but is nevertheless required to be copied as part of the license[1].

I don't actually recommend using this specific license yet, because the text from bdsmovement.net is not technically available under a permissive license (they told me I could use it... but I don't think the person fielding my request really understood what I was asking), but perhaps you can make something similar out of your preferred permissive software license (this is a no-go with GPL unfortunately because any derived license would be incompatible with GPL in addition to permissive-licensed software)

If you're a fan of BDS you can also just list the priority targets in your license, or give the BDS organizers another nudge via email.

I think the power of this is that such licenses wouldn't change how people might use the software. And big corps like Google, Amazon, et al may accidentally end up using such software (which is perfectly allowable via the license), but would then have to circulate a license which calls for their boycott and highlights their complicity in oppression. So I think it'd be fun if some software using this license makes its way into an end-user product of theirs

[1]: https://ossforpalestine.top/

> Can we prevent Nazis from using our software?

Short of engaging in equally authoritarian control-freakery? I don't see how.

I'm amused by one package author that I'll leave unnamed who has a list on his site enumerating political parties around the world at one end of the political spectrum and announcing that supporters of these parties are disinvited to use his work.

I'm all: "Dude, get over yourself. Parties ALL suck. Now, do good, and consider investing less time on posturing."