At the end of the readme for my open source project on github I put the following:<p>"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."<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/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.
I'm not a trump supporter but I wouldn't use an open source project written by someone with this type of philosophy.<p>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.<p>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.<p>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.
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?<p>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.<p>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?
You can just not distribute your software. Keep it for yourself.<p>Last year, a german developer did that, because he disagreed with the policies of the European Union.<p><a href="http://www.sciencemag.org/news/2015/11/paper-retracted-after-scientist-bans-use-his-software-countries-welcome-refugees" rel="nofollow">http://www.sciencemag.org/news/2015/11/paper-retracted-after...</a><p>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.
It would not be an open source license anymore.<p>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<p><pre><code> The Software shall be used for Good, not Evil.
</code></pre>
clause from the JSON license.<p><a href="http://www.json.org/license.html" rel="nofollow">http://www.json.org/license.html</a><p>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.<p><a href="https://softwareengineering.stackexchange.com/questions/47028/how-could-we-rewrite-the-no-evil-license-to-make-it-free" rel="nofollow">https://softwareengineering.stackexchange.com/questions/4702...</a>
So you want to exclude people based on their political opinions ? How is it different from excluding Mexican immigrants from using your code ?<p>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 ?
It would not be open source if you didn't allow Trump supporters to use it.<p><a href="https://opensource.org/osd" rel="nofollow">https://opensource.org/osd</a><p><i>The license must not discriminate against any person or group of persons.</i><p>There is no such thing as pro-life or pro-choice open source software.
It would not be an free software.<p>> 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.<p><pre><code> Theo de Raadt cvs@openbsd.org mailing list, May 29, 2001
</code></pre>
> 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.<p><pre><code> Various Licenses and Comments about Them (https://www.gnu.org/licenses/license-list.en.html)
</code></pre>
Also: json-evil-license (<a href="https://wiki.debian.org/qa.debian.org/jsonevil" rel="nofollow">https://wiki.debian.org/qa.debian.org/jsonevil</a>)
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.<p>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.<p>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.<p>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.
How about a more positive message? "The creator of this software believes in equal rights" or "Be excellent to one another".<p>Picking on "Trump supporters" is a pretty low blow. And in practical terms is probably pointless -- basically just virtue signalling[0].<p>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.<p>[0] <a href="https://en.wikipedia.org/wiki/Virtue_signalling" rel="nofollow">https://en.wikipedia.org/wiki/Virtue_signalling</a>
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.<p>The rest is trivial.
Serious philosophical question: can you verify someone's ideology, their internal mental state?<p>If not -- then this doesn't seem possible.<p>If yes -- then maybe.<p>.....<p>That said, from an editorial perspective, I find this very troubling.<p>More and more in America, we attempt to shame others based on what <i>we perceive</i> as their intentions and internally held beliefs and attitudes.<p>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.)<p>Yet many of us still pretend we can, denouncing and shaming others because of their <i>perceived</i> intolerant or hateful beliefs. And, it's becoming socially acceptable, sometimes even encouraged... forgive me, but this whole idea is extraordinarily surreal.<p>EDIT:
What makes this doubly strange - if this were satire, it would be funny.
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.<p>You're better off saying the software can't be used to produce trolling bots. You have a better case there.
> Can I exclude Trump supporters in my license?<p>Yes.<p>> Can I exclude Trump supporters in my open source license?<p>No, because that license would not be open source. [1]<p>[1]: <a href="https://opensource.org/osd" rel="nofollow">https://opensource.org/osd</a>
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.<p>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.
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.<p>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.
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.
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.<p>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.
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?
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.<p>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.<p>Learn from your mistakes and we might have better leaders in the future.
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.