This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: News

SGI relicenses OpenGL: "A huge gift to the free software community"

By Bruce Byfield on September 19, 2008 (3:30:00 PM)

Share    Print    Comments   

After nine months, an open secret can finally be acknowledged: The OpenGL code that is responsible for 3-D acceleration on GNU/Linux, which was released by SGI in 1999, has been running on licenses that were accepted by neither the Free Software Foundation (FSF) nor the Open Source Initiative. Today, however, the FSF has announced that the licenses in question, the SGI Free License B and the GLX Public License, have been rewritten after months of negotiation between the FSF and SGI. The problem is now resolved, and the result is a code contribution that the FSF ranks as one of the greatest given to the community by a proprietary company.

OpenGL is the specification behind 3-D acceleration. Without an implementation of OpenGL such as the ones found in Mesa and X.org, free operating systems are restricted to 2-D graphics, which are suitable for email and office productivity, but nothing more. Compositing window managers, many games, animation, high-end graphics -- in short, many aspects of modern computing that users often take for granted -- all require implementations of OpenGL.

The licensing problem has been an open secret for some time. A Debian bug report reported part of the problem as early as 2003. However, little was done with the knowledge until January of this year, when an OpenBSD user reported the problem to the FSF, according to executive director Peter Brown. In response to the news, the GNewSense distribution, whose goal is to remove all non-free software, has been omitting OpenGL-related files from its distribution in the months since.

Steve Neuner, director for Linux engineering at SGI, says, "SGI became aware of this issue a while back, and has been talking to people in the community." However, no formal announcement was made about the problem. "We didn't want to draw attention to it," Brown says, "because we didn't want to pressurize SGI. We wanted to get their cooperation."

The alternative, he says, was not only "strains in community relations," but also "a huge amount of time and energy and resources that we would have to pump in to replace this code. We started figuring the funding needed to do it, and it was scary, frankly. That is why it was so worthwhile spending all this time speaking to SGI, because the alternative was really frightening."

As things were, keeping the problem from becoming public was difficult. FSF compliance engineer Brett Smith says, "Someone came to me on IRC and asked if people should start sending angry faxes to SGI, telling them to please clean up their licenses. And I was like, 'No, that's not the right message right now.' We were trying to avoid that kind of reaction, because among the people in the GNewSense community, there was a visceral reaction initially, and it took some time for people to realize that we needed to give them a chance. And it really paid off. SGI was very willing to work with us throughout the entire process."

Warned of the problem, the FSF contacted SGI. According to Brown, SGI was initially slow to respond, since neither its OpenGL code nor the licenses were a priority for the company. However, SGI listened sympathetically to the FSF's concerns, and was soon cooperating fully.

"It was friendly throughout the process," Brown stresses. "It was a case of education, then of working together to find an optimal solution."

The licensing problem

Smith says that the SGI Free License B and the GLX Public License, which are "pretty similar, although there are slight variations in the details," had three main problems for both free software and open source.

The first problem is that section 6 of the SGI Free License B and section 7 of the GLX Public License forbid the distribution of code that infringes on somebody else's intellectual property rights. "The problem here," Smith says, "is that, the patent system being what it is, especially in the United States, it's pretty difficult to distribute code that you know for sure doesn't violate someone's patents. Given that you are prohibited from distributing the software at all if this happens, the clause[s] are so broad and the prohibition so difficult that we felt it effectively curtailed users' rights to distribute the code at all."

The second problem also occurs in section 6 of the SGI license and section 7 of the GLX license. Under both licenses, distributors of the code are required to obey any export laws that might apply. Smith points out that, while no license can permit users to break the law, this language places users in double jeopardy: If they violate export laws, they also lose the right to distribute OpenGL-related software. "If a user does something to violate a law, that's the government issue, and it can prosecute accordingly," says Smith. "But the software license shouldn't have any say in the matter."

Thirdly, section 7 of the SGI license and section 8 of the GLX license require users to inform the distributor if they learn of any potential intellectual property infringement of code releases under the licenses. The problem here, according to Smith, is that the licenses could force users to reveal privileged information. For example, if you asked a lawyer to review a piece of software and were told that it might infringe a patent, you would be obliged to waive your legal rights to confidentiality.

Brown states that, in both cases, "It was clearly the intention to make a free software license. It just didn't turn out that way." So, in seeking a solution that would allow free software to use OpenGL-related software, the FSF was also helping SGI to achieve its original intentions.

