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>