Skip to content

Comment on JSON.org License Literally Says it "shall be used for Good, not Evil"parent

Comments

jslint (and it's derivatives) are still under this license.

(which is a shame, because this clause makes it incompatible with the GPL family of licenses).

I happened to come across that clause last week and tracked down some humorous commentary by jslint's author:

  Douglas: That's an interesting point. Also about once a year, I get a
  letter from a lawyer, every year a different lawyer, at a company--I don't
  want to embarrass the company by saying their name, so I'll just say their
  initials--IBM...

  [laughter]

  ...saying that they want to use something I wrote. Because I put this on
  everything I write, now. They want to use something that I wrote in
  something that they wrote, and they were pretty sure they weren't going to
  use it for evil, but they couldn't say for sure about their customers. So
  could I give them a special license for that?

  Of course. So I wrote back--this happened literally two weeks ago--"I give
  permission for IBM, its customers, partners, and minions, to use JSLint for
  evil."
http://www.mail-archive.com/debian-legal%40lists.debian.org/...

His javascript minifier 'jsmin' was causing projects to get removed from Google Code and other places that only host open source code, so I emailed Mr. Crockford to ask if I could get the same extension he gave to IBM. His response was less than thrilling-

I released to free use for all with the only condition that it not be used for evil. If that is unacceptable to you, then you may not use it. Your options are to bend to the pro-evil fanatics, or to find a more reasonable hosting solution.

Ultimately I wrote my own called JShrink (which I just moved to github this weekend - https://github.com/tedivm/JShrink).

The point being, he's not actually willing to make the change.

Nice work. Google also reimplemented jsmin as jsmin.py here: https://github.com/v8/v8/blob/master/tools/jsmin.py

Now we just need an evil-friendly reimplementation of jslint.

A quick search shows quite a few examples lurking on Google code

http://searchco.de/?q=The+Software+shall+be+used+for+Good%2C...

Is Google actually enforcing this? I would be curious to know how many projects have been affected by it.

Can he now be accused of being an accomplice of the evil doing of IBM?

If this evil thing is also illegal, is he putting himself into legal risk? After all, he explicitly agreed on the evil task.

The video of that talk (relevant portion here: http://www.youtube.com/watch?v=-hCimLnIsDA) is available further down the page: http://news.ycombinator.com/item?id=3693327

Mmm, well I'm assuming that when you are using jslint to check your javascript you are doing so much good (avoiding increasing the amount of crappy javascript in the world) that it doesn't really matter if the javascript you are writing is for the skynet website. Plus we wouldn't want a xss attack to take down skynet allowing pesky humans to survive. That would be just wrong.

(Last part was a joke :P)

The clause doesn't just make it incompatible with the GPL, it makes it not open source.

Only for some bizarre definition of open source in which the words open and source do not mean open and source.

Nope. Read the Open Source Definition as defined by the Open Source Initiative. To be Open Source (tm), you need to not discriminate against any "fields of endeavor".

http://www.opensource.org/docs/osd#fields-of-endeavor

The open source initiative failed to obtain the trademark. So "Open Source" as a term is not trademarked, and can mean anything.

IMO, the only useful description of open source is source code licensed under one of the licenses approved by the Open Source Initiative, but there is no trademark protecting that particular use.

I have as little respect for people who redefine open source as for the people who redefine free software.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.