The solution

The FSF suggested a number of potential solutions to SGI, including removing the problematic clauses from the licenses, rewriting the licenses entirely, dual-licensing with a free license as the second license for each piece of software involved, and assigning code to a third party that would assume the responsibility of possible patent infringement that seemed to concern SGI so much when it wrote the licenses.

From the first, the FSF wanted to find the simplest solution that would satisfy everyone. This was especially important because, given that much of the OpenGL code that SGI had released was written years ago, it was difficult to track what code was involved, what licenses it had used, and where it might need to be updated. In many cases, the code's relevance or licensing was unclear.

As a result, Smith says, "I was hunting down contractors who worked on SGI code years ago to ask them if they remembered anything about the license on particular files." However, "in the end, we came to the conclusion that everything affected was OpenGL-related" -- something that, while likely, could not be taken for granted without checking.

In the end, SGI chose to take advantage of the upgrade clauses in both licenses. These clauses are similar to the one in the GNU General Public License, but, unlike the GPL's update clause, theirs are automatic. In other words, users of the SGI Free License B or the GLX Public License have no choice when a revised license comes out; their terms of use are automatically switched to those of the new license version.

Armed with the update clauses, SGI decided that it would replace the existing text of the licenses with text based on the MIT or X11 License. By using this solution, SGI ensured both that the code on which it held copyright was released under a free license, and that, because of the update clauses, it would need neither to be tracked down nor edited to reflect the change. Instead, with the publication of the licenses with the new text, the licensing issue would be instantly and painlessly solved.

A gift to the community

Those outside the process might wonder why nine months were needed to reach such a straightforward solution. Brown explains the time involved by saying, "All avenues were looked at, and the SGI attorneys had to carefully look at the issues. So, when you add everything up, the nine months really seemed to by quickly. There wasn't any time that this felt like a dead conversation. It was simply a complexity that SGI usually doesn't have to deal with, and therefore it was unusual territory for them. They had to come to the realization of the importance of the issues, and they wanted to make sure that they were doing the right thing for their community of users."

In the end, Brown says, "We have a huge mountain of appreciation for SGI. It was really hard to explain the huge pain in the ass that this was going to cause the free software community. These licenses are vital to the code base of GNU/Linux, and I think that SGI has proven to be a fantastic community member. And, like Sun releasing Java as free software, this represents a huge gift to the free software community."

Bruce Byfield is a computer journalist who writes regularly for Linux.com.

Share    Print    Comments   

Comments

on SGI relicenses OpenGL: "A huge gift to the free software community"

Note: Comments are owned by the poster. We are not responsible for their content.

SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 10.30.43.49] on September 19, 2008 05:33 PM
Correction: Sun hasn't unhindered all the code yet.

#

Re: SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 190.79.40.125] on September 20, 2008 01:06 PM
I think 96%+ is pretty much all of the code... the remaining codebase have been replaced, so Java is already 100% free... What else do you want?

#

SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 213.47.44.9] on September 19, 2008 07:42 PM
There is a bit of inaccuracy in the second paragraph.
Neither window compositing nor animations require OpenGL, it is just one possible option of implementing them.

#

SGI relicenses OpenGL:

Posted by: Anonymous [ip: 24.248.89.66] on September 19, 2008 08:09 PM
Wow 9 years of development time lost. If SGI had decided to give back to the community way back then after decided to using Linux to save on OS costs, maybe the state of 3D on Linux would be much better and SGI could have a real market share. Better late than never I suppose.

#

Re: SGI relicenses OpenGL:

Posted by: Anonymous [ip: 76.191.129.156] on September 19, 2008 09:27 PM
@ 08:09 PM: No development time has been "lost". The original FreeB license was accepted by both XFree86 and Mesa, who were the people actually using the code, and X.org didn't have a problem with FreeB when they took over as the primary X developers, either. Nor did FreeB stop people from shipping SGI's GLX code, integrated with Mesa and X, in Linux distributions.

What happened here is simply that the cost of SGI satisfying Debian and FSF's ideological preferences was low, and they got a nice press release out of it. Net effect: some code will nove from Debian non-free to free, and people will stop hassling SGI.

#

It's not "huge"

Posted by: Anonymous [ip: 82.192.250.149] on September 19, 2008 08:29 PM
Games? Animation? I don't have time for that crap, I use my computer to get work done.

