One of the weirder things I have done in my life is contributing some code to JSHint (a derivative of JSLint) so that it can finally be used for evil. The lead maintainer has a series of blogposts on the subject that are an interesting read: http://mikepennisi.com/blog/2020/you-may-finally-use-jshint-...
Don't put clauses that rely on subjective concepts (like "good" and "evil") in your software licenses, because they can render the license impossible to enforce.
Do you think Douglass Crockford didn't know that? He was being cheeky and doesn't care. This was also a huge pain point for JSHint and a lot of work went into undoing that by finding a single commit that didn't have the clause iirc.
I read this and it is interesting. I get why asking JS Hint contributors to re-submit/approve their changes is clear of the Do No Evil clause.
But, I don't understand why all changes before that (from JS Lint Day 1 until it was forked into JS Hint) aren't subject to that same clause. Why is the Eclipse Foundation not subject to it?
The Eclipse Foundation received their copy of JSLint under the MIT Expat license, not the default no-evil license.
> Meanwhile, the author of JSLint permitted the Eclipse Foundation to relicense a version of JSLint using the MIT Expat license so that it could be included in their project named Orion
I guess some people might find it cheeky or funny to build an entire software product that does something people want, and then make it impossible for most people to use by adding a silly licensing clause. I’d consider it a huge waste of time, but hey, it’s not my project.
If the licence is not compatible with our desired use we have the choice to move on our try negotiate different terms (or both: try for different terms and move on if compromise cannot be achieved).
No creator is under any obligation to make their stuff useful to us.
Not really. Nobody actually pays attention to open source software licences whatever you write in them. They're just window dressing. Who isn't violating the attribution requirements of 1000-odd npm dependencies?
> Nobody actually pays attention to open source software licences whatever you write in them. They're just window dressing.
Plainly untrue. Various companies (including Google and Apple) have strong opinions on the GPL licences, especially the GPLv3.
Many of us see it as a red flag when a seemingly Free and Open Source project turns out to use a licence approved by neither the FSF nor the OSI.
> Who isn't violating the attribution requirements of 1000-odd npm dependencies?
You may be right that much web frontend development is a sloppy free-for-all with no regard for compliance and no contact with the legal department, but not all software is developed on this basis.
That’s why attribution requirements are stupid. Of course, as a matter of politeness and ethics, one ought to acknowledge the work of others you build upon. But elevating it from an informal principle to a formal legal requirement puts people in the unpleasant position of having either to deal with endless and ever-changing attribution bureaucracy, or just ignore it all and hope nobody ever complains (or sues). Zero attribution licenses don’t do that to people.
It also makes it impossible for Open Source projects to use and depend on. This isn't a companies-vs-people thing; people and projects who care about their users should not go "meh, whatever" about software licensing.
And many people chose not to use it as a result, despite having no desire to do "evil". People can certainly license software however they like, and other people can complain about that and build replacements, as JSHint did.
> It's a linter, it doesn't require being incorporated into people's projects.
Many things do want to depend on tools that process source code, such as bundlers, IDEs, transpilers, and similar.
If the Software Freedom Conservancy vs Vizio lawsuit is won, then anyone who is the recipient of copylefted software (GPL etc) will be able to go to court for compliance.
The default for copyright is 'all rights reserved' though, so it would seem to me that it's in the software users best interest to hope it's enforceable, otherwise they can't use the software at all.
Pretty sure most licenses have a clause stating that, if one clause is deemed invalid, that fact doesn't render the entire thing null and void. Check with your lawyer when in doubt.
What effect do purely normative statements have on licenses? Because the original only says you should use it for Good, not that you must use it for Good.
Legal teams evaluate licenses and then ban the usage of your software because your attempts to be cute with license clauses pose an unacceptable business risk compared to the value you provide.
If you want your software to be usable, choose standard licenses and don’t modify them. Unless you find value entirely in creating something and not in being useful to others, be extremely careful with creative licensing.
It's useful to others. It's just not useful to enterprises. This may be a positive or a negative depending on your intentions. You can read such a license as a kind of non-commercial use license.
In fact this is exactly the business model of the SQLite project. They have a "cute" public domain declaration and then they sell actual licenses for a fee to enterprises that want to distribute SQLite worldwide.
Copyright holders suing the licensee for a breach. Regardless of if the suit has merit there will be significant legal costs in defending against it and significant engineering costs in replacing the software, often quickly. Likewise there could be image issues for the company violating license terms.
It will deter orgs large enough to be worth suing. It will not deter individuals who click ok on everything without reading nor startups that play fast and loose.
This is a pretty moot point - judges do go by license intent rather than literal license text whenever possible but putting abstract statements in licenses without severability clauses is a great way to make those licenses unenforceable. A license that includes the statement "This may not be used to further the end of mankind in any way" for instance - is completely null and void, the intent is clear but the set of actions that can be argued to fit that are... everything.
Also, that original intent can be lost to time (in three hundred years a judge might rule that they can't properly evaluated what we today consider good and evil since this was before we acknowledged residents of Alpha Centauri as intelligent beings and thus our moral code is incomprehensible) and in that case judges will take a literal reading of the text which can lead to issues like ambiguous comma styling[1].
When I discovered Crockford, JavaScript was a joke language. You'd have been laughed out of the room if you suggested doing any kind of major project with it. It was something you used to validate a field, triggered on the "blur" event or something like that.
Crockford helped me see that there was more to JavaScript than it was being used for.
> Crockford helped me see that there was more to JavaScript than it was being used for.
I read Crockford’s “JavaScript: The Good Parts” and had a similar experience, though it was more like an epiphany. I thought back to all the other disdainful language criticisms I’d embraced over the previous 30 years and realized I’d been a fool all along about a lot of things…
Later I met Crockford after a JSON talk and we had an excellent discussion. But - he autographed my friend’s book with a personalized admonition to do no evil..