← Back to team overview

kicad-developers team mailing list archive

Re: file version compatibility (optional tokens in s-expression files)

 

On Thu, Jan 15, 2015 at 3:27 AM, Tomasz Wlostowski <
tomasz.wlostowski@xxxxxxx> wrote:

> On 13.01.2015 20:11, Wayne Stambaugh wrote:
> > This is a tricky issue that has been discussed before.  The general
> > consensus in the past has been not to support forward compatibility.  It
> > increases maintenance and complexity of the file parser for a minimal
> > net gain to the user.  My preference is to force users that want to
> > bleed on the edge to use nightly builds rather than try to maintain any
> > forward file compatibility.
>
[snip]

> OK, how about this:
> - No extra version tokens (fits point A)
> - Warning instead of error on unrecognized tokens (point C - no big
> changes needed in the parser)
> - If the opened file is produced by a newer version of Kicad, issue a
> big warning when the user attempts to save it, that certain features
> will be lost (points B and D - if somebody complains we can always tell
> him he was warned). AFAIK this is what most commercial software does.
>
> Cheers,
> Tom
>

Except for Acrobat Reader, all the other software I use simply tells me it
cannot load the new file. In a corporate environment and especially on
large projects no one wants to take the risk that someone obliterated some
data. Let's say Person A sends Person B a file with data missing - what
can Person B possibly do with that now? Person B was never aware of the
warning that Person A ignored and the software is not psychic so it cannot
say "hey, the last time you worked on this file it was Version X.Z, not
X.Y".
The problem gets worse and more difficult to detect as the project gets
more complex. People need to understand the limitations of their tools and
work with that.  As I said before people can negotiate what version they
need and if necessary build/install to support a specific project. Otherwise
why use file versions at all if we're essentially only using it to tell if
there
are newer features and essentially ignore it and write corrupted data
anyway?

- Cirilo

Follow ups

References