h5md-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [h5md-user] File format versioning


From: Felix Höfling
Subject: Re: [h5md-user] File format versioning
Date: Tue, 02 Sep 2014 22:59:48 +0200
User-agent: Opera Mail/12.16 (Linux)

Am 02.09.2014, 15:15 Uhr, schrieb Konrad Hinsen <address@hidden>:

address@hidden writes:

> The question is: do the following changes require a major version number change?

I'd say yes.

> But semantic versioning is not clear on file formats (to me at least). If the > changes above alow H5MD software written recently to handle 1.0 and 1.1 (for
 > instance), does it qualify as "backwards-compatible"?

My interpretation is that any software relying in any way on guarantees made in specification 1.0 can fail on a file that is valid under a new specification,
then that new specification is not backwards-compatible.

The current specification says that there must be a "time" dataset and
it must be real-valued. A trajectory reader may therefore access
"time" without checking for its existence, and assume that a read
operation will return a real-type array. Any of your proposals 1-3
breaks such a reader.


One may also take a different point of view and come to another conclusion about what backwards-compatibility in the context of a file format means. I have detailed this earlier, but the discussion was only between Pierre and me, see eg:
http://article.gmane.org/gmane.science.simulation.h5md.user/657

 > Personally, I don't care for the result. What is important is that
 > we may find a suitable solution. Also, given H5MD's recent
 > character, I consider it possible to make such changes. The number
 > of software using H5MD is still small and the improvements
 > discussed recently might prove important to get a wider use.

Exactly my view. It is well possible that the first widely used H5MD
version will be 3.0, but that's fine with me. Everyone writing H5MD
software now should be aware of the risk of change.


In my opinion, if every little change increases the major file format version we quickly end up with a new H5MD version every year (and can choose the year for the numbering). It seems very unlikely that somebody writes readers/analysis tools that handle all the different versions and H5MD will become a real mess. I really want to avoid such a situation.

Let me repeat my suggestion from July: A reader specifies what is the latest version it can process (say 1.2), then it can process 1.0 and 1.1 equally well, but will have issues with 1.3 or 2.0. A reader that is specified for 2.0 doesn't want to see 1.x at all (and 1.x quickly becomes obsolete).

In this sense, making a mandatory field optional remains a minor change. Renaming such a field is a major change.

Best regards,

Felix



reply via email to

[Prev in Thread] Current Thread [Next in Thread]