
Ask HN: Can I exclude Trump supporters in my open source license? - africajam
At the end of the readme for my open source project on github I put the following:<p>&quot;I would encourage anyone who supports Donald Trump as president of the USA or who agrees with his racist statements to desist from using this code.&quot;<p>Is there someway an open source license could be written to explicitly state that supporters of Donald Trump may not use it?<p><i></i>update<i></i><p>Thanks to the suggestion by @notacoward I have decided to go for the following wording instead:<p>This ReadMe document and&#x2F;or the following statement may not be removed from this project or any works that derive from it:
The creator of PropertyWebBuilder is opposed to the racist statements made by Donald Trump during his presidential campaign of 2016 and would prefer that supporters of Donald Trump do not use this project.
======
cocktailpeanuts
I'm not a trump supporter but I wouldn't use an open source project written by
someone with this type of philosophy.

Yes I am judging you philosophically (you're "open sourcing" something but
being closed minded. It's as offensive as saying "I don't want any Russians
using my code"), but also being realistic and trying to give you a
constructive criticism. It's already hard to get traction for ANY open source
project no matter how open you license it. That's why people say use MIT
license or don't bother.

What will probably happen when you DO manage to open source it this way: The
worst case: nobody would care. The best case scenario is your repo will go
viral and you'll get tons of troll comments for what has nothing to do with
your code. If that's what you want go ahead, but as a programmer I would
rather be judged by the code quality and what the project does.

If you read this far, let's imagine in this case your project was actually a
groundbreaking innovative piece of technology that no one has released before.
Here's what will happen: some other "non trump supporter" will take your code
and release it as their own as MIT, and people will use that instead while
you're busy dealing with trump supporters trolling your github repo.

~~~
africajam
I don't expect it would be legally enforceable but I would like the chance to
be able to make a statement with my code.

~~~
cocktailpeanuts
Yeah then don't even bother writing code. Just add a README.md that says that
and you'll get what you want--attention.

------
senior_james
Funny how so many people are against bigotry on HN (I constantly see articles
about it). Yet, it's perfectly fine to be bigoted against someone that goes
against your political beliefs.

Generalization and bigotry will only bring us 8 years of Trump. This sort of
behavior is exactly why people voted Trump into power in the first place:
instead of actually having civil conversations and understanding the
opposition, you attempt to silence and destroy your opponents through passive-
aggressive tactics, shaming, lying, and laws.

Learn from your mistakes and we might have better leaders in the future.

~~~
debt
Nah. Trump gamed the process in more ways than one through the electoral
college and actively encouraging foreign intervention in our election.

Not to mention, he's made several very bigoted statements that helped him get
elected.

I don't recall any other candidates doing anything remotely similar to what
he's done.

Bigotry is different than dissuading others from supporting Trump(who is a
bigot).

~~~
senior_james
"Nah. Trump gamed the process in more ways than one through the electoral
college"

The electoral college is now considered 'gamed'? This has pretty much been how
a president is elected since the United States was founded. If Hillary or
Bernie were actually trying to get the popular vote, their campaign trails
would have looked much different. They were trying to 'game' the system too
(but failed).

"and actively encouraging foreign intervention in our election."

Hillary had 30,000 missing emails and Trump made a joke about Russia. Jokes
aren't supposed to be taken seriously. We also still have no proof Russia
hacked anything. I have access to IP addresses in Russia. It doesn't mean I'm
in Russia or Russian. I will believe it when I see the proof.

"I don't recall any other candidates doing anything remotely similar to what
he's done."

You mean like when Bernie Sanders and Hillary Clinton blame both the wealthy
and white people for all of our country's problems?

"Bigotry is different than dissuading others from supporting Trump(who is a
bigot)."

Trump isn't a bigot. Many of the 'bigoted' things that you see in the
mainstream media were completely taken out of context or were outright lies. I
watched his live speeches and then saw the resulting media coverage. It was
ridiculously bad.

Is Trump going to be a good president? Only time will tell. He's not even in
power yet.

I'm glad you feel it's okay to be bigoted against a person as long as it's not
on the list of protected classes.

