From owner-freebsd-hackers@freebsd.org Tue Dec 1 10:11:53 2015 Return-Path: Delivered-To: freebsd-hackers@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 6DC24A3CD5A for ; Tue, 1 Dec 2015 10:11:53 +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 0478E183A; Tue, 1 Dec 2015 10:11:52 +0000 (UTC) (envelope-from dan_partelly@rdsor.ro) Received: from [192.168.1.100] (unknown [79.119.24.18]) by mail.rdsor.ro (Postfix) with ESMTP id F067BF0C4; Tue, 1 Dec 2015 12:11:44 +0200 (EET) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\)) Subject: Re: libUCL / UCL as FreeBSD config question From: Dan Partelly In-Reply-To: <20151130232235.GA11581@worldash.org> Date: Tue, 1 Dec 2015 12:11:44 +0200 Cc: freebsd-hackers@freebsd.org, Allan Jude , Mark Heily Content-Transfer-Encoding: quoted-printable Message-Id: <1912F461-882E-462A-A3C6-6BC1A15D4353@rdsor.ro> References: <5B598F72-C5DD-48FD-866D-F90E117D646E@rdsor.ro> <564F6118.5030702@freebsd.org> <5576AC9A-791F-4B52-9433-32D2806D35C9@rdsor.ro> <564F8E1F.8060600@freebsd.org> <663FAC89-8B0B-4E20-85F2-36C346A3AC73@rdsor.ro> <20151130232235.GA11581@worldash.org> To: Arlie Stephens X-Mailer: Apple Mail (2.3096.5) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Dec 2015 10:11:53 -0000 > I continue to adminster my Macintosh > systems via "sudo" from a shell window, because the result makes > sense. And Windows is often administered with powershell. I think the result = also make=20 =E2=80=9Csense=E2=80=9D. > 1) convenient Convenience is the only advantage of text files. It is often easier/more = ingrained to=20 just vi /etc/rc.conf than using a tool sysrc(8) to adminster it. But = sysrc(8) exists for a reason. It is safer to use. And , I personally would trade some = convenience for atomicity and transactions any time of the day. > 2) comprehensible I think all systems are equal comprehensible. Practically, there is 0 = difference=20 between the human readbale format you see in a text file, and the output = of=20 system tools. They do output text for most of the information. > 3) backwards compatible (upgrading from before isn't a PITA)=20 When talking about OS databases, backwards compatibility means =E2=80=94 keep the same language. Using a different language than the one in which=20= the ad-hoc databases are specified today (a language with no formal = specification) will automatically break backwards compatibility. Various levels of = PITA will=20 always exist. > 4) forwards compatible (I don't have to reprogram my brain every other = release)=20 All solutions are forward compatible if minimal good engineering = principles are applied. You can break a text based databases in countless way and ditch = compatibility as easily=20 as you can doit for binary databases. > 5) accessible when the system is somewhat crippled (single user mode > after a failure) implementation detail. Are sane solutions are implemented this way. > It's doubtless possible to design a non-text system that provides the > benefits that text based systems get for free. It is indeed possible. But as far as text files goes, the only advantage = IMO is on the=20 lines of convenience. All others are just biases. The future is IMO a = web of=20 interconnected machines at different scales, a world where issues of=20 concurrency - the ability to guarantee atomic and transactional aceeses = to OS databases - is increasingly important.=20 Traditional OS databases in Unix do not have a special language, but = they are easy=20 to understand and humanly read. UCL is both easy to to humanly and = machine read. If introduced in freeBSD , the only thing it would accomplish is = uniformity of language, and easier programtic access. (and this is desirable and by all means no = small feat). But=20 thats where any advantage stops. Nobody in this UCL for FreeBSD woking = group seems=20 to have thought at the future, and did not posed any questions = regarding concurrency and=20 transactions. It=E2=80=99s the same as with the init system. There is a working = solution , which is a glorified=20 autoexec.bat. It doesnt offer any real facilities to monitor services, = configure actions to be take on faults, log faults, manage cron jobs and their lifecycles and the = list can go on and on. In my opinion 3 areas in BSDs are problematic and coherent, future = proof , solutions to those=20 problems must be found: 1. OS services system (service management, fault management, reporting = , cron management )=20 2. OS configuration. Powerful OS databases and system management = demons. 3. Binary code reuse. IMO key utilities in base should be lib-ified , = and frameworks of libs should be built over key system demons (config demons, fault management demons, log demons, = systemwide=20 notification demon (funnelling from multiple sources , as devd, file = system events, service fault events, service=20 normal lifetime events. > On 01 Dec 2015, at 01:22, Arlie Stephens wrote: >=20 > On Nov 24 2015, Dan Partelly wrote: >> A proper solution might need kernel support,and quit using text >> files for OS config. Hence IMO a proper solution has very few >> chances to be implemented. Most people seem to have some fetish >> with text files, and like to be stuck in past. It is like somehow >> magically .txt files are immune to corruption, but any other format >> is not.=20 >=20 > Ugh! Text files tend to make things human comprehensible, in ways > that configuration tools do not. I continue to adminster my Macintosh > systems via "sudo" from a shell window, because the result makes > sense. >=20 > Show me a system that's=20 > 1) convenient > 2) comprehensible > 3) backwards compatible (upgrading from before isn't a PITA)=20 > 4) forwards compatible (I don't have to reprogram my brain every other = release)=20 > 5) accessible when the system is somewhat crippled (single user mode > after a failure) >=20 > And I might get over my "fetish" for text files. =20 >=20 > And for the record, I've used various "registry" solutions to kernel > config., notably the one added to HPUX around about their 11.0, and > even developed code that used this system.=20 >=20 > It's doubtless possible to design a non-text system that provides the > benefits that text based systems get for free. Unfortunately, I've > never seen such a system where that remained a consistent priority.=20 >=20 > --=20 > Arlie >=20 > (Arlie Stephens = arlie@worldash.org) > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to = "freebsd-hackers-unsubscribe@freebsd.org"