From owner-freebsd-current@freebsd.org Mon Nov 16 17:39:21 2015 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D6DBCA304AB for ; Mon, 16 Nov 2015 17:39:21 +0000 (UTC) (envelope-from dan_partelly@rdsor.ro) Received: from mail.rdsor.ro (mail.rdsor.ro [193.231.238.10]) by mx1.freebsd.org (Postfix) with ESMTP id C6E361A6B; Mon, 16 Nov 2015 17:39:20 +0000 (UTC) (envelope-from dan_partelly@rdsor.ro) Received: from [192.168.1.102] (unknown [79.119.24.18]) by mail.rdsor.ro (Postfix) with ESMTP id 845E61D8B7; Mon, 16 Nov 2015 19:39:13 +0200 (EET) Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\)) Subject: Re: libXO-ification - Why - and is it a symptom of deeper issues? From: Dan Partelly In-Reply-To: <564A0F71.7060700@freebsd.org> Date: Mon, 16 Nov 2015 19:39:12 +0200 Cc: freebsd-current@freebsd.org Message-Id: <7644107F-8C34-431D-9367-680A609BE7F5@rdsor.ro> References: <0650CA79-5711-44BF-AC3F-0C5C5B6E5BD9@rdsor.ro> <564A0DD4.7030505@interlinked.me> <564A0F71.7060700@freebsd.org> To: Allan Jude X-Mailer: Apple Mail (2.3096.5) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Nov 2015 17:39:21 -0000 > How big of a donor you are to the FreeBSD Foundation does not affect = the > committable of your code. Having code ready to commit, vs just a vague > plan, does help your solution win out over another proposed solution = though Then surely you will salvage something from a lot of GsoCs where people = wrote code with various degrees of success, only=20 to never hear again of anintegration, or an evaluation of that code, = and possible integration.=20 One which directly interests me: what happened to the BSD libctf code = from GSoc ? Was the resulted code evaluated ? If=20 it falls short, where it does ? Can it be salvaged ?=20 Libxo might be a fine facility to have for some corner cases, but it = doesnt solve the problem of binary code reuse in general. Might have = solved it fast for Juniper. It is yet another stick into a scaffolding = of shell scripts which should have been replaced years ago with proper = libraries, services and IPC, opening the road towards modern service = management, service frameworks , fault management , fault response and = transactional OS databases=20 =20 I continue to believe this is or will become shortly an issue of utmost = importance , one which is worthy of the status of a FreeBSD=20 initiated and sponsored object.=20 > On 16 Nov 2015, at 19:16, Allan Jude wrote: >=20 > On 2015-11-16 12:09, Elizabeth Myers wrote: >> On 15/11/15 06:54, Dan Partelly wrote: >>> Hi all, >>>=20 >>> 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: >>>=20 >>>=20 >>> 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. >>>=20 >>> 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. >>>=20 >>> 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 >>>=20 >>> And now thee questions >>>=20 >>> 1. Why lib XO ? Why burden the OS for some corner cases where it may = be useful ? >>>=20 >>> 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 >>>=20 >>> Note: >>>=20 >>> this message is serious and it is not intended to start flame wars, = religious crusades, or offend anyone.=20 >>>=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.org" >>=20 >> It seems to boil down to the golden rule: he who has the gold, makes = the >> rules. Juniper wanted it, they're a non-trivial donor to the FreeBSD >> foundation and employ many devs, so they got their way. >>=20 >> That's all there is to it. >>=20 >=20 > 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 = have > 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. >=20 > 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. >=20 > How big of a donor you are to the FreeBSD Foundation does not affect = the > committable of your code. Having code ready to commit, vs just a vague > plan, does help your solution win out over another proposed solution = though. >=20 >> -- >> Regards, >> Elizabeth Myers >>=20 >>=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.org = " >>=20 >=20 >=20 > --=20 > Allan Jude