[openstack-dev] [horizon] Do No Evil

Thomas Goirand zigo at debian.org
Sun Mar 8 22:19:10 UTC 2015

On 03/08/2015 06:34 PM, Mike Bayer wrote:
> Ian Wells <ijw.ubuntu at cack.org.uk> wrote:
>> With apologies for derailing the question, but would you care to tell us what evil you're planning on doing?  I find it's always best to be informed about these things.
> All of us, every day, do lots of things that someone is going to think is
> evil. From eating meat, to living various kinds of lifestyles, to supporting
> liberal or conservative causes, to just living in a certain country, to
> using Windows or other “non-free” operating systems, to top-posting, makes
> you evil to someone; to lots of people, in fact. This is why a blanket
> statement like “do no evil” is pretty much down to two choices, A. based on
> some arbitrary, undefined notion of “evil” in which case nobody can use the
> software, or B. based on the user’s own subjective view of “evil” which
> means the phrase is just a humorous frill. Maybe authors add this phrase as
> a means to limit the use of their software only to those communities where
> such a statement is patently ridiculous (e.g., not publicly held
> corporations).
> but also given that “evil” can be almost anything, I don’t think it’s reasonable
> that users would have to report on their intended brand of “evil”.

tl;dr: Debian considers the "do no evil" license non-free.

I second the above. Also, because the above (ie: it's impossible to
clearly define what evil means), but also because we have all decided to
not discriminate any kind of use or users (even the most evil ones),
Debian consider the "do no evil" licensing as non-free (and therefore,
not fit for an upload in Debian main). We have contacted the Json.org
author multiple times, and never we had a positive reply, only some
jokes (like: "Oh, do you really want to do evil?" kinds of reply).

To illustrate how stupid the "do no evil" license is, let me provide
another example of a stupid license. It's called the "dontbeadick"
license, and it is a real life example. We use it in Debian to train
wanabe Debian Developers (asking them to comment this license). [Please
don't be offended when reading the license below, I'm not the author of
these lines, and I would have preferred that this license never existed.]


  1.  Do whatever you like with the original work, just don't be a dick.

      Being a dick includes - but is not limited to - the following

      1a. Outright copyright infringement - Don't just copy this and
          change the name.

      1b. Selling the unmodified original with no work done
          what-so-ever, that's REALLY being a dick.

      1c. Modifying the original work to contain hidden harmful
          content. That would make you a PROPER dick.

  2.  If you become rich through modifications, related
      works/services, or supporting the original work, share the
      love. Only a dick would make loads off this work and not buy the
      original work's creator(s) a pint.

  3.  Code is provided with no warranty. Using somebody else's code
      and bitching when it goes wrong makes you a DONKEY dick. Fix the
      problem yourself. A non-dick would submit the fix back.

While this might look fun to begin with, in fact, it is not. If you look
closer, this license restricts the rights to:

- fork (1a: renaming without change)
- redistribute (1.b: selling without work)
- modify (1c: you can't add hidden harmful content)
- modify (again) (2.: you must buy beer to the original author)

Besides this, the examples in the first sections are just examples, and
the restrictions "is not limited to" them. At the end, IMO the author of
the license is really what he doesn't want others to be: he tried to be
funny, but it's not funny at all.

Think a 2nd time, and apply the same kinds of reasoning to the "do no
evil" licensing. It's a similar approach, which makes the whole license
non-free. It's just not as much obvious when reading it as with the
don't be a dick license, but it's the same problem: it restricts the
rights to use the software as it pleases you, which makes the software
non-free (restriction of the use of the software to only non-evil use).
In Debian, the DFSG states [1]:

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

6. 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

The JSLint license is discriminating against the evil group, and
discriminate against evil use.

The "do no evil" section of the JSLint license doesn't respect what
every Debian Developer has signed for (ie: the DFSG), and is therefore
not fit for an upload in Debian.

Let's be more specific now, just for fun... What if I believe jslint is
being evil with me, because it votes no to my patches?

Last thing: in USA, there's the 2nd amendment, which protects free
speech. There's zero restriction to freedom of speech (except call for
murder and/or terrorism). Let's keep in mind that we should have the
same kind of enforcement with free software and let's refuse any kind of
restriction of use (even the evil ones).

Anyway, you understood me: please *never* use this Expat/MIT license
with the "The Software shall be used for Good, not Evil." additional
clause. This is non-free software, which I will *never* be able to
upload to Debian (and Canonical guys will have the same issue).


Thomas Goirand (zigo)

[1] https://www.debian.org/social_contract

More information about the OpenStack-dev mailing list