Evil, or why Douglas Crockford is harmful to Free Software

Yesterday I received a new serious bug report against Mono in Debian. For those not in the know, “serious” severity is release critical, and can trigger removal of a package from the distribution in order to make a shipping release (e.g. if Debian is in deep freeze, as is the case right now). Bug 692614 relates to a single source file, ./mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JsonDeserializer.cs, which is part of the System.Web.Extensions assembly. This file was written in 2008 by an upstream Mono developer, and is based on some code from json.org – specifically JSON_parser.c and JSON_checker.c

json.org code carries a non-standard license. Specifically, it’s MIT/X11 with an added clause: “The Software shall be used for Good, not Evil.”

I’ve had some discussions with Mono upstream, and they believe that they have resolved the matter to their satisfaction – their solution will make its way into Debian soon. But in the meantime, let’s talk about the clause.

The Free Software Foundation’s Freedom 0 reads:

A program is free software if the program’s users have the four essential freedoms:

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

The Debian Free Software Guidelines and Open Source Initiative’s Open Source Definition clause 6 reads:

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.

It’s fairly clear that the JSON.org license clause goes against both of these, making any piece of software using that license neither Open Source nor Free Software. It is not distributable by any organization which mandates Freedom for its users – not in Debian, not in Fedora, not on Google Code. Anybody who cares about their users will reject a clause like this, because it has awful chilling effects.

Think it’s funny? It really isn’t. Who can use the code without being at risk of a lawyer knocking on their doors? Can the Catholic Church? The ACLU? Republicans? Democrats? Military contractors? Genetic engineers? Big pharma? Petrochemicals firms? Communists? Fascists? Mono developers? WikiLeaks? Without a clear definition of “good” and “evil”, people need to seriously consider whether they are safe to use the code – because if the developer and users’ interpretations of the terms differ, there could be hell to pay. Would you want to ship a hardware device – let’s say you’re making a smart TV – and have some developer of a library send his lawyers around to tell you “sorry, TV rots kids’ brains, it’s clearly evil” to get your entire distribution channel shut down by injunction?

It’s not an oversight, kids. Upstream are well aware of the pain this childishness causes anyone who takes software licenses seriously. They giggle about it at conferences, like tweenagers who think they’ve one-upped the adults in the room.  This non-Free license is intended to mock people who take licensing seriously. In fact, one could easily categorise efforts to pollute the Free Software ecosystem with fake, non-Free software as evil, which would mean all JSON.org code fails to comply with its own license, due to shipping with its license (Inception, anyone?).

Before the jokers in the room claim that this kind of problem is deserved by Mono, let’s take a look at all the software in Debian which Douglas Crockford endangers with his childishness. PHP? OwnCloud? jQuery? You think Debian serves its users well by pulling jQuery from the next release in order to serve the ego of a man behaving like an eleven year old?

It is also interesting to note that the author of this “do no evil” clause works at PayPal. Read that twice, go and repair your irony meters, then come back.

In conclusion: thank you so VERY much Doug Crockford for making the world of Free Software measurably worse.

