State of freeglut/glut by Steve Baker

When I discoverered that there was an alternative to GLUT, called freeglut, I emailed the maintainer letting him know there were lots of supporters in this forum. Here’s what he had to say. (formatting problems are from cut and pasting between email client and browser)

GLUT is stagnant. I very much doubt it’ll ever be touched again because it’s original author (Mark Kilgard - nVidia) has lost interest and the license arrangements for GLUT are vague about the rights of other people to take over maintenance, etc. Mark has been repeatedly requested to ‘pass the baton’ and allow someone else to maintain it.
He never replies to those posts. We’ve also asked him to change the license to something like LGPL, Xfree or BSD - he refuses. When we asked him to clarify the existing license, he gave some offhand comment that confused the issue still more.

So, GLUT is never going to change.

Meanwhile, over December 1999, Pawel Olszta became equally frustrated with the GLUT licensing arrangement and wrote ‘freeglut’ (spelled like that - never capitalized). freeglut was first released just after midnight on Jan 1st 2000 - which probably makes it the the first ever program that couldn’t possibly have a Y2K bug!

Pawel intended freeglut to be a GLUT work-alike using none of the original GLUT code - and implementing all of the GLUT API except for the parts that only ever worked on SGI hardware (eg Video Resize and the Dials and Buttons box).

That work is pretty much done - almost all OpenGL and GLUT demo/example programs run essentially identically under GLUT and freeglut…although there are one or two area of subtle difference.

I worked with Pawel on the joystick code - and helped him out with a couple of problems. Andreas Umbach helped out with the Windoze
port. Pawel eventually moved on to other work - which being non-graphical in nature meant that he had no further desire or spare time to work on ‘freeglut’.

I didn’t want to see it disappear - although I didn’t have the time to actually work on it myself - but I accepted ‘ownership’ of the
freeglut copyright and I still run the ailing list and web site:

freeglut is licensed under the X-Consortium license because we believe that a GLUT work-alike should eventually be released with Mesa and Xfree - and in order to reach that goal, freeglut would have to be released under the Xfree license.

freeglut runs fine under Linux and Windoze - I believe that it also works on Mac OSX, BSD and most other UNIXen with OpenGL and a C compiler. I don’t think it works with MacOS (pre-OSX) or BeOS.

There have been periods of activity punctuated by long lulls in work on freeglut - but everything it implements works - and it replicates all the important functionality of GLUT.

Over the past few weeks, John Fay has put in some serious effort into freeglut to tidy up a few loose ends and solidify the Windoze
port. He’s also been considering some modest extensions to the original GLUT API. The most important of these is breaking up glutMainLoop so that you don’t have to hand over the CPU to freeglut right after initialisation if you don’t want to.

Whilst I agree that there are perhaps better API’s than GLUT for handling the basic windowing interface for OpenGL programs, there are a VAST number of programs that use the original GLUT and it (or a close clone like freeglut) most certainly needs to be continually maintained into the future.

I hope this helps everyone’s understanding - if you have any queries about freeglut, please direct them to the freeglut mailing
list because I am not subscribed here.

Steve Baker.