Wednesday, July 20, 2011

JSLint, Licensing, and JSON Visualization

The JSLint license specifies that it should be used for Good, not Evil.

Suppose I construct some program that I believe to be Good, and use JSLint to improve the quality of that program. Further suppose that I release my code under a permissive license, such as a BSD license. Now suppose that somebody else takes my program and uses it for Evil.

In this case, the evil-doer has not actually violated their license agreement with me, since BSD licenses permit Evil. However, the evil-doer has now profited from the increased code quality gained from using JSLint.

Is the evil-doer now in violation of the JSLint license, despite never actually using JSLint themselves? Alternatively, perhaps I am now in violation of the JSLint license? Does the JSLint license require me to use the "Good" clause in my license as well, to prevent this scenario?

These are the questions that trouble me this morning. By the way, I've released the source to my JSON visualizer under a BSD license.

1 comment:

  1. Good questions -- have you considered law school? Anyway, my thoughts, not legal advice, etc., etc.: You used it for Good. It's arguable that the evil person isn't bound by the EULA because they didn't actually use JSLint (and they may have no way of knowing that you did -- it looks like the "reprint this notice" portion applies to JSLint itself, not software made using it). Your program is like a gun, or a bottle of gin, or a fluffy stuffed animal. You intended it to be used for sport, to promote social interaction, or to make a child happy, but if someone else comes along and uses Fuzzy Bunny to suffocate someone, I'm pretty sure you're not responsible.

    As far as prevention goes, I doubt the EULA could saddle you with an affirmative duty to police every modification and use of your product. That really wouldn't be possible.

    Once you release something into the stream of humanity, it's not really yours anymore. (Credit the great philosopher Neil Gaiman for that thought.) If that doesn't sit well with you ethically, remember that the choice of what to do with something is entirely in the hands of the user. Free will, and all that. You can hope for the best, but you can't enforce it. The alternative is to sequester your work away, which is not really a satisfactory solution either.