open-discussion > RE: Choosing a license
Jul 7, 2011  07:07 PM | Nicolas kassis
RE: Choosing a license
Originally posted by Christian Haselgrove:
Thanks to all for your replies -- this information is valuable and certainly a good start for me.

More practically, what do I have to do to establish a license for some software? Michael, if I'm not misrepresenting our private correspondence, you have recommended noting the license in each file I distribute, including the full text of the license in the distribution, and including a (dated) copyright notice in each file (or is this complimentary to the actual licensing?).  Is that it?

Also, do people ever change a license mid-project?  How is that done?

And what does it mean for licenses to be compatible?

If you want to relicense the code you have to figure out everyone who has copyrights on parts of the code to relicense and get their permission. For large project it's almost impossible (Linux is an example where Linus Torvalds explained why moving from GPLv2 to GPLv3 would require asking thousands of people for permission, including the dead developers). For small projects you might be the sole author and thus have the copyright on all the code and be able to do it. Some projects like MySQL and most of the GNU tools ask for copyright reasingment from developers. This is an option but many developers are against this completely. You could check the document then the FSF ask people to sign for submiting code to GNU projects and also speak to a lawyer if you want to go that route. 

The GPL has a nice little explanation on what to put where : http://www.gnu.org/licenses/gpl.html (look at the bottom of the page) it's a similar process for BSD code. You should put a copyright statment and license statment in all your files. Alternatively some project put it in a LICENSE file at the top of their source code tree. 

To be compatible means you can take code under two different licenses and use them together in a project. For example if you create a new project that under the GPL and want to use BSD code for some stuff that would be fine. The opposite won't work (BSD project using GPL code) since the GPL requires all derivative code to also be GPL. Librairies usually will use the LGPL to allow the projects using it to choose another license. The LGPL isn't as broad on what constitute derivative work.

Threaded View

TitleAuthorDate
Christian Haselgrove Jul 5, 2011
Christian Haselgrove Jul 14, 2011
Michael Hanke Jul 6, 2011
Ged Ridgway Jul 6, 2011
Michael Hanke Jul 6, 2011
Christian Haselgrove Jul 7, 2011
Michael Hanke Jul 7, 2011
RE: Choosing a license
Nicolas kassis Jul 7, 2011
Yaroslav Halchenko Jul 7, 2011
Michael Hanke Jul 6, 2011
Yaroslav Halchenko Jul 6, 2011
Satrajit Ghosh Jul 6, 2011
Matthew Brett Jul 6, 2011
Nicolas kassis Jul 5, 2011
Judd Storrs Jul 6, 2011
Nicolas kassis Jul 6, 2011