views:

1199

answers:

12

I was checking codeplex.com and when it's time to start a project, it requires to choose a License. They give us this link to choose the license.

What do you suggest? I have read few description and they look very similar.

Update

Some people asked me what is the project to be able to give me a more specific answer. The project is not really advanced and I thought it would be a good idea to share it. I just want to keep some right as the project starter and to not let someone make money from it. But, I am totally open to let other to use it for personal use or to modify it.

+21  A: 

The most popular are GPL, LGPL, and new BSD.

GPL says (more or less) that anyone who uses your code needs to release the code of their entire project, including the code that they wrote and any modifications to your code that they wrote, under the GPL, to anyone they distribute their project to.

LGPL says (more or less) that anyone who uses your code needs to release the source for any modifications they make to your code under the LGPL, to anyone who they distribute their project to. The rest of their project, however, they can license however they want.

New BSD says they can do pretty much whatever they like as long as they don't claim to have written your code themselves.

I suggest reading the actual licenses for more detail, but those are the big three.

Glomek
Re "anyone who uses your code needs to release the code of their entire project". Being familiar with the "derived work" language of the GPL I understand what you mean here, but that definitely deserve a clarification.
ddaa
It's woth noting that you do not need to release derived work under GPL *if* you do not redistribute it. In practice, GPL code can be freely used and modified for in-house server-side projects. AGPL closes that "hole".
porneL
+6  A: 

Remember you still own the copyright to any parts that you wrote (gets more complex when you start getting contributions) so you can also licence/sell your code separately however you want.

See also this question http://stackoverflow.com/questions/236113/what-power-do-i-have-over-my-license

Martin Beckett
+5  A: 

Find one that matches your ideology and meets the expectations of what you'd like to see done with your code once it is out in the open. My advice: refrain from writing your own!

Open Source License proliferation:
http://stackoverflow.com/questions/23098/why-the-proliferation-of-open-source-licenses

A high-level comparison of licenses:
http://developer.kde.org/documentation/licensing/licenses_summary.html

dwj
A: 

MS PL is also another popular one. It is a very open license that lets anyone use the code or modify it. It protects the writer of the code from and harm the code might cause for its users.

Peter Walke
+3  A: 

Different open source licenses allow different types of "freedom" for your code.

The GPL license means that when anyone uses your code in their program, they have to release not only changes to the original code, but their application code as well. This is a pretty extreme view of open source. It nearly removes the possibility that anyone could use the code in certain commercial settings.

The LGPL only forces users to release modifications to the code in questions, their own code can remain closed. (This is up for debate depending on the interpretation of the language of the license, and how the code is linked to the rest of the application.)

Some other licenses like MIT or BSD allow your code to be reused in closed source applications. In one sense, these are the most free licenses, as the code can be used for a wider array of purposes.

postfuturist
In this context the LGPL being "up for debate" means no-one knows what it means. Until it's tested in court in your jurisdiction, even lawyers can only offer an opinion as far as I know. IANAL
MarkJ
A: 

It depends how much you want to hold onto in terms of rights to control how something is used and adapted.

If you're feeling really generous, you might look at MIT/BSD licenses. People would be able to use or adapt your work into their projects with no attribution and they wouldn't have to distribute the source of their work. But anybody could use it for whatever they liked.

GPL and LGPL would allow them to use your source but if they're distributing their program, they'd have to publish the source - which is an issue for some people as they either don't want everybody to have their source, or they legally can't give it out (because they don't have those rights). LGPL makes things a little easier by allowing closed-source redistribution as long as your part isn't modified (eg using it as a library).

Creative Commons licenses are somewhere in the middle but they're less popular.

People favour GPL licenses because they force things to stay open-source in the hope that if somebody else does improve it massively, everybody might one day see that benefit. It's a really difficult question to answer and it's really going to come down to what you want people to be able to use it in and if you need to be able to see their changes.

(By the way: it is possible to multi-license something. If people approach you and say they need to be able to use your GPL-licensed app in a closed source setting, as long as you have the permission from all the contributors, you could provide it under a more permissive license.)

Oli
A: 

Consider whether you want to allow commercial use of your project. If no, then go with GPL. If yes, then you should consider Apache. See this.

Will M
It's not a question of commercial use. GPL and LGPL code can be used commercially and sold commercially. It's *proprietary* use that GPL and LGPL prohibit.
Glomek
GPL has got nothing to do with being "commercial".
Milan Babuškov
Perhaps we're just differing on terminology. Yes, Google uses GPL code commercially. My point, as indicated by the link, is that GPL'ed code cannot be mixed with closed-source code.
Will M
+2  A: 

You have a good listing at Open Source Licenses by Category. The categories might help...

It depends on what you want people to do with your software and code, if you want it reused, if you want the code to remain always open, if you want it popular (GPL is often seen as repellent...), if you want to allow commercial use without restriction, etc.

Define your objectives, that might help us to help you to choose... :-)

Personally, I chose the zlib/libpng license, close of BSD one, because I want to give freedom, and I can't digest long, English lawyer speak I am not sure to fully understand... :-P

PhiLho
+22  A: 

It all depends on what kind of rights you wish to give to others. I layman's terms:

  • GPL: people can take your code, modify it and must make modifications available under GPL to whomever they give it (good for applications)
  • LGPL: same as GPL except they can dynamically link to your program and not give away sources of their program that does it (good for libraries)
  • Expat/MIT: called BSD my mistake! people can take your code, do whatever they want with it and only have to keep in the lines that say you wrote the original code
  • MPL: people can take your code, modify it, but if they distribute the modifications, they need to make sure modifications are publicly available for 3 years.
  • Apache: people can take your code, modify it, distribute under some other compatible license, but need to say in the program's documentation that your code has been used
codeguru
Excellent summary!
Gili
+1  A: 

Code plex has a lot of project under MS PL you might want to check it.

Mister Dev
+3  A: 

The Apache License, Version 2.0 allows anyone to use your code for any reason, and its patent termination and indemnification provisions give potential users greater safety from lawsuits compared to the MIT or new BSD licenses.

orip
+1  A: 

If you don't want others to make money from your code, then you probably don't want to use an open-source license, because non-commercial use conditions violate the Open Source Definition (specifically point 6, "No Discrimination Against Fields of Endeavor").

But, there's nothing preventing you from making money on your own code, even if you do choose to release the code under an open-source license.

eksortso
It is true that the GPL for instance does not prevent you from selling code or application under it. The FSF even specifically states that you can. For instance, you could sell gcc, ls, top, grep, cd, The GIMP, and a whole bunch of other stuff for thousands of dollars on eBay. But: You would have to make the sourcecode available, which would not give you a lot of sales.
Jonta