I tried to get approval to use an (entirely IBM-developed) open source library at IBM. The process took months and hadn't finished when I finally left. If I remember correctly, it was going to take approval from the team lead, 3 lawyers, and a VP (and possibly someone else, I can't remember). And that's after spending about a week or two running code scans to check for "suspicious" keywords like 'evil'^ and then individually checking each of the ~10,000 issues.
I know why IBM has to these issue so seriously but remember this when you wonder why big companies can't execute as quickly as startups. And remember, the library I wanted to use only had contributions from IBM developers and was under the favoured Eclipse licence.
^ As an aside, putting 'evil' in your licence is pretty dumb. There is no definition of evil which can be argued over in any court. What you consider 'good', someone else almost certainly considers 'evil'
> As an aside, putting 'evil' in your licence is pretty dumb. There is no definition of evil which can be argued over in any court. What you consider 'good', someone else almost certainly considers 'evil'
People keep arguing that the license is bad because "evil" is ambiguous. But there's a legal concept called "Contra proferentem", which stipulates that ambiguity in a contract (or license) benefits the party which did not draft it. Crockford's clause has no force because he drafted it.
> Crockford's clause has no force because he drafted it.
Am I the only one who finds it concerning that a clause which legally cannot be enforced is placed into a license anyways? I'm not sure how this helps the complaints against the JSLint license.
^ As an aside, putting 'evil' in your licence is pretty dumb. There is no definition of evil which can be argued over in any court. What you consider 'good', someone else almost certainly considers 'evil'
Actually, one of the real dangers is if a court does recognise an act as evil, which they do all the time, just search court records for "evil". (For example, if a rapist uses your code, that would probably count as evil to a court)
The license refers to evil actions, not evil people. If a rapist uses your code to rape people, your example might be more true, but I don't see how JSLint helps with that.
Oh, no, its not. That's not even close. Round up lots of people, under whatever excuse, put them in camps, make them work hard as slave labor. Use software to automate and manage the process, keeping track of productivity, and torturing/executing anyone who drops below the minimum threshold. Or using them for medical experiments. Use software to open/close their cell doors, herd them to meals and work, track their every move. I think you lack imagination.
Software is a tool. Like other tools, it can make any process more efficient, for better or worse. Damn, I've been in management too long.
Yes, no-one's suggesting that the software developer is guilty of what ever the code does. But if you grab JSLint and bundle it with your software, that person X uses for evil, then person X is guilty of whatever they did, and you might be guilty of copyright infringement.
"The Software shall be used for Good, not Evil." is a separate clause in license, permission for distribution is granted above it. So only person who use software for evil is violator of license.
At first, I was surprised by this. If IBM wants to use 100% IBM developed and owned open source code, then the licence of the original project is irrelevant.
However, the use of a copyleft licence for the project leaves open the possibility that it includes code from a copyleft project authored by someone else.
Was the point of the approval process to ensure that contributions had not come from anywhere other than IBM?
I used to work for a company that made hardware/software that IBM would resell under their own branding. I had to fill out one of the IBM documents describing all 3rd party software we used, licenses of those packages, how they are used, etc...
Comments
I tried to get approval to use an (entirely IBM-developed) open source library at IBM. The process took months and hadn't finished when I finally left. If I remember correctly, it was going to take approval from the team lead, 3 lawyers, and a VP (and possibly someone else, I can't remember). And that's after spending about a week or two running code scans to check for "suspicious" keywords like 'evil'^ and then individually checking each of the ~10,000 issues.
I know why IBM has to these issue so seriously but remember this when you wonder why big companies can't execute as quickly as startups. And remember, the library I wanted to use only had contributions from IBM developers and was under the favoured Eclipse licence.
^ As an aside, putting 'evil' in your licence is pretty dumb. There is no definition of evil which can be argued over in any court. What you consider 'good', someone else almost certainly considers 'evil'
> As an aside, putting 'evil' in your licence is pretty dumb. There is no definition of evil which can be argued over in any court. What you consider 'good', someone else almost certainly considers 'evil'
People keep arguing that the license is bad because "evil" is ambiguous. But there's a legal concept called "Contra proferentem", which stipulates that ambiguity in a contract (or license) benefits the party which did not draft it. Crockford's clause has no force because he drafted it.
http://en.wikipedia.org/wiki/Contra_proferentem
Contra proferentem is all good and well but you still have to go to court and argue your case, which wastes $1000s of dollars. Ambiguity is expensive.
Even then, do you really want to go to court about it?
> Crockford's clause has no force because he drafted it.
Am I the only one who finds it concerning that a clause which legally cannot be enforced is placed into a license anyways? I'm not sure how this helps the complaints against the JSLint license.
While it would be nice to have a license static checker that removes unused clauses, I'm not sure that's actually possible.
It might be possible to write an obfuscator though...
^ As an aside, putting 'evil' in your licence is pretty dumb. There is no definition of evil which can be argued over in any court. What you consider 'good', someone else almost certainly considers 'evil'
Actually, one of the real dangers is if a court does recognise an act as evil, which they do all the time, just search court records for "evil". (For example, if a rapist uses your code, that would probably count as evil to a court)
Then you're definitely breaking the law.
The license refers to evil actions, not evil people. If a rapist uses your code to rape people, your example might be more true, but I don't see how JSLint helps with that.
I felt pretty violated when I ran it against some of my code and it told me how hard it sucked.
What if someone uses the code to build a weapon and then kills people with it? Can the court hold you liable?
My god, a weapons system written in JavaScript. I can't think of anything more insidious.
i haven't heard of any weapons manufacturer being held liable even though their products are designed to kill humans which is as evil as you can get.
Oh, no, its not. That's not even close. Round up lots of people, under whatever excuse, put them in camps, make them work hard as slave labor. Use software to automate and manage the process, keeping track of productivity, and torturing/executing anyone who drops below the minimum threshold. Or using them for medical experiments. Use software to open/close their cell doors, herd them to meals and work, track their every move. I think you lack imagination.
Software is a tool. Like other tools, it can make any process more efficient, for better or worse. Damn, I've been in management too long.
Was this a subtle reference to IBM and their involvement with Nazi Germany?
No.
Right, because the primary goal to buy a weapon is to keep the front door from getting closed by the wind.
Software is generalized, certain weapons are... not so much.
If a customer used your code for evil, that means they broke the law, not you.
Yes, no-one's suggesting that the software developer is guilty of what ever the code does. But if you grab JSLint and bundle it with your software, that person X uses for evil, then person X is guilty of whatever they did, and you might be guilty of copyright infringement.
"The Software shall be used for Good, not Evil." is a separate clause in license, permission for distribution is granted above it. So only person who use software for evil is violator of license.
Technically are you breaking the law or violating an agreement which can be enforced in court?
I think you're open to a civil claim but I don't think you've actually broken any law.
At first, I was surprised by this. If IBM wants to use 100% IBM developed and owned open source code, then the licence of the original project is irrelevant.
However, the use of a copyleft licence for the project leaves open the possibility that it includes code from a copyleft project authored by someone else.
Was the point of the approval process to ensure that contributions had not come from anywhere other than IBM?
I used to work for a company that made hardware/software that IBM would resell under their own branding. I had to fill out one of the IBM documents describing all 3rd party software we used, licenses of those packages, how they are used, etc...
Ya, it sucked.
As a Microsoft employee, your description of this process sounds painfully familiar...
Sure! And everything which is important involves companies and licenses and whether your shiz is legally sound or not.
Or wait, it's just a man's own time, can't he do what he darn well pleases?