OpenGL Source Redux

January 28th, 2000 by Crusader

SGI’s Jon “Oddhack” Leech posted several clarifications on Slashdot regarding this week’s OpenGL Sample Implementation source release:

It’s not obvious that anybody will necessarily assimilate anybody. Let me be perfectly clear that we are not doing this to “kill Mesa” or anything idiotic like that. Mesa has a lot of good stuff in it and, unlike the Sample Implementation, there are some open source Mesa hardware drivers available today. On the other hand, the SI does some things that Mesa does not, and almost all closed source hardware drivers are based off the SI – so companies who choose to open source their own drivers in the future will be able to do so now.

There are a lot of ways we may be able to share code and work together, and we’ve been in touch with Brian Paul about this for quite a while. None of us know exactly how this is going to work out, but we are talking and we all realize it’s important to work this out.

I don’t know how you could consider it not open source; please read the license.

Being “GPL-compatible” is a red herring. Mesa is now under the X license, and the Sample Implementation we just released is under a license designed to be compatible with the X license, in both cases for the same reason: so that the code can be incorporated into XFree86. XFree86 is, if you will, “GPL-incompatible” and that is a conscious decision by the XFree86 project.

If you have questions about our licensing, please check the FAQ. It goes into a lot more detail.

Well, there are certainly a few warts on OpenGL that in retrospect would have been done differently. Without trying to be inclusive:

  • Texture borders are not supported on almost all hardware and in retrospect wouldn’t have been a great loss.
  • Texture objects were introduced in OpenGL 1.1 to replace the previous notion of putting textures in display lists. The idea was that display lists could be automatically optimized depending on their contents, but it was difficult for app writers to understand what they needed to put in the lists, and the optimizations weren’t done onmany systems.
  • Some additional flags/hints on vertex arrays could prove very useful for geometry acceleration.
I’m sure other people would have different lists. OpenGL is not a perfect API, of course – but we think it’s pretty darned good.

John Carmack also wrote in to the Utah-GLX mailing list with his impressions of the source release:

>I’m more interested in another question… Does this mean NVIDIA is free to
>release source for its upcoming much-hyped driver? As I recall the main
>obstacle was NVIDIA’s use of proprietary SGI code.

I think this would allow them to, but I don’t think they intend to. If anyvendor did decide to do that, I think it would be a very, very good thing.

I’m also not sure if the sample implementation that was released is thesame codebase that vendors used to build their ICD’s. That might stillhave a completely different license.

I really don’t know what is going to come of this… There are a handfullof things that mesa is known to not do exactly to spec, like antialiasingand trimemd nurbs, that might be able to be lifted from the sgi codebase,but mesa is likely drastically faster than the sample implementation.

In any case, more open source is a good thing…

Leave a Reply

You must be logged in to post a comment.