views:

153

answers:

4

Say that I have made some software (which has both library form and can be used by end-user too).
Now before releasing I was thinking under which license can I release it.
I have the following concerns that I can think of (any more concerns can be added):

  1. Open source
  2. I should retain the complete credit as an author,
    though extenders may extend and add their names in their contributions
  3. I should be still be able to make money.
  4. I can trade point 3 with popularity of the software.
  5. International license.

Thanks.

A: 

How about using the GNU Lesser General Public Licence?

atomice
http://www.freebsd.org/doc/en/articles/bsdl-gpl/gpl-advantages.htmlFrom the above, my concern was "The GPL can present a real problem for those wishing to commercialize and profit from software. For example, the GPL adds to the difficulty a graduate student will have in directly forming a company to commercialize his research results, or the difficulty a student will have in joining a company on the assumption that a promising research project will be commercialized."
Suraj Chandran
That's why I suggested the LGPL and not GPL.
atomice
+4  A: 

There are many licenses that do this. Start by filtering:

Condition (1) simply means choose any license approved by the Open Source Initiative http://www.opensource.org/

Condition (2) is a given - every license I know of forbids the removal of your copyright.

Condition (3) is also a given - all open source licenses allow commercial use, they just might not allow use in a closed source program. Additionally, you own the copyright, so you can relicense it under any other terms you prefer - for instance, you could release it under the GNU GPL, and then when you want to use it in a proprietary program, relicense it to yourself under another license. Another way of making money with open source is in fact to do this trick, but for a fee - if someone is willing to release their code under the GPL, they can use your code for free, otherwise they have to pay for a commercial-use license. What license is most appropriate depends on how you want to make money with your software, and if it is a stand-alone application or a library. One downside of the GPL relicensing trick is it is more difficult to take contributions - since normally you cannot relicense code someone else wrote under the GPL for your commercial licensing scheme; this only works if you soley own the copyright, either because you wrote everything yourself or got people to donate their copyright to you.

Condition (4), being popular, is not a factor of the license, but of the software. :)

Condition (5) should be met by any commonly used open source license. Most are not explicitly international, but I have never heard of any major troubles with common licenses.

So I'd say the real crux is (3). If you want to be able to sell proprietary versions of your software, but don't care if anyone else can too, use the BSD, MIT, or X licenses. This is straightforward and simple, and you can accept contributions under the standard license without trouble. If you want to keep others from using it commercially, use GPL and relicense it for a fee.

Another way of making money on open source software is consulting, but this depends less on the specific license you're chosen and much more on your software being popular and widely used.

Jack Lloyd
To Quote yours:"Additionally, you own the copyright, so you can relicense it under any other terms you prefer - for instance, you could release it under the GNU GPL, and then when you want to use it in a proprietary program, relicense it to yourself under another license. "Is that legal and is it usually done by people?
Suraj Chandran
What about people who have already used it in thier projects when it was GNU GPL. If i releicence it, I can't force them to remove my lib or pay me? Right?
Suraj Chandran
What I mean is that I can relicence to terms which are more liberal then previous terms but not otherwise. IS it right?
Suraj Chandran
@Suraj Yes this is completely legal, if you are the sole owner of the copyright - you can release it under whatever terms you like. The XySSL library was released under these terms, for instance, as was Qt for many years. And no, you cannot change the license under people who are already using under the GPL - you can't revoke the terms after the fact (except as allowed by the GPL terms). But you can sell or give a new license to your software to whoever you want, regardless of what the current license is. (Again, as long as you are the sole copyright owner)
Jack Lloyd
+1  A: 

Point 2: All open source licenses I know of meet this.

Points 3 and 4: This is the crux of the matter. Which matters most to you: having your software widely distributed, or being able to make money off of it? There's also a third possible requirement, which doesn't seem important to you since you haven't mentionned it : preserving the freedom of your users.

If wide distribution is important, you might want to consider a BSD-style license.

If money is important, you should consider dual-licensing.

If users' freedom is important, the GPL or one of its variants would be a good choice.

Also, from your description you have both an app and a library. Do they need to both have the same license?

Here is an article here from a developer that has similar requirements to yours.

Paul Lalonde
Yes both lib and tool need to have the same licence. Also how does dual-licencing work exactly?
Suraj Chandran
A: 

Almost all open source licenses will fulfill (2), because they require that the author still be credited in all things.

Issue (3) is a little more interesting, because if you are using a truly open-source license then you will not be able to prevent other people from selling the software as well - licenses which prevent people from using it in a certain way (not commercially) are not true open-source licenses and are better described as "source-available" or "shared-source" licenses.

You may want to look into a Creative-commons license like CC-BY-NC or CC-BY-NC-SA, which satisfies your non-commercial constraint but as the author of the work yourself, you will still be able to use it commercially of course. However, the Creative Commons licenses are not designed for code but more for other creative works.

(4) and (5) don't really mean anything when you are thinking of licensing.

jamuraa
Well personnaly, 4 and 5 are very important for me. I don't want someone to exploit my software just because my licence does not hold legal in thier country :)
Suraj Chandran