28

I did not find the lawyers' SE site, so I thought it best to post here.

/*
 * ...subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * The Software shall be used for Good, not Evil.
 *
 * THE SOFTWARE IS PROVIDED "AS IS"...
 */

This is the 'non-free', Crockford, No-Evil, MIT-style, license. This license is considered non-free because of this phrase: "The Software shall be used for Good, not Evil."

How could we rewrite this to become a 'free' license, while retaining the original spirit of the sentence?

11
  • 17
    "Go ahead and use this software, but don't look at me if you become reincarnated as a cockroach or something". Too metaphysical?
    – James Love
    Commented Feb 12, 2011 at 11:38
  • 3
    @Karpie Details here... Commented Feb 12, 2011 at 12:47
  • 6
    Oh wow, that's actually really interesting. I love the line at the end about IBM using the code for evil - that's hilarious. The world of software licensing is a tricky one indeed.... I can much agree with the spirit of the sentence in question.... but can see the other side too. How fascinating... Commented Feb 12, 2011 at 13:57
  • 7
    Who defines evil? would the be google and their policy of don't be bad. Evil like beauty is in the eye of the beholder. Commented Aug 1, 2012 at 15:27
  • 5
    Realistically? It already is "free", since no sane judge on earth (and yes, we have to assume the judge is sane otherwise there's kind of no point to discussion) would posit that there's an unambiguous legal definition of "evil" in this context, thereby making that clause unenforceable and thus non-restrictive. Basically, the entire argument is a mix of puerile and alarmist whining on the part of pedants. Well, pedants, and people committing acts so cartoonishly evil that they're worried the clause will be interpreted as unambiguous in their case. Commented Apr 12, 2015 at 4:56

6 Answers 6

43

It's impossible.

A requirement of "free" (going by the official open source definition) is to never restrict usage based on endeavor.

If you say "you can't use this software to do X" then it's non-free, no matter how evil X is; you're still restricting based on endeavor.

Even if you say "You can't use this software to kill a human", then it will still be non-free.

But in reality, it doesn't matter much. Someone who intends to do evil is not likely to abide by your license anyway (specially if it's a government).

See #6 in http://www.opensource.org/osd.html

6. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.

The only way I can think of is to add a sentence that's not legally part of the license. "Please don't use this software for $EVIL_PURPOSE".

3
  • 24
    The rewritten clause could be non-restrictive: "You may use this Software for both Good and Evil, but the former is recommended." But then I guess this is not a condition, and has no place in the license. Commented Feb 12, 2011 at 22:12
  • Would it still be 'free' if a clause was added saying the program can't be used for the commission of any illegal act? Commented Feb 9, 2016 at 20:55
  • @AskAboutMonica Pretty much if the license says either you "can't use software for [thing]" or that you "must use software for [thing]", it's not free.
    – Delioth
    Commented Dec 9, 2019 at 14:54
22

The way to rewrite this license to be more free, would be to remove that stupid sentence. Stick to the standard widely adopted MIT license.

This particular license has caused all kinds of headaches for downstream developers building upon Douglas Crockford's work, and now means his low level library is having to be carefully picked out and replaced throughout the ecosystem. A huge waste of effort.

The "legal definition of evil" aspect of this is problematic obviously, but really this is part of a more general problem of "license proliferation". If people keep making up new licenses just for fun, then more wasted effort will always occur. So to your question, how to rewrite this license to create a new license with a similar meaning? I say...

DON'T! For goodness sake. Pick an existing license. There are already too many to choose from.

2
  • 3
    This question is rather old and has already been answered, so although these links are interesting, they would have been better as comments. As a side-note, I now use PD/CC0 on (nearly) all my work... good, evil, or penniless as I may become! Commented Aug 23, 2013 at 0:10
  • Please consider rephrasing your answer in a way that avoids condescension and name-calling. See the comment I just added to the main question, in which I attempt to explain the intent of the license as I used it for many years. You may have opinions about whether it's a good idea for pragmatic reasons, but I'd appreciate if you didn't call it stupid.
    – Don Hatch
    Commented Aug 10 at 19:34
10

How could we rewrite this to become a 'free' license, while retaining the original spirit of the sentence?

You can't. Such usage restrictions are fundamentally incompatible with the Free Software Definition.

In particular, they violate Freedom 0, the most important one of the four freedoms, and the foundation upon which the other three freedoms and really the entire idea of Free Software are built upon:

The freedom to run the program, for any purpose (freedom 0).

[Emphasis mine.]

You specifically asked about a free license, but you may wonder: "Okay, so, it's not Free, but maybe it's Open Source?" And the answer is: nope, it isn't. It violates clause 6 of the Open Source Definition:

No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Now, you might argue that "evil" is not a field of endavour, but rather a goal of endavour, and thus not covered by this restriction. And you may be right.

9

Surely this is all in the eye of the beholder. For example (and exaggerating outrageously) a megalomaniac dictator might think it good to adapt such s/w with this license so that it can eliminate 68 billion people in a single nanosceond...

It's awfully subjective. Personally I regard this kind of thing as rather childish, the author should be more specific about their intent, or simply place no restrictions at all.

3
  • 4
    A great example. The dictator would probably think that he solved the overpopulation problem, which is a good thing, right. Commented Feb 12, 2011 at 14:21
  • 2
    @Balder Exactly! As long as he gives back the source for his ebola strain, that's fine as far as GPL is concerned. Commented Jul 6, 2014 at 10:31
  • Please reconsider your use of the world "childish"; it lands as rather condescending and adversarial, and I'm attempting to refrain from using similar wording in response. I just now added a comment to the main post, attempting to explain my serious motivation for using the crockford wording over many years. Your opinion that I should be more specific is fine (and I am tending to agree with you more and more, for pragmatic reasons) but the "childish" part doesn't contribute anything to the discussion.
    – Don Hatch
    Commented Aug 10 at 19:56
1

Instead of a license, the SQLite source code offers a blessing:

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.

You can add it at the bottom of the license, it has no legal value.

3
  • 1
    Add two spaces to the ends of lines to preserve line breaks.
    – TRiG
    Commented Nov 24, 2017 at 13:06
  • 1
    What a wonderful way to go! For the record, this blessing accompanies a public domain dedication. The company behind SQLite also sells "licenses" (a Warranty of Title) to the companies that require a more definite legal statement: sqlite.org/copyright.html Commented Feb 21, 2019 at 14:07
  • "You can add it at the bottom of the license, it has no legal value." Yes. That was actually the intent of my use of the crockford license, as I've used it for many years (maybe before Crockford? I don't remember); see the comment I just added to the main question. I thought it would be obvious that the sentence had no legal value, but instead it has unfortunately blocked progress in a lot of ways, which is unfortunate and I'm adjusting my wording as a result. The insults and name calling (not by you) are even more unfortunate.
    – Don Hatch
    Commented Aug 10 at 19:43
-6

Here is a version inspired by Jainism.

The Software shall be used for Good, and shouldn't harm directly or indirectly living beings

That sentence is general enough to include other things such as rare resources on the planet.

3
  • 4
    But who defines Good? Commented Feb 12, 2011 at 11:49
  • 1
    Here is my interpretation: In that specific case, Good is more a counter balance of Bad, which is defined in the second part of the sentence.
    – user2567
    Commented Feb 12, 2011 at 11:51
  • 13
    This is still non-free
    – hasen
    Commented Feb 13, 2011 at 14:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.