Many on HN love to smoke weed. Would it be okay, in your opinion, if all
companies got together and had mandatory, monthly, drug tests, and fired
anyone that had any level of THC in their system?

After all, the government can only give you the freedom of speech, right?
(this is the argument I keep hearing when someone wants to be bigoted against
another (usually on the left) after the Trump election)

When you start to encourage the singling out (and generalizing) of people
based on things such as political opinions, it creates a world where you lose
your freedoms and the only people that come out on top are the wealthy and
those in power.

~~~
debt
Trump encouraged a foreign government to hack Hilary's campaign accounts for
incriminating evidence.

Trump focused on important states where he knew he could a lead with electoral
votes.

He whipped up racist and class hatred to get elected.

I don't have respect for him nor the people who voted for him.

It's deeply disturbing that HN discourages political discourse now that Trump
is in power.

------
steve_g
What does it mean to be a Trump supporter? What if you didn't like him, but
you voted for him as the lesser evil? Are you a supporter? What if you didn't
vote for him, but you still prefer him over Clinton?

Are you a supporter if you hope that he will be a good president now that he's
been elected? Because, you know, he's going to be the president anyway and it
would be nice to have a good one.

Also - what are the "racist statements" of Donald Trump? Is it really true
that he made "racist statements"? Or are you talking about statements that
might be racist if given the most uncharitable interpretation?

------
informatimago
You can just not distribute your software. Keep it for yourself.

Last year, a german developer did that, because he disagreed with the policies
of the European Union.

[http://www.sciencemag.org/news/2015/11/paper-retracted-
after...](http://www.sciencemag.org/news/2015/11/paper-retracted-after-
scientist-bans-use-his-software-countries-welcome-refugees)

That's were you see the notion of country is a great invention: you can gather
all the non racists in a country, and all the racists in other countries
(classified by races), and then everybody is happy. But of course, don't
distribute your products cross borders: establish tariffs and rules for
importation and exportation.

~~~
africajam
Oh wow, that's a great link. So it seems this person does continue to have a
restriction on the use of his software in certain countries as a visit to his
website shows.

------
tveita
It would not be an open source license anymore.

If you really want to make a moral statement at the cost of your code being
unusable by any open source project, corporation or other entity that cares
about following licenses, you might want to consider just adding the

    
    
      The Software shall be used for Good, not Evil.
    

clause from the JSON license.

