Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Nov 2015 14:54:01 +0200
From:      Dan Partelly <dan_partelly@rdsor.ro>
To:        freebsd-current@freebsd.org
Subject:   libXO-ification - Why - and is it a symptom of deeper issues?
Message-ID:  <0650CA79-5711-44BF-AC3F-0C5C5B6E5BD9@rdsor.ro>

next in thread | raw e-mail | index | archive | help

Hi all,

I was looking at the new facility of dumping JSON,XML from many utils in =
base and after some funny minutes, I couldn't stop ask myself =E2=80=9C =
Ok, this is funny , but why ? =E2=80=9C And I couldn't find a real =
answer. Ill outline what I think:


1. Undoubtedly, it makes base code slightly harder to understand and =
maintain.=20
2. I have seen the idea that this makes the information dumped by =
utilities in the base easily accessible programatically. OK, maybe it =
does , but
it doesn't fit with the current paradigm of "tool | filter | tool=E2=80=9D=
 at all. There are no tools able to accept JSON and filter it in any =
meaningful way, and I
dont see too many ppl changing their code to read JSON instead of text.  =
I don't even see the base tools changing. This output may be useful in =
corner cases only.
3. The integration of libxo IMO only points at a much deeper issue IMO. =
It is only an expression of the need of a mechanism aimed at binary code =
reuse. But it does not solve the problem, it only adds yet another =
possibility in a world where too much choices already result in too much =
splits and incompatible APIs.=20
4. This whole effort would have been IMO much better served  by porting =
the bulk of ifconfig(8) , route(8) and wpaclient(8) to a library API, =
much like the libs for geom, zfs , etc , ready for reuse of 3rd party =
code. Eventually writing network control daemons in time over it , much =
like solaris does.

5. A port of partial OS config data to UCL =E2=80=A6. would induce yet =
induce another orthogonality violation. What makes UCL better than the =
bestiary of ad hoc databases already existing in BSDs ? Programatic =
readability, yes. but it does not add any real much needed functionality =
such as *transactional databases* for system tools.   Why not research a =
proper solution - easily accessible by other programs ,orthogonal , =
transactional, and ACL protected   solution  which can be used all over =
the place , from OS boot, to ABI management, service management, network =
management, user management.  I hope this day will come, a day when I =
will not have to edit a single config file manually, yet I would have =
access to all the config and system state  easy with wrapper APIs. In =
the light of this point, why go with UCL ? It is not orthogonal, it is =
not transnational, and editing the config files directly would result in =
the same old human errors which bite as all from time to time.

5. It is my opinion that Solaris addressed some of those issue. Solaris =
FMRI and SMF are lightyears ahead of the very tired models we keep using =
on BSDs. Why not build on the insight offered by those (or even on the =
insight offered by Windows :P) , then inventing more adhoc solutions and =
ad-hoc databases, which do not address the real issues we have , like =
binary code reuse, service management issues,  lack of a system wide =
published -subscriber bus ( not kdbus :P ) fault detection and reaction, =
fault reporting, all much needed parts of a modern OS.=20

And now thee questions

1. Why lib XO ? Why burden the OS for some corner cases where it may be =
useful ?

2. Was there any real talk on how to bring FreeBSD up to speed regarding =
those issues ?  A period of research on what exists, on what can be done =
, and ensure important things are not showed in background and replaced =
with yet another ad-hoc config database which lacks modern features ?
=46rom where I am standing, this could be a project spawning multiple =
years , but it would be well worth it, and in my opinion it would be =
also worthy of=20
the freeSBD foundation sponsorship for several years in a row. The =
features I touched upon became very important parts of oder OSes, and =
rightly so.=20

Note:

this message is serious and it is not intended to start flame wars, =
religious crusades, or offend anyone.=20
=20=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0650CA79-5711-44BF-AC3F-0C5C5B6E5BD9>