A prototype License Wizard up and running

Chuck Swiger chuck at codefab.com
Thu Apr 7 23:58:18 UTC 2005

On Apr 7, 2005, at 7:09 PM, Laura Majerus wrote:
> Which licenses are at the leaves of the decision tree and how did you 
> decide to include them instead of other OSI-approved licenses?  I have 
> some other questions, which I'll post in a minute.

A few minutes to walk the decision tree gives the following list:
GPL, BSD, Mozilla (MPL), OSL, CPL, CDDL, and LGPL.


[Q1] Is anyone allowed to reuse, give away, or sell your program?

No: Done.  (Not open source.)
Yes: goto Q2

[Q2] Do you want to ensure that your code is only used in GPLed 

No: goto Q3
Yes: Recommend GPL

[Q3] Do you want to make sure that all future versions of your code are 
Open Source?

No: Recommend BSD license
Yes: goto Q4

[Q4] Do you want to make sure your code can be used in programs 
licensed under the GPL?

No: 	Recomends: Mozilla Public License, Open Software License, Common 
Public License, the Common Development and Distribution License
Yes: Recommend the Lesser GPL.


Question 2 strikes me as somewhat bizare.  I don't think many people 
who are new to this issue are going to say to themselves "gee, I want 
to select a license for my software, and by golly, I need to ensure 
that my software is only used in GPLed programs!"

I know of people who want to release their software and ensure that 
other people who modify that source to make derivative works are 
required to also make their changes publicly available-- in which case, 
the GPL is a good choice.  I'd suggest rewording Q2 based on that.

Likewise, Q3 strikes me as somewhat strange, too.  If I release a 
program as open source, then that version of the software is always 
going to be available as open source, even if some people are free to 
create private modifications without publishing their changes.  For 
that matter, the original work would still be open source even if the 
license permitted people to create modifications, release them in 
binary form publicly, but not make the source available.

Being able to create private modifications of a program without 
releasing your changes strikes me as a privacy issue which can be 
important, but many licenses permit that, not just the BSD license.  
I'd mention the MIT/X11 license there, as well.

A grid of "is license X compatible with license Y" would be more useful 
and less obviously biased than asking people about the degree of GPL 
compatibility they need in every other question.

Also, something that's missing is a question about whether people are 
using specific languages: ie, if you are using Perl, recommending that 
people use the same license that Perl is under (ie, Artistic or GPL, 
user's choice) makes it easier to integrate their changes with CPAN and 
roll them into Perl itself if so desired.  One ought to recommend the 
Python license for people writing code in that language, too, for the 
same reasons.


More information about the License-discuss mailing list