From owner-freebsd-hackers@FreeBSD.ORG Fri Mar 26 08:45:11 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 212221065692 for ; Fri, 26 Mar 2010 08:45:11 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id EDAF78FC0C for ; Fri, 26 Mar 2010 08:45:10 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 7524B46B82; Fri, 26 Mar 2010 04:45:10 -0400 (EDT) Date: Fri, 26 Mar 2010 08:45:10 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: perryh@pluto.rain.com In-Reply-To: <4bac66f6.4sYPjsI4heo4SpWm%perryh@pluto.rain.com> Message-ID: References: <201003231108.45102.jhb@freebsd.org> <4bac66f6.4sYPjsI4heo4SpWm%perryh@pluto.rain.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-hackers@freebsd.org Subject: Re: Another tool for updating /etc -- lua||other script language bikeshed X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Mar 2010 08:45:11 -0000 On Fri, 26 Mar 2010, perryh@pluto.rain.com wrote: > Robert Watson wrote: >> ... web browsers [are] basically operating systems at this point ... > > Isn't this a bit of an exaggeration? Not too many browsers have to deal > with process/thread scheduling, or device drivers, or booting, or file > system issues -- they rely on the OS for that (as does any other > application). I think it's more of an anaology than an exageration. The FreeBSD kernel, including device drivers and architectures, is around 3.9 million lines of code. Google's Chromium, including WebKit, is around 4.1 million lines of code. Both provide an extensive runtime environment for applications that run on top of them, security domains, storage services, and management models. I'm not arguing that web browsers are a substitute for our current operating system layer: they clearly build on it. However, in terms of their goals in providing an execution environment, user interface, etc, they fill a very similar niche by being a general-purpose platform for many specific things. And, to get back to the point I was making: if you toast your Chromium update or get configuration management wrong, then your applications (Google Docs, GMail, ...) on ChromeOS won't work any more than if you toasted your /lib or /etc in FreeBSD. For example, if the Chromium configuration files change and it forgets about web proxies, Chromium won't be able to call home to pick up a fix any more than if etcmerge toasts resolv.conf. Making updates easy is, to a large extent, about avoiding the creation of foot-shooting opportunities. Some of it is about tools (binary updates, mergers, rollbac, etc), but most of it is about avoiding scenarios in which a previously valid configuration becomes invalid. And if we look at problems FreeBSD has had with updates in a past, a lot come down to precisely that: for example, renaming serial port device names (several times in as many years). Robert