views:

652

answers:

2

Hello,

I have been reading through the CodePlex supported open source licenses, i couldn't quite understand everything, What i am looking for is a License that restrict the use of my source code commercialy.

is there one?

Thanks

+8  A: 

Why do you want to do that? It is not in the open-source spirit! Even the GPL allows and even encourages commercial vendors to distribute free (open-source) software for a fee. A large amount of open-source software is produced commercially (many contributions to Linux, GNOME, KDE...), which wouldn't have been possible with such a clause.

[CodePlex is Microsoft's open-source project hosting site: its equivalent of Sourceforge, Google Code, Savannah, Launchpad etc. The website says it supports the following licenses:

Apache License 2.0, Common Development and Distribution License (CDDL), Eclipse Public License (EPL), GNU General Public License (GPL) v2, GNU Library General Public License (LGPL), Microsoft Public License (Ms-PL), Microsoft Reciprocal License (Ms-RL), Mozilla Public License 1.1 (MPL), New BSD License, and The MIT License.
of which the ones starting with "Microsoft" may actually be more restrictive than "open-source".

Let me explain the "three levels" of open-source licenses using Dave Johnson's words:

  • Level 1: Gimme credit (Apache License, BSD, MIT) You can use, modify and redistribute my code in your product but give me credit.
  • Level 2: Gimme fixes (Mozilla Public License, CDDL, LGPL) You can use, modify and redistribute my code in your product but give me the source for any fixes you make to it.
  • Level 3: Gimme it ALL! (GPL) You can use, modify and redistribute my code in your product but give me your entire product's source code.

The first two levels allow companies to make proprietary (non open-source) derivatives from your code; I don't like them. The GPL ("copyleft") forces them to release their source code (only applies if they distribute their product; nothing prevents them from using the software internally for their own use — and that's a good thing). If you want to avoid feeling "ripped-off" by a commercial company "stealing" your code, the GPL is what you should use. They can make improvements to it, but the improvements will be available to everyone.

Note that none of this prevents a company from contacting you separately and getting your code under a non-GPL license — you can charge them a fee to allow them to make a proprietary derivative of your code, if you want. (As long as your code is entirely yours to give away, of course.)

ShreevatsaR
A: 

Thanks, if you restric commercial use of the code you will encourage free open source projects that was my initial thoughts but now i will consider going with the Mozilla Public License.

Adel
No. You will encourage free open source projects if you use the GPL. Using the Mozilla Public License means they can still make proprietary derivatives from your code. MPL is only "gimme fixes", not "make your code free".
ShreevatsaR