Assistance/advice in choosing a license for POV-Ray 4.0
Chris Cason
ccosilist at povray.org
Sat Nov 12 21:33:24 UTC 2005
Greetings all,
I am hoping that some of you can offer me some assistance/advice in
choosing a license for future use by POV-Ray. I am the current team
leader and have been involved in development of POV since 1993. Our
home on the WWW is at http://www.povray.org/; you can see some recent
examples of work done with our software at http://www.povcomp.com/hof/
This email is quite long, and I do apologize for that, but I've got a
fair bit of ground to cover.
As a bit of background, I'll mention that our project has been in
existence for roughly 14 years and has a codebase with its roots in a
program that was first released in 1987. Our current license reflects the
attitudes and opinions of both the original author and the developers who
have worked on it subsequently, with some wrinkles added due to specific
incidents of misuse.
As the majority of the early developers did not have internet access, the
GPL was not known within the group and a custom license was developed
that was intended to permit both personal and commercial use of the
executable program, but to prohibit it being hijacked by someone who
wasn't willing to return some benefit to the community. (We have
discovered over the years that it's fairly difficult to do this in a
license in a clean fashion, which led to the license getting more and
more complicated. It was completely re-written for version 3.6.)
The current license attempts to be OSS-friendly (e.g. it specifically
permits distribution of POV-Ray with any OS whose kernel is FSF or
OSI-approved; see http://www.povray.org/distribution-license.html section
2.1). However what we can do with the current project codebase is limited
by the requirement to maintain compatibility with prior versions of the
license. (Our understanding is that we cannot change the core values of
the license without the approval of everyone who has ever contributed to
the code, and obtaining such approval on a codebase whose roots are
almost 20 years old is not practical).
Accordingly we have made the decision to re-write those parts of the
program that we don't have clear title to, so as to enable us to place it
under a more modern license. All current developers are in agreement that
we would like to have the 'new' POV-Ray (which we are internally calling
4.0) under an OSI-approved license, and we have already had a fair bit of
internal discussion to clarify just what our aims are and how we could
satisfy them.
To date we have not found any OSI-approved license that does what we want
(the CDDL gets close). I've joined this list to act as a representative
of the team in the hope that those with more background in this field
than us can assist us in finding (or creating) what we need.
While POV 4.0 won't be out for quite some time (it's a huge job), we need
to settle on a license sooner rather than later since due to some very
substantial changes made in the currently-in-development v3.7 (which
adds SMP support and required a full rip-apart-and-reassemble), we now
have a fair bit of brand new source code - mostly infrastructure - that
has not been released to the public*. We see that we have the opportunity
to dual-license that code under both the POV license and whatever new
license we choose, provided we can sort one out before the official
release of 3.7 (which we expect to be in Q1 2006).
I understand that the OSI prefers to avoid license proliferation and if
we can find an existing license that does what we need we'd be happy to
use it. We really would prefer to avoid writing a new license. However if
this is necessary to achieve our goal then we will do so and submit it to
the OSI for approval.
As mentioned, the CDDL gets close to what we want. However one issue we
have is that we want commercial re-users of the source code (or those who
bundle the binary with a commercial app) to have to unequivocally make
users aware of the fact that a portion of the app they have just paid for
was based at least in part on something the vendor obtained for free.
While we understand the CDDL has requirements regarding advising the
end-user, I guess if I could put it in a nutshell we want to make them be
more 'in your face' about it, so vendors who want to avoid mentioning
this can't just hide it away somewhere they know many users will never
look (e.g. the documentation).
We feel that if someone is going to take our work for free and sell it,
we want to make sure that the purchaser of that end product can't end up
with the belief that they have paid for those components that came from
our project. We want them to know that they can get the POV-Ray program
for free. We want them to know how and where to do so. Hiding this in the
back of the documentation somewhere is in our opinion not sufficient.
A few points about the above: firstly, while it's hard to put in words
(and I am sure even harder to put in a license), the level of concern we
would have about this sort of re-use is more or less related to the level
of leverage the vendor gets from our project; if they have a 120,000 line
product that uses 100 lines from POV-Ray 4.0 we probably wouldn't mind if
the attribution is stuck in the back of the docs somewhere. If however
they have a 120,000 line product that uses 100,000 lines from POV-Ray
then we definitely *would* mind.
Secondly, we do understand that we can't specifically limit the above
requirement to commercial use per se, since that would conflict with OSI
rules. As such I expect that any license terms that would solve our reuse
issue would have to include all types of distribution, commercial or not,
unless someone can advise a way to do this otherwise.
I'd like to comment that our feelings on commercial re-use are there for
a good reason: over the years we have regularly received requests from
commercial software vendors (particularly those of CAD apps) for
permission to re-use POV-Ray in their product. However today the power of
the average PC makes adding raytracing for final renders in CAD apps
quite attractive, particularly for those dealing in the area of home and
interior design, and accordingly I am receiving many more requests than
in the past from vendors in this category. (It's a significant market -
e.g. in the US alone, sub-$100 home design apps sell over 500,000 copies
per year, and competition between vendors is fairly fierce).
As a rule existing commercial photorealistic rendering libraries with
decent image quality are quite expensive (and charge royalties); this
generally precludes their use in low-priced software. Hence an OSS-
licensed version of POV-Ray will *without question* (unless we choose a
license that requires full source release, such as the GPL**) get quite
quickly incorporated into some of these apps. We know this and thus have
to be sure we get this aspect of the license right the first time.
I suppose if we could put our position into a single sentence, it's that
we lie somewhere in the middle between the MPL/CDDL etc at one end, and
the GPL at the other. We have a strong belief in requiring commercial
users of the code to somehow give some benefit back to the the community
that provided the source in the first place (e.g. by releasing the source
of their product), but are prepared to at least consider allowing re-use
of the source commercially without such a requirement, *provided* the
end-user knows.
I also have some personal comments that I'll post as a separate message
so as not to intersperse them with this message (which I post as the
representative of the team).
regards,
-- Chris Cason
* one of our little quirks is that we don't currently release source code
of beta versions. this is influenced by some bad experiences we had in
the early 90's. We will change this once we start on 4.0.
** We have discussed using the GPL. We are highly unlikely to do so.
More information about the License-discuss
mailing list