Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Nov 2015 18:22:16 -0800
From:      Alfred Perlstein <alfred@freebsd.org>
To:        Allan Jude <allanjude@freebsd.org>, freebsd-current@freebsd.org
Subject:   Re: libXO-ification - Why - and is it a symptom of deeper issues?
Message-ID:  <564A8F58.6020907@freebsd.org>
In-Reply-To: <564A0F71.7060700@freebsd.org>
References:  <0650CA79-5711-44BF-AC3F-0C5C5B6E5BD9@rdsor.ro> <564A0DD4.7030505@interlinked.me> <564A0F71.7060700@freebsd.org>

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


On 11/16/15 9:16 AM, Allan Jude wrote:
> On 2015-11-16 12:09, Elizabeth Myers wrote:
>> On 15/11/15 06:54, Dan Partelly wrote:
>>> 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 answe=
r. Ill outline what I think:
>>>
>>>
>>> 1. Undoubtedly, it makes base code slightly harder to understand and =
maintain.
>>> 2. I have seen the idea that this makes the information dumped by uti=
lities 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 m=
eaningful way, and I
>>> dont see too many ppl changing their code to read JSON instead of tex=
t.  I don't even see the base tools changing. This output may be useful i=
n corner cases only.
>>> 3. The integration of libxo IMO only points at a much deeper issue IM=
O. It is only an expression of the need of a mechanism aimed at binary co=
de reuse. But it does not solve the problem, it only adds yet another pos=
sibility in a world where too much choices already result in too much spl=
its and incompatible APIs.
>>> 4. This whole effort would have been IMO much better served  by porti=
ng 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 cod=
e. 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 ye=
t induce another orthogonality violation. What makes UCL better than the =
bestiary of ad hoc databases already existing in BSDs ? Programatic reada=
bility, yes. but it does not add any real much needed functionality such =
as *transactional databases* for system tools.   Why not research a prope=
r solution - easily accessible by other programs ,orthogonal , transactio=
nal, 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 po=
int, 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 err=
ors which bite as all from time to time.
>>>
>>> 5. It is my opinion that Solaris addressed some of those issue. Solar=
is FMRI and SMF are lightyears ahead of the very tired models we keep usi=
ng 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 bi=
nary code reuse, service management issues,  lack of a system wide publis=
hed -subscriber bus ( not kdbus :P ) fault detection and reaction, fault =
reporting, all much needed parts of a modern OS.
>>>
>>> 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 regard=
ing those issues ?  A period of research on what exists, on what can be d=
one , and ensure important things are not showed in background and replac=
ed with yet another ad-hoc config database which lacks modern features ?
>>>  From 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
>>> the freeSBD foundation sponsorship for several years in a row. The fe=
atures I touched upon became very important parts of oder OSes, and right=
ly so.
>>>
>>> Note:
>>>
>>> this message is serious and it is not intended to start flame wars, r=
eligious crusades, or offend anyone.
>>>  =20
>>> _______________________________________________
>>> freebsd-current@freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-current
>>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd=
=2Eorg"
>> It seems to boil down to the golden rule: he who has the gold, makes t=
he
>> rules. Juniper wanted it, they're a non-trivial donor to the FreeBSD
>> foundation and employ many devs, so they got their way.
>>
>> That's all there is to it.
>>
> As Simon pointed out, many more people than Juniper wanted it. Juniper
> had a less generalized version of this in their own tree, and would hav=
e
> happily kept it to them selves, but they went to the extra effort of
> generalizing it and cleaning it up to commit it to base, because at a
> FreeBSD Vendor Summit, a number of other companies wished for the same
> functionality.
>
> Even my small 3 person company greatly desires this functionality, and
> this is why I have been helping to convert additional utilities to use
> libxo.
>
> How big of a donor you are to the FreeBSD Foundation does not affect th=
e
> committable of your code. Having code ready to commit, vs just a vague
> plan, does help your solution win out over another proposed solution th=
ough.
+1, my last two companies needed this functionality.

Asking my non-platform team members to parse=20
ifconfig/sysctl/vmstat/iostat/etc output was ruining my day and their=20
day, every day. :)

-Alfred


>> --
>> Regards,
>> Elizabeth Myers
>>
>>
>> _______________________________________________
>> freebsd-current@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.=
org"
>>
>





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?564A8F58.6020907>