I use the MIT license for all my projects because it's simple and sensible. I want to code and not worry about the politics. The MIT license gives me that.
It might be simple, but I don't agree that using a permissive license is apolitical. Understanding this, passing your views off as "pragmatic" seems dishonest.
The OP links to djb's site - he seems to conflate rejecting EULAs (which I agree with) and rejecting copyright on software; am I reading him correctly? (I mention him here because nobody can claim his stance is pragmatic at all.)
Perhaps we can have a "public domain license," then. Attaching it to a project would go something like: "This software is in the public domain, as that term is defined under USC yadda-yadda. If your local law does not define the term similarly, then consider the conditions of USC yadda-yadda to be the terms of the license of this software to you."
That would actually pretty close to the MIT license, in practice. There are major benefits to not inventing yet-another-license, and using something that everyone is already familiar with.
Yes, but on its license page (http://sqlite.org/copyright.html), it has a section for how to obtain a different license for people "are using SQLite in a jurisdiction that does not recognize the right of an author to dedicate their work to the public domain" (among other things).
I didn't know that, but that's exactly the reason that I pointed in the direction of SQLite. I knew it was 'in the public domain', and that their 'full license' would probably have some sort of solution to issues like this.
Obviously this issue is complex enough that they have a page devoted to it.
Right. Specifically, it's the intersection of a public domain license and a program that gets a lot of commercial use (esp. embedded in devices). I know of some other public domain programs (off the top of my head: several of lhf's libraries for Lua), but nothing else that has had the license carefully scrutinized for commercial use.
I'm quite sure I read an interview or maybe just a mailing list posting where the author of sqlite (D. Richard Hipp) said that he in someway regretted releasing sqlite in the public domain, or at least if he knew what he knows now about the legal issues surrounding public domain he might reconsider. I can't find it. Does anybody else remember reading something similar or did I just imagine it?
I don't know of any written interviews or mailing list posts offhand, but I linked (elsewhere in this this discussion) to a Google tech talk in which he mentions it. It isn't really detailed, just an "Oh man, I thought that would have made things simple, but actually..." sort of aside. The interview/post probably has more info.
I think you are correct in identifying a conflation of eula with copyright. In fact I don't understand why the link to djb is there at all, even given that conflation.
I totally agree. When you put something open source, generally the more people use it the better. GPL often just causes problems. MIT is simple, and lets anyone do anything. If I open source something, that's what I use. Otherwise I keep it closed.
I realize “bad guys” don’t cease to exist—whether they “steal”, don’t share, lock up code, or have business models in mind you don’t like. But it’s not my fault they are that way, and neither it is my job to “teach them lessons”.
I don't think any significant body of code is written or licensed for punitive reasons. The difference between the MIT and copyleft licenses such as CC-BY-SA or the GPL is that the MIT license does not protect your users from hostile middlemen.
If a middleman takes your code, compiles it, and then distributes it to the user, then that user has no access to the source code to the version installed on their system. This is one of the events the GPL is designed to guard against.
In an ideal world, everybody would provide their users the same rights they received from the copyright holder. The only licenses required would be MIT/BSD style. I would love this; a simple license, in my opinion, is better than the enormous complexity of the GPL. However, since in the real world people can and do restrict user's rights to source code, the GPL is still needed.
If a middleman takes your code, compiles it, and then distributes it to the user, then that user has no access to the source code to the version installed on their system.
So? The user can get the original code from me. They can't get what the "hostile" middle man added to the code, but that's OK, because I didn't write that -- they did.
However, chances are good that the "hostile" middle man is providing a service that the user wants, and they don't consider him to be hostile at all. I'm quite happy that Apple takes BSD licensed code (some of which is my own) and produces an operating system that I find to be incredibly valuable in my day to day work.
I'm happy to disclaim access to source code, and provide Apple with some money for this service.
But wouldn't it kind of be the user's own fault if he installs software he doesn't see the source for? Also, how would the GPL protect the user, if the criminal does not mind doing illegal things anyway (like distributing malicious software)?
But wouldn't it kind of be the user's own fault if he installs software he doesn't see the source for?
I don't believe that blaming the victim is a healthy attitude to life. "The rape was her fault for wearing those clothes" is for banana republics and history books, not modern times.
Also, how would the GPL protect the user, if the criminal does not mind doing illegal things anyway (like distributing malicious software)?
I didn't say it was a criminal act, and the software does not have to be malicious. Assuming the middleman makes any change at all, no matter to what purpose, then the user no longer has access to the source code for the application they're running. In my opinion, this is unacceptable, and I try to avoid contributing to software under a license which allows proprietary distribution.
I don't believe that blaming the victim is a healthy attitude to life. "The rape was her fault for wearing those clothes" is for banana republics and history books, not modern times.
I am not a victim. I am willfully and with full knowledge of the implications entering into an economic exchange that I believe to be of benefit to myself.
I hit the wrong arrow and upvoted this turkey when I meant to downvote it. Most problems are the "victims" own fault. Unless someone is the victim of a totally unexpected attack, eg 9/11, he at least assisted in his own problems and often enough caused them entirely on his own.
EDIT: By "turkey" I meant the statement about "blaming the victim" which is repeated over and over in all sorts of contexts and is usually mindless PC-speak. I have yet to see it defended except by screeching and name-calling.
So the car manufacturer is responsible for the thief stealing the car? I don't think the comparison to the rape victim applies here. If somebody chooses to jump into an abyss, it seems fair to blame them for the consequences.
I thought about it before your response, and I admit, there is that one way by which I might help people receiving bad software: by not using GPL I support a world in which unfree software could possibly exist.
However, for myself it seems sufficient to work towards a world in which everybody has the opportunity to use free software if they want to. Suppose I would be giving away free cars - a thief could still steal a car, but since he could just get one for free anyway, his incentives for stealing a car would be far less. Creating a world in which nobody would even be allowed to create unfree software seems unnecessarily restrictive to me, and in fact, undesirable. By consequence other possibly dangerous things would have to be made illegal, too. Eventually the whole world would be Disneyland - not something I would want.
Edit: to clarify, I agree that some of these things are personal preferences, so I understand how choosing MIT license is a political decision, too.
In Germany (and some other jurisdictions), you're forbidden to unilaterally disclaim responsibility for something you've written, which the public domain implies. Instead, you can only assert that there's no warranty (for example) via license (and/or contract, I guess?). Explicitly placing things in the public domain has a history in the US, but actually is not directly supported by law even there, only precedent.
There's a Google tech talk with Dr. D. Richard Hipp* (the primary author of SQLite), and he mentions that his decision to release SQLite under the public domain (for simplicity's sake) had surprising consequences -- in his words, the public domain doesn't exist for software in Europe, and several EU companies decided it would be prudent to pay a nominal fee in exchange for a custom, perpetual license from him.
IANAL, etc., but that's a lead if you want to investigate further. (He didn't specify what countries in Europe, but strongly implied it was the case throughout.)
I think you can not give away the Copyright to things, but I am not sure if that has any practical implications, as Copyright is just one of many rights. Most contracts by publishers manage to get the rights to do with your stuff whatever they want anyway.
The main reason I use MIT is so that I can use my open source code in my own commercial endeavours without "infecting" that commercial codebase, which needs to remain closed source.
Only if you own the copyright for the entire body of work. If you receive external contributions, you must request copyright assignment from contributors to allow you (and only you) to use the work for any purpose under any license.
Pro-GPL arguments are full of these silly caveats.
"You can still sell the software" -- so can anyone else, or they can just give it away for free. Now what?
"You can use it under any license you want" -- only if you acquire full copyright for every single contribution.
"You can sell services!" -- end users don't buy "services" for consumer software.
"Non-GPL software is immoral" -- guess who buys the "services" that cover your development costs? Companies that ... sell proprietary software.
.. and just to demonstrate the total rational disconnect of the primary GPL advocate, Mr. Stallman:
> "You can use it under any license you want" -- only if you acquire full copyright for every single contribution.
This is easy to do. You are the end-point for accepting contributions. All you have to do is require assignment of rights to you in order to accept patches. This is obviously more difficult if you didn't do this to begin with and now have to track down all the past contributors, though.
> "You can sell services!" -- end users don't buy "services" for consumer software.
Depends on what you mean by 'end user.' If the end users for my piece of software are law firms, then yes, they would purchase support contract/other services. Not every piece of software out there is developed for home desktop users.
> "Non-GPL software is immoral" -- guess who buys the "services" that cover your development costs? Companies that ... sell proprietary software.
So the only entities that would purchase support contracts (or custom modifications) for software are proprietary software development houses?
Did you ever try contributing to MySQL? Chances are very good your patch languished for years.
As a contributor, it's a bum deal. I don't like giving away the rights to my work just to support their business model or moral imperative.
Depends on what you mean by 'end user.' If the end users for my piece of software are law firms, then yes, they would purchase support contract/other services.
I literally mean "end user". The consumer who would like a piece of software to solve a particular problem on their desktop. Someone a little like me, who uses the software I'd like to write.
Of course, I don't actually want to provide services -- I want to write software.
So the only entities that would purchase support contracts (or custom modifications) for software are proprietary software development houses?
No, they'll just make up a large portion of your sales (from experience) if you're selling technically-oriented services.
> Did you ever try contributing to MySQL? Chances are very good your patch languished for years.
That has nothing to do with the ease that the software owner can create a system to not have to 'track down all contributors' when making a licensing change decision. Your original post implies that this is a barrier to entry.
> I literally mean "end user". The consumer who would like a piece of software to solve a particular problem on their desktop. Someone a little like me, who uses the software I'd like to write.
So you're suggesting that I can't sell support/services for my 'law firm software' because the paralegal/lawyers that are actually using it on their company desktops will not be paying out of pocket for services? Huh?
> Of course, I don't actually want to provide services -- I want to write software.
No one is forcing you to. I'm not being 'Pro-GPL' here I'm just poking holes in your argument.
> No, they'll just make up a large portion of your sales (from experience) if you're selling technically-oriented services.
(emphasis mine) In your original post you seem to be applying that to all software that someone might choose to make GPL.
Your original post implies that this is a barrier to entry.
It is a barrier to entry. I provided one example, there are many others. Try participating in the OpenJDK development process. At every turn, you'll find that administering copyright assignment is, bluntly, a gigantic pain in the ass.
As you already noted, it's nearly impossible to put the cat back in the bag, if you fail to do this to begin with.
So you're suggesting that I can't sell support/services for my 'law firm software' because the paralegal/lawyers that are actually using it on their company desktops will not be paying out of pocket for services? Huh?
No. I'm saying that consumers won't buy services for consumer software. If you're selling enterprise support services, you're not selling consumer software to consumers.
No one is forcing you to. I'm not being 'Pro-GPL' here I'm just poking holes in your argument.
A standard argument for the GPL is that you can (should?) sell services, not software.
In your original post you seem to be applying that to all software that someone might choose to make GPL.
If you write software within a narrow band (enterprise, requires support, sold to non-technical organizations) you might be able to make the GPL work for you. Like I said originally: "lots of silly caveats".
> It is a barrier to entry. I provided one example, there are many others. Try participating in the OpenJDK development process. At every turn, you'll find that administering copyright assignment is, bluntly, a gigantic pain in the ass.
IIRC, Samba requires you to assign over rights to contribute. Maybe take a look at their process.
While I will admit that I have no experience with large projects like OpenJDK, I'll venture a guess that the larger a project gets (and/or the more submissions it gets) that harder it is to manage.
GPL is not always realistic with out side effects, but that doesn't mean it's never realistic either (or that it can't be done if you accept the side effects).
Copyright licenses grant rights to other people. They don't restrict the owner's rights. As the owner of copyrights on your code, you are allowed to distribute it in any way you want.
This is part of copyright law. The GPL has nothing to do with it.
It's possible that putting things in the public domain is no longer allowed even in the US. Peter Saint-Andre puts all of his work in the public domain, but he wrote an essay with links almost three years ago discussing among other things that it may not be legal https://stpeter.im/index.php/2006/12/30/pd-howto/ . He has a lot of other writings about PD and copyright issues here : https://stpeter.im/index.php/category/publicdomain/ . Note for those using IE; IE does not recognize his CA, you need to either click through or change the https to http.