[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Soft and Hard symbols

> On Jan 14, 2011, at 6:32 AM, Peter Clifton wrote:
> > Ideally (to be forward compatible with format changes),
> > that plugin would use libgeda. If someone starts on this,
> > please let us know via the lists + bug tracker (
> > https://launchpad.net/geda/+bugs ) if you find any API
> > which is lacking.
On Friday 14 January 2011, John Doty wrote:
> The trouble with this reasoning is that the .sch file format
> is reasonably simple, well documented, expressive,
> extensible, and stable. The libgeda API is complex, poorly
> documented, and badly in need of revision. Only a few tools
> use the libgeda API, but there are many useful scripts out
> in the gEDA universe that deal with .sch and .sym files
> directly, so file format changes would be big trouble in any
> case.

You have a point ...

Without getting into the quality of the format or libgeda, lets 
assume that both are likely to change in the future in some way.

The Gnucap plugin system allows many plugins for many different 
formats.  It is reasonable to expect that when the format 
changes there could be plugins for both the new and old 
versions, providing a migration path between them.

If libgeda changes, which it will need to if it will support the 
new format or new features that may be needed, any code using it 
also needs to change, causing maintenance issues.  If something 
is written, it is not known whether whoever writes it will want 
to make the changes as libgeda changes.  Besides, it may be 
necessary to keep the old one around for backward compatibility.  
It is better to eliminate such a burden.

Reading a file is easy.  The hard part about the geda format, 
where use of libgeda may be advantageous, is establishing 
connectivity.  I don't know where that is done, or if it is done 
in a form that would be useful here, or whether there exists the 
code to go the other way (generate a schematic given a netlist 
and rendering info) which is equally needed.

geda-user mailing list