[http://www.json.org/license.html](http://www.json.org/license.html)

edit: I should be clear that, like the response says, this still wouldn't be
an open source license, and it would be a pain in the ass for anyone wanting
to use it. I'm just saying, at least this clause looks somehat idealistic and
not just pure trolling.

[https://softwareengineering.stackexchange.com/questions/4702...](https://softwareengineering.stackexchange.com/questions/47028/how-
could-we-rewrite-the-no-evil-license-to-make-it-free)

~~~
current_call
The JSON license is not an open source license because it doesn't allow evil
people to use it. This is not a joke.

~~~
africajam
Seriously? That's quite interesting. Got some evidence to back that up?

~~~
captn3m0
That is true. Re-posting what current_call posted above:

[https://opensource.org/osd](https://opensource.org/osd)

The license must not discriminate against any person or group of persons.

That is the legal definition to be compliant as per OSI. The JSON license did
not fulfill it. However, since then, the JSON spec/schema has been worked out
under ECMA 5 standardisation, so you can JSON for all your evil projects now
without a worry. [1]

JSLint, however, you will need to get a waiver like IBM did.[2]

[1]:
[https://news.ycombinator.com/item?id=3693108](https://news.ycombinator.com/item?id=3693108)

[2]: [http://dev.hasenj.org/post/3272592502/ibm-and-its-
minions](http://dev.hasenj.org/post/3272592502/ibm-and-its-minions)

------
stymaar
So you want to exclude people based on their political opinions ? How is it
different from excluding Mexican immigrants from using your code ?

Trump supporters are persons you know, just like gay people, blacks or
immigrants. What difference do you see between your attitude and the average
Trump supporter's one ?

~~~
seattle_spring
Being Mexican is not a choice. Being black or being gay is not a choice.

Associating and supporting someone who hates all of the above is a choice.

See the difference now?

~~~
steve_g
Is it really true that Donald Trump hates Mexicans, gay people, and black
people? How do you know? That's a pretty strong accusation to make without
very good evidence.

This link below is a thoughtful review of some of the evidence. You are, of
course, free to disagree.

[http://slatestarcodex.com/2016/11/16/you-are-still-crying-
wo...](http://slatestarcodex.com/2016/11/16/you-are-still-crying-wolf/)

------
current_call
It would not be open source if you didn't allow Trump supporters to use it.

[https://opensource.org/osd](https://opensource.org/osd)

 _The license must not discriminate against any person or group of persons._

There is no such thing as pro-life or pro-choice open source software.

~~~
africajam
I did not know about the open source definition. Is that just a guide line or
does it carry some weight?

Also, is it discrimination if I give users a choice? You can use my software
whoever you are, you just have to disagree with racism.

~~~
current_call
_I did not know about the open source definition. Is that just a guide line or
does it carry some weight?_

It carries the weight of the names of the people who support it. Take a look
at who is involved in it. Ian Murdock, founder of Debian, is a co-founder for
the OSI.

 _Also, is it discrimination if I give users a choice? You can use my software
whoever you are, you just have to disagree with racism._

Rephrasing it doesn't change anything.

------
acjohnson55
I'm a little sad this post is flagged, because I think this is a discussion
worth having, even if I disagree with the author's idea.

You can do whatever you want, but I think it would be much more constructive
to use your project as a platform for what you believe in, rather than against
certain sets of people.

For one thing, I think we have to recognize that there are common principles
we can build broad consensus around. For many people who voted for Trump,
their vote was the last action in a chain of reasoning that diverged in some
point from common ground. My hope for the future is that we can win many of
these people back by presenting alternative (and far more positive, equitable,
and realistic) pathways to meet their needs than the regressive, reactionary
worldview Trump represents.

At the end of the day, democracy is about building consensus, not shutting out
the people who may driving us mad or even deeply offending us. If you want a
more inclusive future, you have to fight for the hearts and minds of people
who initially disagree with you.

------
canadian_voter
How about a more positive message? "The creator of this software believes in
equal rights" or "Be excellent to one another".

Picking on "Trump supporters" is a pretty low blow. And in practical terms is
probably pointless -- basically just virtue signalling[0].

I know it's hard to know what to do, but if we're going to make a positive
change in the world, we're all going to have to do better than this.

[0]
[https://en.wikipedia.org/wiki/Virtue_signalling](https://en.wikipedia.org/wiki/Virtue_signalling)

------
antisthenes
You would have to contact the department of Thought Police that would help you
identify Trump supporters. From there on, simply compile a list of people that
may not use your software.

The rest is trivial.

------
adpoe
Serious philosophical question: can you verify someone's ideology, their
internal mental state?

If not -- then this doesn't seem possible.

If yes -- then maybe.

.....

That said, from an editorial perspective, I find this very troubling.

More and more in America, we attempt to shame others based on what _we
perceive_ as their intentions and internally held beliefs and attitudes.

In objective reality, we can never fully know or understand what someone else
is feeling, or what they intend. (At least as far as I am aware.)

Yet many of us still pretend we can, denouncing and shaming others because of
their _perceived_ intolerant or hateful beliefs. And, it's becoming socially
acceptable, sometimes even encouraged... forgive me, but this whole idea is
extraordinarily surreal.

EDIT: What makes this doubly strange - if this were satire, it would be funny.

------
hobarrera
> Can I exclude Trump supporters in my license?

Yes.

> Can I exclude Trump supporters in my open source license?

No, because that license would not be open source. [1]

[1]: [https://opensource.org/osd](https://opensource.org/osd)

------
icomefromreddit
It would not be an free software.

> But software which OpenBSD uses and redistributes must be free to all > (be
> they people or companies), for any purpose they wish to use it, > including
> modification, use, peeing on, or even integration into baby > mulching
> machines or atomic bombs to be dropped on Australia.
    
    
        Theo de Raadt cvs@openbsd.org mailing list, May 29, 2001
    

> The JSON License > > This is the license of the original implementation of
> the JSON data > interchange format. This license uses the Expat license as a
> base, but > adds a clause mandating:“The Software shall be used for Good,
> not Evil.” > This is a restriction on usage and thus conflicts with freedom
> 0. The > restriction might be unenforcible, but we cannot presume that.
> Thus, > the license is nonfree.
    
    
        Various Licenses and Comments about Them (https://www.gnu.org/licenses/license-list.en.html)
    

Also: json-evil-license
([https://wiki.debian.org/qa.debian.org/jsonevil](https://wiki.debian.org/qa.debian.org/jsonevil))

------
whatevorama
I am the opposite of a Trump supporter but that's going too far. Why? Because
I have a hard time believing that there are significant numbers of Trump
supporters in the developer community. Developers need to understand logic
pretty well that automatically eliminates 98% of Trump's claims.

You're better off saying the software can't be used to produce trolling bots.
You have a better case there.

------
Eyas
My two cents: Be affirmative rather than negative. Say what values you stand
for, what movements and groups you wish to support and empower, and not which
groups you oppose and wish to exclude.

By the FSF definition of "free", this might be an unfree (restrictive)
license. But that neednt stop you. Still, an aspirational statement of what
you wish to support and further is likely more productive.

------
allemagne
To my knowledge, even RMS doesn't demand ideological purity from users of his
software. Why do you?

~~~
Eyas
To be fair, RMS ideology is expressly against demanding any restrictions like
this. So ideological purity can't be demanded by RMS without being a
hypocrite.

------
notacoward
The problem is defining "supporter" in legal terms. It's probably easy to
exclude the Trump Organization itself, but what about those who do business
with them? You could exclude people who directly contributed to Trump's
campaign, but does one such person in a company bar use by the entire company?
It quickly becomes a bit of a quagmire.

Possible alternative: require preservation of a copyright notice which (among
all the usual stuff) condemns Trump and his policies. It gives voice to your
protest, without the definitional hassles that enforcing a restriction would
have.

~~~
africajam
Great!!! I love your possible alternative suggestion.

Perhaps something along the lines of:

This ReadMe document and/or the following statement may not be removed from
this project or any works that derive from it:

The creator of PropertyWebBuilder is opposed to the racist statements made by
Donald Trump during his presidential campaign of 2016.

------
debt
Absolutely. I think this is a very novel form of protest. It would be
interesting to see developer's reactions to it.

------
tessierashpool
You would need to use more grounded specifics for it to be legally actionable,
but of course the answer is yes. Your code is your legal property, and how (or
if) you license it is your choice.

~~~
africajam
To be honest it would be more about making a statement than trying to enforce
it legally.

------
Clubber
Half of the reason legalese is so complex is to attempt to cover all bases,
the other half is so that lawyers need to be hired to translate it.

Just put in simple plain language what you want to exclude. If you find
someone violated your terms (most people do not read them), then it's on you
to drag them into court and prove that they were a Trump supporter and to
define that term.

------
MK999
[https://en.wikipedia.org/wiki/Virtue_signalling](https://en.wikipedia.org/wiki/Virtue_signalling)

------
thiht
Why would that be acceptable? It's definitely not acceptable for a restaurant
owner to serve, say, muslims or black people. How is that any different?

~~~
thiht
I meant: "to refuse to serve"

------
GFK_of_xmaspast
I bet a lawyer could help with this.

------
zxcvvcxz
This is stupid. Keep your politics out of software, whatever they might be. If
you're really so intent on combining the two, go make a separate project for
doing so.

~~~
dang
> _This is stupid._

Partisan threads are bad enough without stooping to this. Please edit such
name-calling out of your comments here, as the HN guidelines ask:
[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html).

~~~
current_call
_name-calling_

I don't see any name calling.

~~~
dang
Please read
[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)
and you'll understand the sense in which the term is used here.

~~~
africajam
Is this argument / debate the reason this post has been flagged?

~~~
DanBC
There are ways to ask questions about restrictive clauses in licences that
don't cause shitty threads, which is something that almost always happens when
US politicians are named.

~~~
africajam
You're right - lessons learnt ;)

