A prototype License Wizard up and running
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
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
More information about the License-discuss