From owner-freebsd-current@freebsd.org Tue Nov 17 09:04:24 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 6B93AA301A7 for ; Tue, 17 Nov 2015 09:04:24 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 504E8196A for ; Tue, 17 Nov 2015 09:04:23 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from Julian-MBP3.local (ppp121-45-231-48.lns20.per1.internode.on.net [121.45.231.48]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id tAH94HDZ026447 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Tue, 17 Nov 2015 01:04:21 -0800 (PST) (envelope-from julian@freebsd.org) Subject: Re: libXO-ification - Why - and is it a symptom of deeper issues? To: Dan Partelly , freebsd-current@freebsd.org References: <0650CA79-5711-44BF-AC3F-0C5C5B6E5BD9@rdsor.ro> From: Julian Elischer Message-ID: <564AED8B.4080809@freebsd.org> Date: Tue, 17 Nov 2015 17:04:11 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <0650CA79-5711-44BF-AC3F-0C5C5B6E5BD9@rdsor.ro> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable 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: Tue, 17 Nov 2015 09:04:24 -0000 On 11/15/15 8:54 PM, Dan Partelly wrote: > Hi all, > > I was looking at the new facility of dumping JSON,XML from many utils i= n 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 ma= intain. > 2. I have seen the idea that this makes the information dumped by utili= ties in the base easily accessible programatically. OK, maybe it does , b= ut > 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 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 possi= bility in a world where too much choices already result in too much split= s and incompatible APIs. > 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, mu= ch 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 s= olaris 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 be= stiary of ad hoc databases already existing in BSDs ? Programatic readabi= lity, 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 , transactiona= l, and ACL protected solution which can be used all over the place , f= rom OS boot, to ABI management, service management, network management, u= ser 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 c= onfig and system state easy with wrapper APIs. In the light of this poin= t, why go with UCL ? It is not orthogonal, it is not transnational, and e= diting the config files directly would result in the same old human error= s 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 i= nsight offered by Windows :P) , then inventing more adhoc solutions and a= d-hoc databases, which do not address the real issues we have , like bina= ry code reuse, service management issues, lack of a system wide publishe= d -subscriber bus ( not kdbus :P ) fault detection and reaction, fault re= porting, 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 regardin= g those issues ? A period of research on what exists, on what can be don= e , and ensure important things are not showed in background and replaced= with yet another ad-hoc config database which lacks modern features ? > >From where I am standing, this could be a project spawning multiple ye= ars , but it would be well worth it, and in my opinion it would be also w= orthy of > the freeSBD foundation sponsorship for several years in a row. The feat= ures I touched upon became very important parts of oder OSes, and rightly= so. > > Note: > > this message is serious and it is not intended to start flame wars, rel= igious crusades, or offend anyone. Amen. I have stated before that I believe this is a mistake... actually, no,=20 not "mistake" actually.. let's say "suboptimal and aesthetically=20 dipleasing". It has every hallmark of "the wrong answer" in my gut feeling. I believe it is being pushed by Juniper to make it easier to make=20 appliances, but I'm not sure I remember correctly. I remember that there was a set of slides somewhere that give the=20 justifications and thinking behind it. But quick look failed to find it.. As a 'currently mostly inactive=20 (kids + $JOB ) I feel iti sn't my place to argue against it too much=20 if currently active deveelopers want it, but it doesn't ring quite=20 right to me.. The ifconfig issue is a separate issue, but yes that=20 could be a good library to have. Personally I would have liked it if in '91 we had followed one very=20 serious suggestion, and implemented every user command as a base 'library', and a tcl=20 wrapper script that gave the external behaviour. then every command=20 could have been made extensible to output various formats etc. by=20 having an alternate tcl script to run in that case. > =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.o= rg" > >