← Back to team overview

kicad-developers team mailing list archive

Re: About the UNIX way (was "Re: Caching/storimg datasheets in KiCad for offline use?")

 

On Tue, Sep 22, 2015 at 11:10:38PM +0200, timofonic timofonic wrote:
> Sorry, but this project is multiplatform. One of the goals is to modularize
> and integrate KiCad, instead needing to use TCP just to make Eeschema and
> PCBnew communicate.

There are multiplatform middleware tools for crossprocess communication;
some use *also* tcp, with shared memory and pipes and whatever else it's
needed.

> - Xorg used some kind of networking too and is getting progressively
> deprecated to Wayland with a different approach.

Fact: Xorg works fine even in remote, wayland is more or less working in
local; when wayland works, of course (especially on non-HD intel GPUs).

> - Traditional hackish init system is replaced to SystemD by merging,
> standardizing and integrating lots of services. This is something "True
> UNIX People" hate, so they forked udev and use OpenRC or switch to BSD, but
> there's tendencies that BSDs might switch to the SystemD model too.

I don't remember *anyone* on the freebsd list suggesting something like
that... in fact for complex setups the initrc (or better yet something
like runit) is way more flexible than systemd. Tell systemd how to do on
the fly network interface redirection for backup without user
intervention... or simply try catting the systemd logs. Of course I'm
*not* talking about the common install-and-forget user desktop.

> - Desktop Environments don't follow the " UNIX way " too. They use lots of
> libraries and frameworks, provide configuration and even provide
> applications in default metapackages too.

Never said the DE are the unix way... that would be shells in xterms :D
I currently run urxvtd under fluxbox and no DE, it's fast as you could
imagine and I don't miss a thing:D

> I think there are other FOSS EDA projects that follow the UNIX way, you
> might be more interested in them ;)

The unix modular concept is proved for about, well, 50 years and
counting. The IBM way is running for even more; guess what? they do IPC
using files on disk (or DASD as they call them). 'Modern' operating
systems that do everything in core (with a bazilion libs) for some
reason crash continuosly. I see a pattern here :D:D

gimp is multiplatform tool yet it has a whole separate process for each
plugin you choose. openoffice uses the uno component model but just
don't try to open too many windows :P

Also, I need an EDA package for work :P

*IF* all of kicad could be linked as a single exe (not possible due to
 some crazy conditional compilation of the common libs) we wouldn't have
 to suffer the kiway hack. Doing proper IPC would remove the kiway hack,
 but I agree that would be a non-trivial amount of work.

HOWEVER there are some thing that actually impede a 'correct' separate
process model under windows (btw, ever wondered why they put the 'use a
separate process for open the folder' option?); under unix (and by
extension OS X) forks are free, in Windows a process creation is a quite
heavy operation (due to its VMS legacy...). This may-or-not be relevant
for kicad, of course.

The other thing is that being hosted on wxwidgets it's somewhat biased
on monolithic applications...

-- 
Lorenzo Marcantonio
Logos Srl


References