OpenGLEAN
OpenGLEAN User Support
Home page | Introduction | Documentation | Files | Examples | Proposals | Authors | Links


OpenGLEAN Development
Summary | CVS | (discussion via home page) | (contact via home page) | (suggestion box) | License | Todo | Bugs

Purge Obsolete Features

This proposal was originally authored for OpenGLUT.

See also: Deprecated API Features, Deleted API Features.

Introduction.

OpenGLEAN has inherited numerous elements of dubious merit. Some may not have been well designed in the first place. Some may have been as well designed as was plausible, but their context has changed. Some have been rendered obsolete or redundant. At least one or two were officially deprecated by Mark Kilgard in the old GLUT 3.6 documentation.

freeglut retained these for compatibility reasons, since freeglut was intended to be used as a drop-in replacement for old GLUT.

For OpenGLUT we hoped to clean out this cruft, but that seems unlikely now.

For OpenGLEAN this is a major goal. These removals will happen sometime after OpenGLEAN's first landmark stable release---tentatively after cutting and releasing "1.0".

This proposal will provide a rough list, to be refined by discussion and reflection. Features may be added or removed from the list in this proposal. Features deleted from the API will also be listed for reference, until such time as some better repository for historic issues is provided.

What It Means.

Normally things are not deprecated until a replacement in functionality is available. However, in order to minimize the number of times that the API changes, I want to chop out deadwood soon. Some of these things have been on their deathbed for a very long time (numerous years), and others are so horribly conceived (glutMouseWheelFunc(), for example, has an unbelievably myopic design for actual implementation) that they are just wastes of bits.

One goal is to produce an OpenGLEAN release with which future releases will be backwards compatible. This means having a kind of sunset on removing features. Another goal is to remove things that in the long run do not belong in a modern GLUT like library.

The list will describe the features that should be deprecated, and explain why they should be deprecated. Deprecation does not necessarily constitute loss of functionality. The deprecated feature might be redundant of something already in-hand. Or a replacement feature might be crafted before or after. In any case, being listed here is merely a step in removal.

The goal is to go through the fire of an incompatible version early and quick, then settle onto a solid API that will remain backwards compatible for a long time. It is felt to be better even to remove a feature now and add it back verbatim (though this is not expected to ever happen) than to hem and haw about the feature for a long time, and possibly remove it anyway---leaving users in doubt of whether to use it and developers in doubt of whether to maintain it.

The List.

Follows is a proposed list of features to be deprecated.





SourceForge.net Logo Supported in part by SourceForge.net.

Generated on Fri Sep 16 20:15:32 2005 for OpenGLEAN by doxygen 1.4.3
The OpenGLEAN project is hosted by olib.org and SourceForge.