

Etherpad includes banned (on Google code) software JSMin - suprgeek
http://wonko.com/post/etherpad-source-includes-jsmin

======
tlrobinson
Crockford talks about this problem here:
[http://developer.yahoo.com/yui/theater/video.php?v=crockford...](http://developer.yahoo.com/yui/theater/video.php?v=crockford-
json)

 _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."_

Pretty funny, if you ask me.

~~~
Retric
The RPGer in me finds it amusing that they did not ask for you to extent that
to "neutral" acts.

~~~
oujheush
Neutral in this license appears to be in a gray area. The initial phrase "for
Good, not Evil" presents a dichotomy. Now, this addendum allows Evil as well.
So the license has never explicitly addressed this issue, it seems like it
would depend on what else the license says.

Assuming that the license this is added to is a generally permissive license,
I would assume that neutral acts are implicitly allowed and were probably not
enjoined by "for Good, not Evil" as that clause would simply not have applied.

But I am not a lawyer.

------
blasdel
JSMin's license is simply MIT + this added clause:

    
    
      The Software shall be used for Good, not Evil.
    

Google Code takes a hard stance against license proliferation, and only allows
the ones on their minimized list, period.

I think Hipp took a better approach with Sqlite -- the code is in the public
domain, and instead of a license the code comes with headers containing this
simple admonition/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.

~~~
alextgordon
Richard Hipp actually said that he wished he _hadn't_ released SQLite into the
public domain. Apparently it becomes a headache when the code is used in
countries that don't have the same implementation of the public domain as the
US (around 16 minutes in: <http://www.viddler.com/explore/rentzsch/videos/25/>
).

I think that if you want to appease legal departments, your best bet is a well
known licence, written by lawyers (eg Apache 2.0).

~~~
blasdel
Yes, Moral Rights are even more of a pain in the ass than the AGPL could ever
hope to be.

------
nostrademons
This is not unique to Google. I've got a friend at MetaCarta who really wanted
to use JSMin, but the legal department squashed it immediately because the
phrase "This software shall be used for Good, not for Evil" could mean
_anything_ in a court of law.

Basically any corporate entity with a legal department worth its salt will say
the same thing.

It's a shame, really, because JSMin and JSLint are nice pieces of software and
the intent behind it is admirable, but the way our legal system works, that
clause has prevented much good that could otherwise have been accomplished.

~~~
madair
Just because a legal department says something doesn't make it true. This is
not tested in a court of law, and law departments have varying standards and
interpretations. Some even have guts. Some prefer themselves not to do evil.

But if you're Raytheon, Haliburton, the U.S. Military, or one of the mercenary
step-children of Blackwater then yeah, maybe your legal department is wise to
balk.

~~~
adamc
Legal departments get paid to keep you out of trouble, which means vague and
untested wording is seen as a risk.

------
xal
Stuff like this is why we slap MIT_LICENSE on everything we release so we
never hear about licensing again.

It's just a silly situation that arises from a silly change to the license.

~~~
madair
Some people actually don't want their code to be used for evil. Glad MIT works
for you though.

~~~
pmorici
Good and Evil are one in the same it just depends which side you are on. Sure
there are some clear cut things like clubbing babies, obviously evil. but what
if I run a internet scam site that uses all it's profits to run free medical
clinics in the third world and saves hundreds of lives? Point being it's
subjective, hence only you can decide what is good and evil for yourself and
putting a clause like that in your license is meaningless.

~~~
Pistos2
Is your assessment about the subjectivity of good and evil objective?

"There is no such thing as right or wrong." [ ] Right [ ] Wrong

~~~
Ralith
You're conflating the rather abstract and arguably subjective moral concepts
of "right" and "wrong" with "true" and "false."

