As we all know, what keeps Free Software alive is respecting the licenses: if people didn’t respect the GPL, Free Software wouldn’t have any appeal for most amateurs who wouldn’t want their code stolen.
This also means that Free Software needs to respect licenses, even when the user can’t make use of features he’d very much like.
Now, let’s make an hypothesis that GPL software can’t make use of OpenGL, that’s a very bad view you’ll have: no more games, no more accelerated Xorg, no more compiz or things like those. At least they wouldn’t be redistributable in binary form, and the legality of the code would be probably put in doubt by many.
But is it just an hypothesis? I’m afraid it might not be that unlikely now.
Most of the code using OpenGL requires headers, usually shipped with mesa (previously with XFree itself), like glext.h, which are distributed under SGI Free Software License B (see the text), which for FSF is not a Free Software license at all. The same view is shared by Debian, as you can see on their bug #211765.
While Debian is mostly ignoring the issue for now, the problem is there, and the new Xorg setup, with the packages split, didn’t fix the problem. It’s probably a big issue, it’s strange that it’s not so well known.
Of course, if I recall correctly, even nVidia and ATi/AMD drivers install some OpenGL headers, so the problem is even more complex than that. I wonder why there isn’t a fully free set of headers available for use yet.
Unfortunately, I found this out while reviewing xine-lib’s licenses, as there is a copy of glext.h that is shipped for the OpenGL output plugin to build correctly; this will soon be removed from both 1.1 and 1.2 series, probably, so that at least the sources in the repository are a bit cleaner. But the problem here is that I need to follow this issue deeply, as xine-lib is vulnerable to this possible license violation, and it’s not a good thing.
And for who’s wondering about the status of the rest of xine-lib code, well, we have some problems we need to fix, thankfully the only thing that seems difficult to fix is nosefart code, but that I’ll write more about tomorrow, the rest will probably be cleaned up in the next weeks after all the original authors are contacted, and some code is synced from MPlayer.
Thanks a lot to Vir who gave me the sparkle to check the licensing of xine-lib to make sure we are compatible with GPL-3 (that might going to be used for libcdio/libvcd, and is used now by Samba). I wouldn’t have looked so deeply if he didn’t.