I know you hardware guys have a fairly low tech approach to versioning, and there are reasons for that, which need to be observed and respected. However I think we can do better than common practice.
I'd like to come up with a standard to be applied to projects wishing to be endorsed by me.
I don't have a solid idea of what it will be, yet, and perhaps standard software versioning is acceptable?
This is a fairly good guide (2.0.0-rc1 variant, ONLY) : http://semver.org
So is this: http://docs.codehaus.org/display/MAVEN/ ... sionRanges
Normal hardware designers like to do this:
Marcos did "spin 1", "spin 2" etc. No, wait, he only ever did spin 1.
Andy is using implicit Revision AX for current Jags, A1, A2, A3, and soon to be A4, perhaps.
Another REALLY good thing that Andy is doing is putting a piece of git hash from the previous revision on the PCB at all times. This is AWESOME and really helpful when combined with git commit message history.
My concern about the A3 etc or spin X etc thing is that "revision" is implicit, and easily misunderstood for "version". Which it is not.
The thing with hardware iterations is that they're slower and more deliberate than software. I mean, it's normal to have 87485 versions of lib X, but it's certainly not normal to have 3989 versions of board Y.
So perhaps, to keep me happy, and not be ridiculous, a two point version is required?
0.X up until considered stable/released, then 1.0, then 1.X with minor tweaks/fixes to the 1.0 design.
Major redesign could use later 1.X numbers up until it went stable, and then jump to 2.0 and 2.X for tweaks.
Major change in core values, principals and goals (TH -> SMD, etc) should be matched with a new name, not the old name with no common functionality/style/form.
X doesn't have to denote a number, and to keep confusion to a minimum, perhaps Jag could move to 0.A4 for the next revision, to keep the A labeling?
Thoughts?
All I know is that current "spin X" and "AX" is not really good enough and misleading/confusing to "consumers" (users). Eg:
Today I received my copy of Jaguar A3, which is version 3 (still alpha) of a FreeEMS compatible ECU.
Initial version is how it did read. I asked for the change. Note "still alpha" in brackets in a valiant attempt to make it clear. Additional clarification shouldn't be needed.Today I received my copy of Jaguar A3, which is revision 3 (still alpha) of a FreeEMS compatible ECU.
Fred.