Hi guys --

Peter C. and I are working hard to give PCB an interface that can be used to
talk to it quickly and easily.  We don't want to have to maintain a huge
chunk of code to do so -- a chunk of code which would almost certainly suffer
heavy feature creep and need quite active maintenance.

Thanks for your efforts!  I encourage you to keep doing what you are
doing since it's really going to push the development of gEDA along,
and will help get gEDA into one of the places where it really belongs:
the university.

One thought about the DBUS thing:  How large is the DBUS code base
itself (i.e. the code making up the library)?  If it is reasonably
small, please consider simply grabbing the DBUS source, strip out the
stuff you don't need, and incorporate the rest into libgeda (or into a
different lib distributed alongside libgeda).  Here's why:

*  I agree that you don't want to create code requiring ongoing
maintainence.  However, my experience is that if you link into anybody
else's whizzy new library -- particularly in the open-source world --
that new library will morph and change over time.  The API will shift,
all the new functions you use will eventually be declared
"deprecated", and your code will eventually not run any more.  If you
don't believe me, think of the problems caused by the change from
GTK-1.X to GTK-2.X, all the API creep in GTK since then, and think of
the sudden way in which gcc started to enforce strict code rules
starting with the 4.0 revisions.

On the other hand, if you create a stripped-down version of DBUS, you
(we) control it, and it won't change and become obsolete as future
generations of hackers work on the stock distribution of DBUS.

*  The dependency thing:  Requiring another dependency for gEDA is a
headache for package maintainers and folks (like me) who produce
install media.  'Nuff said.

FWIW, I use a stripped-down version of gtksheet in gattrib.  The
original gtksheet was part of GTKextras, a widget library for GTK.
Rather than making GTKExtras a dependency for gattrib, and linking to
it at link time, I just stole the two or three files required to
implement the spreadsheet widget and made them part of my
code. Reusable code is the wonder of the GPL!  I am very glad I did it
this way since I have not had to deal with API creep, and I haven't
had to deal with the dependacy issue with gattrib!

*  If a stripped-down DBUS is distributed with gEDA, then all the
problems associated with using gEDA on non-Linux systems will
automatically go away.  I suspect this will make some of our more
active contributors happier -- i.e. those who work on BSD.  ;-)

*  Finally, a stripped-down version of DBUS might be modified so that
it is libgeda aware, just as you mention you are interested in.
Generalizing this point, a stripped-down version of DBUS could be
customized to fit the specific needs of incorporating other gEDA
programs more tightly together, such as spice-sdb & ngspice/gnucap, or
pcb/gerbv, or Icarus Verilog/GTKWave.

Just a thought, and maybe a non-useful one at that, but maybe not?!?......

Stuart




_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to