recently I created a java class ” Custom Layout Manager “, which I want to make it open-source and distribute it. So it’s not really a “product”, nor a “complete program”.
Here’s the list of permissions and specifications:
- You are free to use and modify with some limitations (packages and classes names, should remain the same, if you want another name, extend this class. – The .jar file, project name is ok to change).
- You don’t need to share your modifications.
- You can’t modify and then sell it to others.
- You can use it as part of your commercial software
(For example:
It’s OK if: you created an instant messaging program, that uses my “Layout”, since your “core bussiness” isn’t the “Layout”, but the msg program.
It’s NOT OK if: you created another “Layout” by extending it, added some features and sell it.) - You can’t remove the author’s name nor the author’s website address.
- You are free to donate. 😀
Basically, it’s free and it’s Ok as you give me credits and don’t make money with it.
I guess it might be a little bit complex, since you use it “commercially” but cannot sell it separately.
I have seeked almost all the licenses, and the closest one was MIT license, but it says that you can sell it, so I don’t really want to use this one.
Is there any license that fits all these permissions I stated?
Thanks.
There are several that may fit your needs, but recall the standard “I am not a lawyer” disclaimer.
The two that seem most likely to satisfy your goals are BSD or MIT. Remember that you always retain the copyright of your code. These licenses give freedom for someone to incorporate your work with credit, but you do not lose your rights. Most companies I have worked with are okay using licenses such as these, but will stay away from GPL for intellectual property concerns.
There are many out there… I usually prefer to hold to the more common ones since they generally meet my needs. Here is a good resources to read about some of the specific differences: http://opensource.org/licenses/alphabetical (it can get kind of dry).
It is also important to distinguish between “free” software and “open source” software. The semantics of which cause religious battles. There is a good article on the difference here: http://www.gnu.org/philosophy/free-software-for-freedom.html