To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 8470
8469  |  8471
Subject: 
LDraw Versioning (Was Re: Backwards Compatibility)
Newsgroups: 
lugnet.cad.dev
Date: 
Sun, 16 Mar 2003 21:15:02 GMT
Highlighted: 
(details)
Viewed: 
1999 times
  
In lugnet.cad.dev, Orion Pobursky writes:
In lugnet.cad.dev, Tim Courtney writes:
<snip>
If we want to encourage other programmers to volunteer and write programs
for the LDraw system, what exists now needs to be clearly documented.

I think we need to put a lock on the creation of any new commands until we
can properly document the existing commands.  This will prevent the overlap
of functionality.

All:

There are gazillions of file formats out there and most of them
have had to undergo some amount format evolution.  Format evolution
is a healthy and common situation.

A common first step towards evolving a file format is to introduce
a version number into the specification.  While the introduction
of a version number is by no means universal, it is an extremely
common strategy and would be rather easy to do for the LDraw
specification.  That way programs can read the version number
and adapt to any changes that have occured to the file format.

For LDraw, I would recommend something like:

    0 LDRAWVERSION major minor clarification

I recommend a long name to reduce the chances that anybody has
accidentally used the "word" before.  "major" would be the
first major version number for the protocol.  It would only
be changed when incompatible versions of the file format
are released.  "minor" is incremented each time upward
compatible changes are added.  "clarification" is incremented
whenever there was some clarification to the specification
that needs to be accounted for (this is rare.)

All files without the LDRAWVERSION meta command as the first
would be defaulted to version 1.0.0 of the LDraw specification.
It must be the case that any current .LDR file can have the
"0 LDRAWVERSION 1 0 0" added to it without breaking it.

Some of the proposals being discussed in this thread would
go into the 1.1.0 version of the LDraw specification.  I
would recommend using 1.1.0 for additions that everybody
can quickly agree to.  Version 1.2.0 could be reserved for
the LDraw standards body that Tim would like to convene.
Discussions about 1.1.0 and 1.2.0 can proceed in parallel
with the effort to document the 1.0.0 version completely.

My $.02,

-Wayne



Message has 2 Replies:
  Re: LDraw Versioning (Was Re: Backwards Compatibility)
 
(...) Excellent suggestion, Wayne. (...) I like this - with one reservation. We should only focus on documenting 1.0.0 right now. Additions, which would go in a future version (1.1.0) are being openly discussed. Actual decisions on that version (...) (22 years ago, 17-Mar-03, to lugnet.cad.dev)
  Re: LDraw Versioning (Was Re: Backwards Compatibility)
 
This thread has grown so much since Friday it's hard to know exactly where to interject.... so I just picked a spot. I'll have more to say later after reading the thread again but wanted to throw a few comments out. (...) YES! Exactly. And one could (...) (22 years ago, 17-Mar-03, to lugnet.cad.dev)

Message is in Reply To:
  Re: Backwards Compatibility (Was Calling all Meta-commands)
 
In lugnet.cad.dev, Tim Courtney writes: <snip> (...) I think we need to put a lock on the creation of any new commands until we can properly document the existing commands. This will prevent the overlap of functionality. -Orion (22 years ago, 15-Mar-03, to lugnet.cad.dev)

154 Messages in This Thread:
(Inline display suppressed due to large size. Click Dots below to view.)
Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR