GPL-Style License w/ A Twist?
txsable asks: "I'm trying to find out if there is a GPL-style Open-source license available with a special twist: that any modifications made, while being allowed to be released as per the terms of the 'normal' GPL, must also be submitted back to the original author for possible inclusion in the main project. I know it seems ridiculous to require by license what should be a common-sense procedure for open-source developers, but I've seen enough projects which were greatly modified from the original project, with features the original project either was working on or had also developed, and it led to confusion and/or unnecessary duplication of effort. Anyone have any suggestions for me (other than writing my own license...I don't speak enough lawyer to make something that reads as bad as a legal document)?"
The licensee shall notify the Creator of this program with any changes and shall make available to the Creator such changes at the licensee's expense in the event the licensee releases this product in a modified form.
But isn't that just more handcuffs?
Dancin Santa
- This would violate the Free Software Foundation's definiton of Free Software. One of the primary freedoms of Free Software is the freedom of privacy. Namely, the right to keep your modifications private, for yourself, and not share them with your neighbor. RMS would certainly prefer that you do share--but he feels it unethical to require that you share. If you do this, then your software, while still being Open Source, will not be Free Software.
- Think in the long-term. What happens in ten years when you're no longer active in the community? What if nobody can find you to send you these diffs? In that case, your software cannot be modified and distributed--because without sending you the diffs, the software cannot be distributed!
- If you have a clause that says ``you are not required to send me changes if you can't find me'', then people can make whatever diffs they like and not send them on--after all, hey, they looked around their cube for you, you weren't there, so they just went on with business as usual. Yes, that's an extreme case, but it'd be technically legal.
- The more complex a legal agreement becomes, the easier it is to subvert. The GPL is already on questionable legal ground; if you add another clause, even with a lawyer's help, you also diminish the likelihood that you can ever enforce this license.
... I don't mean to burst your bubble here, but this is just a Bad Idea. Better to leave a note in the README that says ``please, please, please remember to send me diffs'' and not make it a legal requirement of the license than to try and write in your own clause.Do you mean:
"If you modify this code, you must submit changes back to the original author"
or:
"If you modify this code and release the modified code for public use, you must release the modified source to the public and submit changes directly to the original author"
Basically, does someone have to send you changes they made if they are not releasing the modified code in general? I am not clear from the wording you used.
"This message is composed of 100% recycled electrons."
You might want to check out the Apple Public Source License
It is pretty close to what you want, although it is not GPL compatable.
If you are writing your own, it might be a useful starting point.
There is a nice list of other licenses here - always a good spot to start exploring.
I think in general anybody adding a feature for their own use wants to see their code in the main version. They don't want to have to keep patching it with their modifications every time you make a new version. They also worry that you will provide that feature in a different way and get credit for your idea. Also they worry you will change the code such that their modifications can't work or have to be rewritten.
I also think anybody who does not want to contribute back to the original code is not going to be stopped just because of a clause in the license.
So I would ignore this. Make sure it is easy for people to contact you and respond to any patches sent (even if you don't put them in).
Mozilla is basically licensed this way. All code is licensed under the GPL and LGPL, and also the Mozilla Public License. So, when used under GPL/LGPL terms, it is totally compatible with other GPL/LGPL free software, and when used under MPL terms, AOL can incorporate it into the proprietary Netscape product.
"(Man) tries to live his own life as if he were telling a story. But you have to choose: live or tell." --Sartre
but it doesn't really change anything. The changes are freely available to the creator anyway, because of the GPL.. he just wants to be informed about them, rather than have to go looking.
I think a lot of people (me included) still get confused regarding the GPL (or other licenses.. but let's talk about the GPL), and open-source projects.
If I start a project to build Gnu-App-X.. and release it, and someone submits some changes to me... and I incorporate those changes into the product.. those changes are not the 'property' of the submitter.. they were given to me, for inclusion in my project. I would guess that I now 'own' the resulting work. I can still re-license if I want. The GPL has nothing to do with this situation, though many probably think it does.
THE GPL only comes into play when someone other than me wants to distribute the software.
The FSF considers for example the 3-bullet BSD license free software. But it is not copyleft.
You wrote "If software were truely free, you'd be able to do what you wanted and not have to do a damn thing in return." My point was just to point out that some software which is Free FSF-style is also Free by your definition. You are not completly opposed.