You'd think that somewhere, there would be a table: a grid of checkmarks, where one axis is "versions of the OpenGL spec", and the other axis is "features that are supported in that version". If this exists, I haven't found it. Have you?
The problem I am hoping to solve is this: I want to write an OpenGL program, and have it able to compile run on both a 5- or 10-year-old Linux system, as well as on an iPhone. I need to know what APIs are available to me. It's possible that the intersection of the sets of APIs that run on each of those platforms is in fact the empty set, but I can't even tell.
I'd like to modernize the code in xscreensaver to make it easier to port to newer systems, but not if it means each file has to have 3 ifdefs with 3 completely disjoint implementations (meaning all bugs have to be fixed in 3 different places).
Converting all the glBegin and glNewList stuff to glVertexPointer wouild be a pain in the ass, but it might be possible to do that with preprocessor macros, or otherwise mechanically. But then I click around and find out that random shit like glInterleavedArrays doesn't exist in OpenGLES. Or does it? The fact that I am finding it nontrivial to answer this question is crazy.
And that's even before dealing with the flying circus they've transformed the lighting model into. "Oh, you just wanted to place a light in the scene, and specify your object's color and specular properties? Well instead of that, wouldn't it be easier to learn a new language in which you can write hundreds of lines of code for a SIMD vector supercomputer? ...No?"
Given the proliferation of incompatible specifications, you'd think that the man pages for these functions would indicate which versions of the spec they conform to, like all the POSIX man pages do, but no, because the OpenGL specifications -- and especially opengl.org -- appear to be curated by drooling pinheads. A wiki? Seriously?