------
rgrove
This headline is misleading taken out of context, and is not the headline of
the linked blog post (I'm the author). JSMin isn't "banned software", it's
just not allowed on Google Code.

~~~
suprgeek
Modified headline to reflect that it is "banned" on Google code and not in
general. JSMin is indeed very good.

~~~
nailer
Saying that JSMin is banned still implies JSmin itself ws explicitly banned,
which is not correct.

It would be better to say 'non Open Source' as that's the reason why JSmin,
Microsoft Windows and other apps for which you can get source code but aren't
OSS aren't allowed on Google Code.

------
motters
I'm not sure that Good and Evil have legal definitions. Also people doing evil
often seem to believe they're doing good, so could claim full compliance.

------
neilc
_Last week, Google banned my PHP port of JSMin from Google Code due to a
quibble over a line in the license stating that “The Software shall be used
for Good, not Evil”, which they believe makes the license non-free._

It probably does make the software non-free (e.g. according to the DSFG); more
importantly, such a clause is utterly idiotic. Rather than bitching about
Google Code, the JSMin author would be better served to get rid of the
arbitrary, subjective and probably unenforceable clause from the license. The
original JSMin is only 200 lines of C, so the simple solution would just be a
from-scratch rewrite.

------
whalesalad
Why can't JSMin simply remove that from their license and save a lot of people
a lotta headache?

~~~
madair
Maybe he prefers that JSMin code not show up in Hellfire missiles?

~~~
ElliotH
But who defines 'evil'? A hellfire missile kills, and maybe your stance is
that killing is evil full stop (this is purely hypothetical - I have no idea
what your views actually are) but maybe someone else thinks that firing
missiles at an invasive force to their country is 'Good' and the killing is in
this case justified.

~~~
gaius
There's an interview with Gen. Mikhail Kalashnikov, designer of the AK-47,
where he's asked, is he ashamed of creating something that killed so many
people? He replies, he created it to defend his country and his people from
Fascists and he was proud of having done so.

------
JoelMcCracken
I don't see anything wrong with this. The license terms are very ambiguous.
Honestly, what is "evil", and if you can define it, you deserve a phd in
philosophy.

Point being, if you release something under a license that is is too obscure
and free, you will run into these problems, as Google has. I mean, they
operate in China, after all. (not that I have anything against China. The
citizens of the United States of America could learn from China).

~~~
rgrove
The point isn't whether it's right or wrong. It's that Google made a rule (no
JSMin/JSLint on Google Code), then (unintentionally) broke it themselves with
Etherpad and a few other projects, and must now deal with the consequences.

To their credit, they _are_ actually dealing with the consequences and not
setting a double standard, which I find admirable. But I still think the
situation is worth highlighting and worth discussing.

------
gojomo
If some creators want to be whimsical in their license text, of course that's
their prerogative.

But it does create a bit of a mess for people who take certain principles in
their work as seriously as these programmers care about their craft and
personal expression.

License text is code, of a sort, and overall it's a _good thing_ that large
organizations care about the precise meaning of the legal agreements they
enter into.

Similarly, it's a _good thing_ that the 'Open Source Definition' says licenses
can't discriminate against fields of endeavor (including those some would
label 'evil') and still be considered 'open source'.

So this little license flourish throws a couple of monkeywrenches into the
gears for well-meaning folks just trying to get good stuff done.

Perhaps it succeeds as a thought-provoking bit of performance art, but it's
lousy as a license term for enabling sharing and building.

~~~
Kadin
It's a pretty stupid line to put in a license. What the hell does it even
mean? Without defining "evil" in the context of the license, it could mean
anything -- who gets to decide what constitutes "evil"? The original author?
In that case, it's like making the license immediately revocable for any
reason at any point in the future.

It's understandable that Google, or just about anyone else, would reject a
license with that sort of vague language in it.

There's a time and place for whimsy, but a software license isn't it.

------
oomkiller
How childish of him. Attorneys will quibble over anything, he needs to either
remove the offending text from the license, and use the FREE Google Code, or
host it himself and quit complaining about Google's legal policies. He is
going to either lose lots of software where his code is used, or make it a lot
harder on the community.

~~~
RyanGWU82
It's not his call. He forked a derivative of Douglas Crawford's JSmin project,
and that was a requirement in Crawford's license.

~~~
neilc
The whole thing is silly, because JSmin is ~200 lines of code. It would be
trivial to rewrite from scratch and avoid the braindamaged license.

~~~
cdibona
I think the right way to deal with this is to find a way to use our closure
tool to replace jsmin's functionality in a dfsg/osi approved way.

Not before the new year though (I was the dude who said no way to jsmin on
google code)

~~~
rgrove
That takes care of JSMin, but what about JSLint?

------
ghempton
github ftw

