[AD] to prefix or not to prefix (sigh)

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Ok, I had a go at Bertrand today in #allegro, and here's what
resulted: a compromise.

[begin rationale; skip this if you want]

Firstly, here is why I think 4.0 should be unprefixed: As we all know,
the last stable release was 3.x, and limited to DOS.  For people such
as myself, we want our old code continue to work without any changes,
even semi-automated changes.  Not only that, we want our old code to
live forever, i.e. migrate to new platforms effortlessly.

I'm sick of old code rotting.  If 4.0 is released with prefixes,
either I need to update my old code, or use an old WIP. Unless the
automatic updating tool is extremely clever, I'd probably just use the
old WIP.  But the WIP won't be maintained.  One day it will break, and
my old code will have rotted again.

Secondly, I understand the need for a prefixed API.  It's clean.  It's
trendy.  It doesn't conflict.  So don't get me wrong, I'm all for it.

[end rationale]


Finally, here's the compromise we came up with.  I just noticed it's
basically what Michael wrote, but more explicitly.  Stuff that we
didn't talk about, that I just made up now, go in { } brackets.

------------------------------------------------------------

* 4.0: The old, non-prefixed API.  Nicknamed the "old fart" branch.
	It will be maintained forever, i.e. it will _only_ receive bug
	fixes, so long as the fix itself doesn't break API/ABI
	compatibility.  {New ports might also come in here, as long as
	they don't break _anything_ in the existing ports}

* 5.0: The API will be the same as 4.0, but with prefixes.  It would
	be released "not long" after 4.0.  Consider this a stepping
	stone.  The schedule for this is to be decided, but I
	suggested about one month.  The CVS branch for this would be
	opened very soon after 4.0 (a week or so).

* 5.2: The prefixed API, with new features.  Once people are used to
	the new API, we would release this.  {Once this is out, 5.0
	will be in the same state as 4.0 (i.e. maintained but not
	developed), unless 5.2 provides some sort of 5.0 compatibility
	mode (then it would kill off 5.0).  Stuff like the 8-bit
	palette would go in here, rather than 5.0.  This may or may
	not become 'Grozilla.}

------------------------------------------------------------

Don't worry too much about the version numbers.  For example, "5.0"
might become "4.2", and "5.2" would be "5.0".

Some people have said they don't think the prefixing would ever happen
if 4.0 got released without prefixes, because people would scream
about backward compatibility anytime somebody tried to introduce the
prefixes.  That's why 4.0 will be "maintained forever".


So, what do you think?  Please voice your opinions before it's too
late.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/