82 Responses to “Evil, or why Douglas Crockford is harmful to Free Software”

  1. As a geek with a penchant for overly literal wordplay, I like this post. A lot.

    However, in the real world “do no evil” is not a problem, precisely because it is unclear what it means: since it is unclear, a judge cannot assume it means any specific thing instead, and thereby, for all intents and purposes, it means nothing.

    It just adds an informal note to formalism. I like that too.

    [reply]

    directhex Reply:

    @sehe, there are plenty of genuinely Free Software ways to add informality to formalism, for example by using the WTFPL.

    [reply]

    Pete Reply:

    @sehe,
    Adding unclear terms to legal document is bad for both parties.
    Since it is unclear, a judge may (and will) assume that it means anything, depending on what the lawyers argue in the specific case.

    It most surely will mean *something*. And that something will be argued about (since it’s unclear). That arguing is expensive for both parties, so the party with the deepest pockets will want to argue as a matter of principle, so they can force the poorer party to settle if they can’t afford to argue for long.

    In essence, “adding informal note to a formalism” means giving strong (and unfair) practical legal advantage for large companies against ordinary people whenever this formalism is used. Ergo, such informalisms in legal agreements are evil and dangerous. Using them may be “fun”, but it’s the same kind of “fun” as drunk dragracing on a public highway full with other innocent drivers.

    [reply]

    Carlos A. Osuna Reply:

    @sehe, Man. You’re seriously fouled up, to avoid using the real word.

    You read with childishness something which definitely isn’t.

    On the contraire, my friend. That clause safeguards the OS movement in an intangible way.

    Why? First and foremost, the phrase reads:
    “The Software shall be used for Good, not Evil.”, not
    “The Software should be used for Good, not Evil.”

    One lonely word, one mountain of difference. In legal terms that means that the software itself, nor the area of application are to be judged but rather the final use case, that is, the end user.

    And also, although Good is indeed of a contested nature, Evil is not as one could argue that it is clearly defined on the Penal Code. So the author of the guideline, gave developers a simple safeguard, as the software is not subject to a requirement by the developer but by the end user. “It shall be used…” meaning the end intention is important part. A developer can easily prove in court that if the stated use case does not imply a violation of the Penal Code in no way can it be considered Evil, which would automatically place it on the “Good” side.

    My two cents.

    [reply]

    sigs Reply:

    @Carlos A. Osuna, you’re wrong. You’re horribly, naively, ignorantly, stupidly wrong. Since you think courts are for word-plays, you’ve obviously watched more police series than actually had to defend yourself in one. Get yourself into court, then come back to tell who’s “fouled up”. Your two cents are foul.

    Good stuff to read about courts and practice of law in general: http://www.popehat.com/2013/05/01/shut-up-i-explained-mostly-pointlessly/

    I can understand why no one replied you before. You’re just… out of touch with some realities. Stay that way and have a happy life, but seriously, don’t give your nearest and dearest legal advice.

    [reply]

  2. I don’t agree that Doug Crockford has made Free Software worse at all. Just as he’s free to write software using whatever license he wants, you & the Mono upstream developers are free to write JSON serializers that aren’t based on his code. If that’s what the license terms were when upstream based System.Web.Extensions on it, how can you blame Doug Crockford?

    [reply]

  3. He wrote it, he gets to determine the licence.
    Don’t like it? Don’t use it.
    Write your own and move on with your life.

    [reply]

    directhex Reply:

    @Luke, he is free to pick his license, and I am free to criticize him for picking a pretend-FOSS license and acting like a giggling tweenager about it.

    [reply]

    dc Reply:

    @directhex, And commenters on your article are free to say Doug’s free, and that you should move on :)

    [reply]

    Rafael Reply:

    @dc, everyone here is obviously free to say anything they want. Using free where it doesn’t belong is harmful to the word Free.

    [reply]

    foljs Reply:

    @directhex, “””he is free to pick his license, and I am free to criticize him for picking a pretend-FOSS license “””

    No.

    (1) he’s is free to pick any license he wants for HIS code,
    (2) you DON’T HAVE A SAY to what he picks for HIS code

    So, no, you’re not “free to criticize him”. You’re merely allowed by law to criticize him, which is something different.

    In real moral terms, you should just shut up and accept whatever he choose to do with HIS OWN WORK. He is not there to provide YOU with anything.

    [reply]

    Zecc Reply:

    @foljs, Who are you to say what directex can or cannot do with his own opinion?
    What makes you think you’re free to criticize what he posts on his blog?

    Besides, “real moral terms” doesn’t have a clear legal definition, and is therefore evil.

    Disclaimer: this post may or may not contain sarcasm.

    [reply]

    Zomberi Reply:

    @foljs,

    What is this “So, no, you’re not “free to criticize him”. You’re merely allowed by law to criticize him, which is something different.”

    No, sir. The right to free expression is given by God, not the law. The law merely affirms this right. It does not originate.

    Merely doing what the law “allows” is in the domain of a slave.

    Crockford is free to choose license. Anyone is free to criticise the choice. Crockford is free to to accept the criticism and change his license. He is free to reject the criticism and lose patronage.

    Fools are free to accept their slavehood.

    [reply]

  4. If he wanted a good versus evil thing he could of done something like what sqlite did for their license.

    It’s public domain with a blessing!

    https://www.sqlite.org/different.html

    [reply]

  5. Isn’t the real evil here that Mono (or Debian?) aren’t doing their job by ensuring that there is no legal problems *before* packaging an application. What if there was a *real* problem with a license clause and a user ended up being sued because of it?

    Also, slightly off topic but I have to wonder why Debian are packaging jQuery in the first place. It doesn’t seem like something which fits with distro-wide package management very well.

    [reply]

    directhex Reply:

    humans make mistakes. 1 bad line in millions is easy to overlook

    [reply]

    FooBarBaz Reply:

    @directhex,

    Humans make mistakes… and adults take responsibility for their mistakes.

    Doug didn’t fuck up, Mono and Debian did. This deflection of responsibility is completely childish.

    [reply]

    directhex Reply:

    @FooBarBaz, the mistake was in the erroneous assumption that members of the Free Software community, including published authors, are adults. More diligence is needed since that assumption is clearly false.

    [reply]

    Emanuele Aina Reply:

    Debian packages jQuery as a dependency for web-based applications and some html-based documentation.

    Note that this post means that Debian *does* its job by checking the validity of licenses.

    Of course in a perfect world this would have been noticed before packaging, but in a perfect world noone would be so silly to use this kind of licenses, which introduce many problems without solving any.

    [reply]

  6. @sehe I presume that this is the same Douglas Crockford that wrote JavaScript: The Good Parts, in which case you’ll note from this:

    https://javascriptweblog.wordpress.com/2010/04/19/how-evil-is-eval/

    that he’s in print as thinking that eval is evil, which might be interpreted as indicating that his license is supposed to prevent anyone using JSON.org code in programs that also use eval (which seems fair enough TBH ;-) )

    If this was about deciding whether to use the software personally, then I’d chuckle at the clause, and decide that there’s basically no chance of him trying to enforce it, and carry on, but Debian is not able to make a decision in that way, because we’re making that decision on behalf of people we’ve never met, such as our users, our derivatives, their users & derivatives etc.etc. and the idea of taking all the dodgy licenses and making case-by-case decisions based on assumptions of authors intent and/or the jurisdiction in which a dispute might arise would scale really badly.

    [reply]

  7. you lose credibility every time you say ‘tweenager’

    [reply]

  8. What is the problem with the jQuery license? I can’t see any problems here:

    http://jquery.org/license/

    [reply]

    directhex Reply:

    @Mattias, someone explains this one in the reddit comments. Click the little alien under the article title & search the page for jQuery

    [reply]

  9. Thank you for this courageous post. Pointing out examples of ignorance towards free licences is crucial to make some people aware of why it is important to care about proper free licence.

    [reply]

  10. “The Software shall be used for Good, not Evil.”
    This statement has no legal consequence whatsoever, firstly because there is no clear legal definition of GOOD and EVIL – those can only be devised from a cultural context – and secondly because of the way the author phrased this statement: This is not a binding license term but merely a WISH of the author. He uses the word SHALL for a reason. If he wanted to impose his will onto you, he would have used the word “MUST” instead. And from a legal perspective, he also would have clearly defined the words GOOD and EVIL. There’s a reason why most contracts and license agreements have long preambles that begin with definitions of words and terms.
    To make this short: I think you are getting all worked up over nothing here. But nevertheless, there’s always a chance that one of us is wrong and thus you should seek PROFESSIONAL legal counsel before you remove the code in question because of this well-meant little sentence.

    [reply]

    Jozef Pike Reply:

    But you have to remember how copyright law works. Without license, you don’t have the right to distribute the work. If it turns out that that statement is legally meaningless, there’s nothing left that would give you that permission.

    [reply]

    Bernd Jendrissek Reply:

    @Winfried Maus, while things could be worse as far as licence oversights go, I think the precautionary principle is quite appropriate here. Part of what makes free software so useful is that you don’t have to seek professional legal counsel for every damn thing you want to do – for many purposes, it’s good enough to just read the licence yourself – much like you read a MS EULA yourself, without having an attorney read it for you. By having this sort of licensing easter egg in the distribution, that trust in the Debian brand (ugh, I hate using that word, but it’s exactly the right one here) takes a hit. The right thing to do to repair that trust, is to remove, or fix (preferable, but perhaps not likely) upstream, the offending code.

    [reply]

    Warren Young Reply:

    @Winfried Maus, In the UK the word “shall” indicates that a clause in a contract is mandatory. It is not weaker than “must”. Recommendations are expressed by “should” and permission by “may”.

    In the entire history of Philosophy philosophers have struggled to define good and evil, the legal profession has no chance.

    [reply]

  11. […] Hacker News http://apebox.org/wordpress/rants/456/ This entry was posted in Uncategorized by admin. Bookmark the […]

  12. I think that this has probably been taken a little too literally. It would be interesting to get the original author’s opinion..

    I agree completely with Sehe’s comment about the terms of the statement not being clearly defined and thus no judge could reasonably use it in court against any uses of the software.

    Good and Evil are subjective opinions to which each individual has their own beliefs.

    [reply]

    mirabilos Reply:

    @Alex Jarvis, the original Author doesn’t have a clue what the Open in Open Source truly means¹. He writes: “I give permission for IBM, its customers, partners, and minions, to use JSLint for evil.” (from http://wonko.com/post/jsmin-isnt-welcome-on-google-code – see also the English Wikipedia on JSLint).

    ① There recently was an LWN article about this – https://lwn.net/Articles/520701/ – and this read is long but also worth it: https://igurublog.wordpress.com/2012/11/05/gnome-et-al-rotting-in-threes/

    [reply]

    Alex Jarvis Reply:

    @mirabilos, Obviously he is just joking about the issue however, and in laughing about it publicly, he is undermining any possibility of future reconsideration in a courtroom.

    [reply]

    Jon Reply:

    @mirabilos, I enjoyed the “gnome-et-al-rotting-in-threes” article but can’t see the relevance to this issue.

    [reply]

  13. @Craig: “Public Domain” is *not* a (software) licence. It’s the absence of a copyright licence under the idea that copyright law does not apply to some kind of work.

    Recently, on the OSI lists, we have come to the conclusion that Public Domain, even if it *is* true (in most countries, it’s either impossible or harder than you think to release any work into PD), does not transition country boundaries like copyright does thanks to the Berne convention, and, also thanks to the Berne convention, any sufficiently complicated work is *automatically* copyrighted in all other countries that are signatories to it.

    It was suggested to use the MIT licence as the shortest/most clear “do what you want”-ish licence that is actually court-proven instead.

    In fact, even though the OSI decided to not publicise this (other than a FAQ entry), I am not alone being of the opinion that PD is not just not Open Source but actively non-free and non-redistributable (except “where nobody suing, there no judge”) in almost all countries.

    I’ve been asking people who try to release their work as PD for “fallback copyright licences” like this one, thanks to Charles Forsyth of Inferno/Vitanuova fame for being the first upstream to ACK the problem and agree with this solution:

    .\” In countries where the Public Domain status of the work may not be
    .\” valid, its primary author hereby grants a copyright licence to the
    .\” general public to deal in the work without restriction and permis-
    .\” sion to sublicence derivates under the terms of any (OSI approved)
    .\” Open Source licence.

    Others declined (DJB), did not answer at all (e.g. authors of MD5 and SHA-1 code, which I can luckily replace), were outright offensive in their replies (the tzcode/tzdata people) or on their website (SQLite) about the PD thing. Go figure.

    I think “Public Domain” is also a possible threat against Open Source. So, please, do us all a favour and do *not* go advertising it. (Neither is CC0 a solution, FWIW, at least not the current version. But if you don’t need the “court-proven” guarantee, you can use the MirOS Licence, which is specifically designed to be applied to a “work”, not just “software” (though it also lacks e.g. database rights, it’s a copyright licence). Disclaimer, that one was written by me (IANAL, but one of the ifrOSS lawyers looked it over quickly and found it okay). Its disclaimer is optimised for EU-sans-UK law, not UK/US law, but shouldn’t be too bad.) Even better, were you to go educating others about this problem and getting us more “fallback licences”, ideally MIT or MirOS or the clause above (which was written under the assumption that “OSI approved” is never rejected except if it was done by a clear mistake and in violation of the OSD; the OSI list has shown a consensus that OSI will only ever deprecate licences, not revoke them).

    [reply]

  14. @mirabilos you’ve completely missed the point I was making. It’s not what license is used but if you want to put something about evil (for whatever reason) then have your license and then some words like sqlite do.

    I believe you’re pretty close to mark regarding PD and yes the MIT license is often a good substitute, but I wasn’t talking about comparing licenses but separating the license from “the other stuff” like sqlite have done.

    [reply]

    mirabilos Reply:

    @Craig, right. So adding a blessing to the non-legal part of the documentation is what you propose, and I just misinterpreted that. In that case, sorry, and good idea for those who want it.

    Most funny is JSHint: “Licensed under the same slightly modified MIT license that JSLint is. It stops evil-doers everywhere.”

    That is like saying that oppressive police force, laws, etc. stop evil-doers. They don’t, they just hinder people who care. Truly evil people just laugh at their face and do what they want, anyway…

    [reply]

  15. Hum, lots of source packages affected:

    php5 mono transmission jquery yui josm-plugins jmol fossil jenkins-json storymaps php-horde-text-filter icinga-web owncloud piwigo jsxgraph

    In some packages, they are probably not used and must just be removed from the .orig.tar.gz… will you be mass RC bug-filing? I’d second doing that.

    [reply]

    directhex Reply:

    @mirabilos, mass bugs were filed earlier this week by Ansgar, that’s how it came to my attention

    [reply]

  16. I violated thousands of software licences. Some of them thousands of times, just as did thousands of thousands of people like me. Hard not to giggle at them.

    As mentioned by previous commenters “good” and “evil” are not legal terms so the only person at fault here is the one that thinks that this phrase in the licence prevents anyone from doing anything. Douglas could write there instead “I want a cookie.” It would have same legal binding.

    The phrase is designed to mess with people that have heads rotten by us laws and lawyers. We see it serves the purpose.

    [reply]

    mirabilos Reply:

    @Aziz, violating licences is illegal, and thanks to the partially illegal filesharing mob, will probably have harsh sentences. The problem with the requirement to use it for “Good”, not “Evil”, is that, in front of court and on high sea, you’re in god’s hand, and it’s up to the judge what to make of that sentence. (Which is why OSS licences should be written by a lawyer, to not leave open interpretation playroom that can be… not nice. Like the Artistic licence version 1, which had an OSS developer lose rights on his own work to some company or somesuch.)

    @directhex: ah ok, thanks.

    [reply]

    Aziz Reply:

    Yes. Illegal. And done by almost everybody everywhere. Do you see anything wrong this picture? What do you think will change faster? Some laws or just nearly everybody? What we need is more people laughing at licences and terms and conditions not carefully drafting them and observing to the letter.

    Filesharing kids will soon become judges and jurys and they will hopefully not sell their soul for money in the process.

    [reply]

    David Reply:

    @Aziz,

    Back in the 1960s, in the USA,there were a large number of young people who used illegal drugs, and wanted at least some of them to be legal. The age divide was pretty sharp, in that very few older people wanted to legalize marijuana, and a whole lot of younger people did.

    Fast forward to now. Marijuana is legal for medical purposes in some states, is illegal according to the Federal government, and decriminalized some places (it’s illegal, but you just pay a small fine and go on your way). The people who keep these drugs illegal frequently used them in their youth, and frequently still use them.

    I have no confidence that, when the current filesharing kids grow up, that they will do anything reasonable about it.

    [reply]

  17. My boss had a saying, “In academia, if it’s good, you publish; In industry, you keep it a secret.”

    Either put it in public domain or keep it a secret.

    [reply]

  18. His library, his license.

    Don’t like it? Find another one. It’s that simple. No need to write a post complaining about it.

    Now, concerning the license: its understandable that lawyers will get scared (that was probably the intent). The worst that could happen is that a company gets sued for “doing something evil” with it. But it’s almost guaranteed that any judge interpreting the law (because that’s what they do; they *interpret* the law, otherwise their job could be done by machines) will dismiss the “no evil clause” as what it is: an unenforceable joke. And he’ll dismiss everything.

    Any company can be sued for anything. If your lawyers get scared by this, how are they going to handle serious issues, like someone getting killed because of a software glitch? Are you sure you want to have those guys representing you?

    [reply]

    Jon Reply:

    @kikito, if posts like this raise awareness of the issues that licenses like this cause, then it does serve a purpose: Perhaps it will dissuade other authors from making similar decisions in future.

    [reply]

  19. Poor you. Look at how indignant you are at the fact that someone made something, gave it away for free but not under the terms you so desperately desire. Why don’t you just implement the functionality in question yourself, release it under the GPL (or whatever else) and be done with the whole problem?

    Disclaimer: the contents of this comment may not be used for evil.

    [reply]

  20. Excuse me, but this discussion sounds silly. People should not take licenses so serious. And by “not taking them serious” I don’t mean that you should just make lighthearted jokes or be a bit “informal” every now and then. I mean people should view them as what they are, fictous pieces of bits and bytes that have no meaning beyond convention.

    Remeber that Copyleft was originally just a kludge to game the Copyright/intellectual property system. It used to be an end to a means: “Look at those silly corporate people. We’ve make up a trick license and now they have to do what we want and re-relase the source code! They’re spellbound because they have to obey their own rules. Hey, we can even use this suff in court!”

    Nowadays people take it as an end in itself. Open source affictionados that get all worked up about licensing are just as silly as the corporate suits these licenses were designed to game.

    Open-Source licenses came out of applying hackers’ attitude to law. It was a neat trick, but also a tech (law) solution to a social (political) problem. I think the problem with many “hacker” types is while they often have revolutionary insights in their field, they are not exactly social revolutionaries. When it comes to designing a new protocol etc. they may question all conventional wisdom, but on the other hand they take social stuff for granted. We have laws, copyright, money, licenses, etc., and that’s the frame we have to live in. They don’t see that that’s all just a construction and can be questioned.

    A grander solution (to the problem Copyleft was meant to solve) would be to give up the idea of intellectual property alltogether. Of course, this would imply other larger changes to society, which many aren’t willing to think about yet. But I believe the time is getting overdue for that.

    [reply]

  21. And yet I bet you don’t see anything wrong with Stallman

    [reply]

    directhex Reply:

    @sigh, I see lots and lots wrong with Stallman, but his toxicity is far less harmful to the greater move towards Free Software than stuff like this is.

    [reply]

  22. I guess the shocking thing about this rant is the vitriol with which you attack a fellow coder, but overall I have to agree with it. Playing around and poking fun at licenses is fine, but please not in the license text itself. Anyone who deals with the “user” end of the pipeline will know that we have a enough problems with license proliferation, and just explaining what open licenses mean without adding unnecessary “fun” clauses.

    [reply]

  23. This is all quite minor when compared to how many uneducated, inexperienced people have (in my opinion) misinterpreted his work as legitimizing JavaScript in some way.

    I have always taken his writings to describe how to make the best of a very bad situation. It says to me that while we may be stuck using a horrid, inconsistent, hack of a scripting language, there are some ways we can make it all slightly less painful.

    Unfortunately, many foolish people have taken his work to mean that JavaScript is an acceptable language to use for large-scale work, and worse, that it’s even a good language! The crap they’ve subsequently produced is now a huge burden on many talented developers. Much time and effort is wasted on software that never should have been written using JavaScript in the first place.

    [reply]

  24. Oh lighten up. Because its so ambiguous it would never stand up in court and that’s only if anyone would actually challenge it.

    [reply]

    anon Reply:

    Yup. I’m not a lawyer but I think this is right. Ambiguous contract language is generally interpreted against the drafter. My guess is the M$FT clickwrap has much crazier stuff in there.

    (Clickwrap, by the way, has been voided by courts in at least one US state. Google ‘clickwrap’ and ‘contracts of adhesion’).

    [reply]

  25. Mono is a Windows programmer’s lazy way of getting their code onto proper operating systems rather than learning how to code. It’s a Microsoft infection that must be obliterated.

    My advice: learn how to code on a professional operating system rather than force feed your Windows code onto it.

    And I’m being nice. I could have gotten nasty.

    [reply]

    Emanuele Aina Reply:

    @Rob, I don’t know where you got the idea that Mono users come from Windows, but I come from a job where we developed web applications with Mono and PostgreSQL that ran exclusively on Linux (Debian GNU/Linux, to be pedantic).

    I have to admit that C# is a truly wonderful programming language and that the CLR has its merits too.

    Maybe you got that impression from the fact that Microsoft bundled Windows Forms with the CLR and Mono initially tried to reimplement that, but nearly no-one ever used Windows Forms and thus no-one cares that the Mono implementation is incomplete. :)

    You should give a look at C# and the APIs the CLR provides: the Mono implementation is great and at least the CLR is way safer than Java from a corporate standpoint.

    Truth to be said, Microsoft provides a lot of high level components under a MIT/BSD-style license compatible with the one used by Mono, so I can’t see how they can threaten anyone on this.

    [reply]

    Stifu Reply:

    @Emanuele Aina, I’m impressed you took the time to reply to an obvious off-topic troll. It seems highly doubtful to me that you could make him change his mind, but it may still be useful to others.

    [reply]

  26. Wow, there’s a suprise, a post on Plant Ubuntu that is filled with invective and entitlement.

    Grow up.

    [reply]

  27. The real annoying thing about this license is that it has exactly the same effect as writing:

    “This software may not be combined with GPL software.”

    and that is obviously the desired effect; the author himself admits that the clause has no effect on any “evil”-doers.

    So what he has done here is simply make a childish attack on the GPL, and wrap it in a fake morality-based straw man.

    [reply]

  28. Its a wonderful license clause, I think I’ll add it to my projects. Its also a completely valid open source license. Mr Ansgar Burchardt (from the bug report) is perhaps unaware of that?

    [reply]

    directhex Reply:

    @jordan, back here in the real world, telling users they may not use your software is categorically NOT valid open source licensing by any definition.

    [reply]

  29. Ok….breathe….one more time…..there we are….

    You need to relax, man. Seriously. “Tweenagers one-upping adults”? Really? You need to stop taking life quite so seriously.

    [reply]

    Emanuele Aina Reply:

    @none, I don’t get why we shouldn’t take licenses seriously. They are legal documents, and they manifest the will of the original authors who (usually) kindly give us permission to use their works.

    [reply]

  30. Your post reads like McCarthyism. Douglas Crockford is not responsible for all the nice people that agree with him, and he couldn’t have done it alone. You treat him like he’s a public enemy. Lighten up.

    [reply]

  31. I’ve never heard of this guy before, but now he’s my favorite programmer.

    [reply]

  32. Good work bringing this up, directhex. I can’t understand what’s wrong with all the commenters who say “relax” or worse, do they think law courts are imaginary, or something?

    [reply]

    Another Anonymous Coward Reply:

    @eekee, Maybe all these programmers apply the agile philosophy to real life: do the simplest thing that works, and deal with problems when they arise. Do you know of any evil-doer being sued due to the license this discussion is about?

    [reply]

  33. Actually, pretty much every nationalities law has a mandate that unclear language benefits the party that DID NOT create the contract or agreement. So, if Mr. Crockford tried to knock on your door and claim you are “evil”, you would merely have to say in front of a judge that “evil” is not defined in the agreement. Case closed.

    Although I would argue that it is quite stupid to have to argue a case like this in court. If you’re gonna make free software, make free software

    [reply]

    Joe White Reply:

    @Paul Blevins,The fact that it’s not defined does not stop courts from “defining” evil, then issuing a ruling.

    [reply]

  34. Hi all. I have a problem figuring out what of the posted applies to US American law and what applies to European law. (You might not know but… the real free people of the world live in Germany ;o)
    Seriously: In Europe there are no software patents, luckily. In Germany software is protected by copyright only (similar to books). So copyright is important. But usually our contracts include a “severability clause”, so one meaningless or even illegal sentence or paragraph does not blow up the whole thing. (What about the GPL?) I can imagine that also (or even ;o) in Germany one could argue a long time in court what “good” and “evil” is, making the process expensive if it ends in a compromise. But I somehow have the strong feeling that German jurisdiction would simply dismiss a claim based on the words “good” and “evil” only.

    [reply]

  35. Calling this guy out directly probably was a bit of harsh way to deal with it. I wonder if he was contacted directly before the public “shaming”?

    I doubt that Doug envisaged this outcome when he wrote it. That said I do agree with the sentiments behind this post. The legal document is purely there to deal with the legal element of the project. I feel its incorrect to mess with something that is specially crafted. I respect the knowledge of the legal community as much as I expect people to respect us as developers. I wouldn’t want to put any of my own comments into a licence as I would be aware that I didn’t truly understand the legal implications of what I’m writing.

    Some people have suggested the comments that the solution is to just rewrite the offending code and “be done with it”. Come on, when was the last time you did that! The library was used in the first place because it solved a non-trivial problem. I don’t know if it was publicly developed but somewhere there is a big bug tracking list that goes with this project.

    [reply]

    si Reply:

    http://wonko.com/post/jsmin-isnt-welcome-on-google-code
    Read the update at the bottom, the guy is just being a douchebag.

    [reply]

  36. This kind of childish “so there” really does endanger any project built around it. It makes the software a political tool for those with the money and time to leverage the system. If the terms are vague, there’s a good chance in a dispute those with the most time and money will lean interpretation their way. I can see where artists think they’re doing good, like stopping republicans from using their songs, but using their position to limit expression arbitrarily makes them seem like ignorant children unaware of what the democrats they support really push and have supported too.
    It’s not all the Crockford’s fault, the open source community building important software others depend upon allowing something designed to potentially limit expression based one person’s bias is surprising.
    This kind of clause seems funny but it is a side clause to restrict expression built into open source licensing which is odd at least.

    [reply]

  37. Has anyone kindly asked Doug Crawford to consider changing the offending clause after explaining the challenges that this seemingly whimsical clause presents to Debian packagers and their users ?

    [reply]

    directhex Reply:

    @Philippe Paravicini, yes. Plenty of people, several times. He prefers to maintain the childish joke.

    [reply]

  38. The obvious question is: Have you ever, calmly and without name-calling, explained seriously why that clause is troublesome, and if so have you received any kind of reply from Crockford?

    If you _haven’t_, this article seems like a very effective way of encouraging him to get dug in and be unwilling to change. People are like that when they feel attacked.

    If you have, the article would benefit from that information.

    [reply]

    directhex Reply:

    @T.J. Crowder, others before me have done so, and received a “lollerskates” response from a supposedly grown man.

    [reply]

    T.J. Crowder Reply:

    @directhex, reference? I’m not saying I don’t believe you (not at all), I’m just saying that it makes a big difference, and it should be highlighted, not footnoted, if someone has rationally, calmly, and non-confrontationally explained the issue and politely requested a revision. I can totally give Crockford a pass for adding the clause in the first place. If he persists with it in the face of actually wasting people’s time and being politely informed of that, well, it’s a lot harder to give him a pass on that.

    [reply]

  39. I actually agree with you – it does create problems. But I also agree with Crockford – he wanted to prevent or discourage people from doing evil things with his software.

    Personally, I think D. Richard Hipp had the right attitude with the way the license to SQLite works; namely: it is in the public domain. In lieu of a license, it has a blessing instead. And the blessing asks you to do good and not evil.

    And SQLite is used everywhere! With few problems. Everyone builds apps on it. And when conflicts between users interests come up, people work them through civily on the mailing list or fork. No license debates.

    [reply]

  40. Oh men, what kind of law system do you have? Has anyone considered that to be the true problem? Remember that also the Open Source Initiative’s Open Source Definition is based on (national?) law. If that law does not define what good and evil is, and whether “evil” resembles a field of endeavor, how can a judge judge? (Sorry. Couldn’t help formulating it that way. :o) If he cannot, how can anybody _not_ expect him to dismiss the claim?

    [reply]

  41. […] sentido del humor que un programador, también hay desarrolladores que tampoco lo tienen. Justo Jo Shields, uno de los mantenedores de Mono en Debian es uno de ellos. El dijo: “El es libre para elegir […]

  42. Crockford is a neck beard. Nuff said.

    [reply]

Leave a Reply