And we've had Mesa for a while. Long enough that people were coding to the "Mesa standard" (which was open), not the "OpenGL standard" (which was closed).

So, it's nice. Good of SGI. Thanks, SGI. But it's not "huge".

#

Re: It's not "huge"

Posted by: Anonymous [ip: 192.168.0.232] on September 20, 2008 10:36 AM
Some people do work with animation, game development and simulations. 3D could be used for many work related things in specific areas.

#

Re: It's not

Posted by: Anonymous [ip: 76.14.100.80] on October 05, 2008 08:21 AM
@anonymous

^ ? like animation isn't work.? I hope you don't watch movies, tv, or expect any engineering processes to be Drafted except for on paper. - or have product package design - or any chemical, biological, or physics models for scientific or medical applications...

you must be an accountant - i write programs that do that boring crap for me.

#

SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 72.237.174.94] on September 19, 2008 08:30 PM
"Those outside the process might wonder why nine months were needed to reach such a straightforward solution."
No, I don't think this is a mystery to anyone once they realize lawyers were involved... in fact I'm surprised it only took that long.

#

SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 61.173.80.181] on September 20, 2008 06:20 PM
"Games? Animation? I don't have time for that crap, I use my computer to get work done."

I guess mechanical design, analysis, molecular research, chemistry, geology, and hundreds of other fields are not work ...

#

Re: SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 82.192.250.149] on September 21, 2008 08:14 AM
"I guess mechanical design, analysis, molecular research, chemistry, geology, and hundreds of other fields are not work ..."

None of them really needs OpenGL.

#

Re(1): SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 83.55.191.5] on September 21, 2008 09:36 AM
I guess none of them 'really" needs computers. After all, you can do everything with pencil and paper ;)

#

Re: SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 189.79.93.190] on September 22, 2008 02:26 AM
And the LHC is just a giant playground.

#

SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 196.13.225.150] on September 22, 2008 09:22 AM
Pity there's no standard for *who* is allowed to post comments here. Some comments are really worthwhile, whilst others are simply infantile. They rhyme, but don't necessarily go together, hey? Yeah, I realise I would be the first one to be stopped from posting. Darn.

As an applications / systems programmer I don't have the time to worry about rendering stuff too much. I want (open source) libraries to do most of the work for me. OpenGL and such have defined a standard, and I only need to worry about getting to know the library API and my own business requirements. This is called progress.

And too many of the opinionated readers here probably don't respect SGI enough. We don't hear much about them anymore, don't see their bling in movies very often, but I'm sure they're still out there. Respect.

Donald


#

SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 146.23.68.42] on September 22, 2008 03:55 PM
Posted by: Anonymous [ip: 82.192.250.149] on September 21, 2008 08:14 AM
"I guess mechanical design, analysis, molecular research, chemistry, geology, and hundreds of other fields are not work ..."

I develop software for oil exploration where paper and pencil is not an option. 3d visualization swept through the field starting in 1997 and became mature in 2001-2003. Moving from 2d software to 3d not only sped up the work by 5-10x, it improved quality enormously. While the SGI relicensing is a welcome step, everyone in our field moved to linux (&OpenGL) years ago, the lure of $10k linux workstations vs $100k Octanes or $500k to $2m Onyxes was a no-brainer.

#

SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 76.175.245.123] on September 23, 2008 12:51 AM
It is significant, but I see it as only half the battle, because deployment requires open-source openGL compliant graphics cards.

One of the truly amazing things that Windows offered were openGL platformed games and screensavers which were both dazzling to the eyes and very crash free. I stumbled upon this page while trying to hunt down the long lost GioFX screensavers which have been mostly removed from the web. In learning, Microsoft's decision to use "Direct 3D" instead of openGL probably caused a rift with openGL developers. This gives them a new home.
To the folks who don't think this is enormously significant, all I can say is not to worry, it won't affect your COBOL compiler in any way. LOL:

#

SGI relicenses OpenGL: "A huge gift to the free software community"

Posted by: Anonymous [ip: 24.20.63.88] on September 23, 2008 08:10 PM
"In other words, users of the SGI Free License B or the GLX Public License have no choice when a revised license comes out; their terms of use are automatically switched to those of the new license version."

I'm surprised that was spun as a good thing. It's even worse than the 3 clauses mentioned as problematic. No software can be considered free if the original author can take away your rights to distribute at a whim.

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya