January 26, 2006

POV-Ray illustrates complexity of changing licenses

Author: Stephen Feller

The Persistence of Vision Raytracer (POV-Ray) graphics software has existed for 15 years under a license designed to keep it free and open. But with continued confusion as to what that license allows, the POV-Ray developers are looking for something new.

Although the license has remained virtually the same over the life span of POV-Ray, Chris Cason, team leader on the project, said the main developers of POV-Ray are in agreement that the software needs a new license. While he said they agree that a license recognized as an open source license would be ideal -- such as the GNU General Public License (GPL) -- that is not necessarily the direction they will go in.

POV-Ray is actually distributed under two licenses, one for personal use and the other for distribution.

Cason said the POV-Ray licenses are intended to protect the work of developers on the project. He said the developers want the software to be used freely by people who share freely, including developers who share or even sell Linux distributions -- the POV-Ray developers just want credit for having created the application, he said.

"We've had a lot of people in the past try to rip us off," Cason said. "We have a problem with people taking without giving back. There are organizations out there who would like to take something like a raytracer, or photo-quality graphics [application], and whack it into their application and just sell the entire application without any acknowledgment."

The licenses they wrote to protect themselves are now working against them, however. Other developers are leery of touching software that does not fall under a license approved by the Open Source Initiative (OSI).

POV-Ray developers want an OSI-approved license that covers all of their concerns, Cason said, most notably in relation to the concept of a shared library being considered a derivative work. Cason said the Mozilla Public License (MPL) and Sun's Common Distribution and Development License (CDDL) were lacking some of the protections the POV-Ray team desires.

Why not use the GPL?

Russell Nelson, a member of the OSI Board of Directors and licensing committee, said it took many years for people to get comfortable with the meaning of the GPL -- and that the GPL did not really become accepted until Linus Torvalds adopted it for the Linux kernel.

Nelson said that while different people have different expectations about the amount of sharing in the community, sharing is the primary focus and burden. He said, however, that this has nothing to do with the restrictions of use and protection of developers' work provided for in the GPL -- and called the license more of a rallying cry than the literal gospel many of its supporters see it as.

"I think that the actual terms of the license itself aren't so important," Nelson said. "It's more important that community values are reflected by the license."

POV-Ray, however, predates the widespread usage of the GPL, the open source community as it is now known, and the values the community has adopted over time. All this despite the fact that the POV-Ray licenses are relatively similar to the GPL, Cason said, adding that the only reason the rendering software is not licensed under the GPL in the first place was the original developers' lack of knowledge of its existence.

Although the POV-Ray project started in 1991, the software's roots are in DKBTrace, an application started in 1987 by developer David Buck, according to the code history on the POV-Ray Web site. Buck passed DKBTrace onto Aaron Collins in 1988, who used it as the basis for POV-Ray.

Buck licensed the software "to be used freely by end-users, and freely distributed, as long as it was not sold, included with a commercial program, or used in certain other ways that contravened the concept of the software being freely available," according to the history.

Development for POV-Ray continued with a group of developers over the CompuServe online service provider under the POV-Ray license. The POV-Ray developers were not aware the GPL existed, and so could not contemplate whether to use it. Cason said, however, that the POV-Ray licenses and GPL have similarities.

"We've always said, 'If you change it, and keep those things inside your business [that's fine],'" Cason said. "'But if you want to distribute it, you have to release the source.' You've probably heard that before -- because it's in the GPL."

For the most part, the latest licenses allowing use and distribution of POV-Ray follow the same lines as the original POV-Ray license. Cason said that sale of the software as part of a larger product is permitted, as long as licensing information is provided with the software and that customers are alerted to the fact that POV-Ray is available for free.

The developers clarified the POV-Ray distribution license for the 3.6 release in February 2005. Cason said that the project wanted to allow free and open use of POV-Ray, but prevent developers from using code from POV-Ray and calling it their own.

"We wanted to make sure, when we put out the version 3.6 license, that it was absolutely clear that we want open source-based distributions to include POV-Ray."

The license for version 3.6 includes a specific list of Linux distributions that may distribute POV-Ray, as well as a general clause that allows distribution by operating systems with a kernel licensed under an OSI-approved license or a license that fits the Free Software Foundation's free software definition. While allowing distribution, the license rules out changes to the software itself.

Debating the meaning of a license

Although the license allows distribution, some developers and project administrators are fearful to ship the application because they claim the license is confusing -- and that it's not the GPL.

"The controversy with the existing license -- I honestly don't know," Cason said. "There been a lot of people who've really been absolutely ... foaming at the mouth [with] hatred over our license, and I really can't understand it."

Knoppix, one of the distributions specifically permitted to redistribute POV-Ray, doesn't include the raytracer. Knoppix creator Klaus Knopper said he is concerned that either he, or someone who creates a Knoppix derivative, could run into trouble with the license.

"In my understanding, in its current form, the POV-Ray license is not even remotely compatible with the Open Source Definition [from OSI]," Knopper said. "The redistribution license that is required for distributors puts too many restrictions on commercial use and redistribution of the software. This makes it impossible, at least for me, to include POV-Ray on Knoppix, because I want to keep Knoppix freely redistributable for all purposes, commercial or noncommercial."

Knopper said that of the dozen or so derivatives of Knoppix available, most use the distribution as a base and don't check the licenses for each individual application included with it -- so developers may never know if another license or other permission is needed to continue using the things included with Knoppix.

In attempting to show the difference between the POV-Ray license and "any open source license" approved by OSI, Knopper used a fictional derivative to illustrate his point: If a developer creates a Knoppix-based distribution, advertises it as a rendering-improved platform for graphic designers and sells it, with commercial support, he would be violating the POV-Ray redistribution license because the software was sold and the form of distribution is not covered in the license.

According to Cason, the distribution license allows this scenario so long as the primary intent of the distribution is not the use of POV-Ray itself, or that the purported graphic design distribution could still function as such without POV-Ray.

He added, however, that Knopper's example is permitted by the license, as is charging a fee for the distribution -- though section 4.3 of the license restricts the fee to "reasonable costs incurred by the Distributor in making the reproduction, or in the provision, of that copy." Cason said the section would not apply to the fictional derivative because it falls under section two of the license, "Open Source Distributions," which allows for this sort of distribution.

"It appears to me that Klaus has not read the license in full," Cason said. "It's not reasonable to read bits of it and take them out of context -- the license must be taken as a whole."

Knopper, Cason, and members of the OSI license-discuss mailing list have carried on the debate for some time since mid-November, following Cason's post to the list seeking assistance in figuring out a new license for POV-Ray.

Knopper said that while a downstream developer working with Knoppix might be the one violating a license by not doing the things POV-Ray requires for use and distribution, it becomes his problem because he "wasn't able to properly indicate that there are additional conditions to obey because of [the potential for] tainting third-party software."

Other voices

"I think the POV-Ray users would be well-served by an OSD-compliant license," said Chuck Swiger, a member of the license-discuss mailing list who has participated in the POV-Ray discussion. "But it is at least conceivable that a license that contains some term which is not completely OSD-compliant might work better for the POV-Ray community."

Swiger said POV-Ray could use some sort of "source available" license, rather than an open source one, to prevent commercial use of the software if that is what it seeks to do. Regardless, he said the current license "is fairly complex and a simpler license would probably address the concerns that Knoppix and others seem to have."

POV-Ray entirely relicensing to something that is already approved and supported by OSI would be ideal because it would offer conditions that are already more clear and more clearly defined, Knopper said. And, OSI-approved licenses are more well-known and accepted almost universally in the open source community.

"Speaking for me, the GPL would be my favorite choice," Knopper said. "But any other [OSI]-compatible license that does not restrict commercial use, distribution, and modification, would also suffice. But it is, of course, the POV-Ray author's decision whether or not they can change their license to be open source."

Searching for the right license

The POV-Ray team is looking into changing the license entirely for version 4.0, and possibly putting parts of POV-Ray 3.7 under the new license when it is released in the first quarter of this year. However, Cason said changing the license isn't that easy.

"It's no different than something released under the GPL -- you can't un-GPL it," Cason said. "And we can't un-POV-Ray the POV-Ray code. Short of finding every single person who's ever touched it, we can't do that."

Cason said all of the primary developers who have worked on the software, which accounts for about 90% of the code, have been contacted by POV-Ray and agree that the license needs to be changed. All it would take to stop the change, he said, is one of the people who worked on the other 10%. And while it is debatable that somebody who contributed a few lines to the application's code could stop the license change, Cason does not want POV-Ray to be the project to find out in court.

According to Nelson, several theories exist on whether a license can be changed without permission from all contributors. He pointed to two theories in particular: one is that a project is a collective work, rather than a derived one, and anybody can license the entire work as they wish; the other is that each contributed piece of a project is in itself a work, and the license used for the entire work is a union of the licenses each of the pieces has been contributed under.

The only way to prove a theory, Nelson said, is through the evidence of either existing case law or new case law. And while plenty of theories exist, there isn't much case law in this area, he said.

"Nobody ever wants to set new case law," Nelson said. "[The POV-Ray developers] are pursuing a conservative path, which is reasonable."

Trying to work around this issue, Cason said he is hopeful that a new license can be found before version 3.7 is put out because it includes newly written code that can be put under the new license. And with some of the POV-Ray code coming up on 20 years old, he said the application needs to be cleaned up in parts and rewritten in others, which could later be put under the new license as well.

Cason said the "entire guts of the program, the way the code fits together," has had to be changed and rewritten to work with multiple processors. The infrastructure that these new "guts" will form is to be the core of version 4.0. With a new license in place for 3.7, 4.0 could be put under the same new license when it is released -- though he doesn't know if that will actually happen.

"I'm not optimistic that we will get one done in time [for the release of version 3.7]," Cason said. "It's possible. [But] I don't think we've found one that completely suits us at this stage."

In the end, Cason said he knows that it may not make a difference how open their license choice turns out, because for some the debate is about what it says at the top of the document, and not what that document actually means. And this is the reason that he and other POV-Ray developers are looking into an OSI-approved license, or combination of more than one, for the next versions of the software.

"It's clear that it doesn't matter what the license actually says," Cason said. "Because it's not the GPL, it's bad. [POV-Ray] is not an evil license, but we get these people saying it is."

Category:

  • Open Source
Click Here!