From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 38BE3138E66 for ; Sun, 23 Feb 2014 23:54:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 55402E0AC0; Sun, 23 Feb 2014 23:54:36 +0000 (UTC) Received: from mail-la0-f43.google.com (mail-la0-f43.google.com [209.85.215.43]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id F0AC4E0A6A for ; Sun, 23 Feb 2014 23:54:34 +0000 (UTC) Received: by mail-la0-f43.google.com with SMTP id pv20so4738553lab.16 for ; Sun, 23 Feb 2014 15:54:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=xQazhFFMBJzVgOL9z1RoaEjj3FVWHGDlVyOlD2muCxI=; b=naAS5m5HbihL9lM4EGFkJs2R1w4SL4UCsCTXlJFYOU+UPoQP6Ky/vRu1liyahf8vMq fo+QqEGEasCwIMO4iLmPDGJyo5oqCSNyESyl52wRK9mKAV4WWGf49ulzHy2b5yx5eVAO Y8oLmApM+cLMiucjpXmTUGtv+RHvjtlAE2zy4QdjIj3K6OLzIiultKUieg7hxZ2od5L6 LTLaG5pbI+2bf7X4fzrJjhyTBk/aHh+dS3ylb2IWWV3GDXbhGztrAiNATNpiF5l+JMiZ oLh/oyK11Vlk+TZ8EG1UP7O3p4n9RpSfVaHCjJSCkLAS6HSyUZ7W610QtpoO1UoF9zEJ j4bg== Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 X-Received: by 10.112.200.201 with SMTP id ju9mr9808870lbc.76.1393199672907; Sun, 23 Feb 2014 15:54:32 -0800 (PST) Received: by 10.114.170.67 with HTTP; Sun, 23 Feb 2014 15:54:32 -0800 (PST) In-Reply-To: <201402232312.18683.michaelkintzios@gmail.com> References: <52FF84CE.2050301@libertytrek.org> <530A7700.4030809@gmail.com> <201402232312.18683.michaelkintzios@gmail.com> Date: Sun, 23 Feb 2014 17:54:32 -0600 Message-ID: Subject: Re: [gentoo-user] Debian just voted in systemd for default init system in jessie From: =?UTF-8?B?Q2FuZWsgUGVsw6FleiBWYWxkw6lz?= To: gentoo-user@lists.gentoo.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 9a6eb83f-cf57-42a1-8012-56618bd68860 X-Archives-Hash: 36fa32e30c5891cb80139f2c057a4a16 On Sun, Feb 23, 2014 at 5:12 PM, Mick wrote: [ snip ] > Well, I'm no authority on this since I can't code, My point exactly. > but here's a starter for 10: > > http://www.faqs.org/docs/artu/ch01s06.html Funny you mention this; the second definition is by Robert Pike, who later = said: "Not only is UNIX dead, it's starting to smell really bad." > http://people.fas.harvard.edu/~lib113/reference/unix/co-unix4.html You can hear in [2] the best response to the famous quote by Henry Spencer ("Those who don't understand UNIX are doomed to reinvent it, poorly."): "Those who don't understand UNIX are condemned to quote Henry Spencer." And that's the point; the people doing this changes *obviously understand Unix*. They understand it so well that they are able to look at it honestly, beyond dogma or articles of faith, and see its downsides, so they can try to fix them. > http://en.wikipedia.org/wiki/Unix_philosophy This reminds me of the people that quote from religious books to argue about anything non theological. The "rules" and "sound bites" in the links you provide are there to summarize rules of thumb; they are NOT scripture, and they are certainly NOT the only way to get a technically good program that is easily maintainable. In other words, you can ignore most of them, or just following them to a point, and anyway end up with a sound design and a technically great program that is easy to maintain and extend. The people with coding experience (or most of them anyway) understand this; we are not a religion, we don't have prophets that speak the undeniably truth. We have highly skilled developers who can have opposing views on how to design and implement many different ideas, and that doesn't (necessarily) means that any of them are wrong. There are many ways to solve a problem of sets of problems. Having Emacs doesn't mean vi is "wrong", nor having GNOME means KDE is "wrong", nor the other way around. >> I've now concluded it's a myth, much like invisible pink unicorns. >> >> Is it like the kernel? A huge monolithic chunk of code with support for >> modules? > > I would think that although the kernel has grown over the years, it has n= ot > done so like systemd. You can still *not* build modules you don't need i= n > your kernel. This has nothing to do with "Unix principles"; it's just that someone willing and able implemented the different options. >> Is it like X11? A huge monolithic chunk of code that has a bizarre build >> system for years, and took something like 5 years of hard work to get it >> modular? And is 20 years behind the times? And *still* requires devs to >> jump through hoops to get a rendered image through a compositor and back >> up the the GPU? > > The X11 devs saw the error of their ways and ended up breaking up the big > monolithic Xorg code and releasing it as a modular package since X11 7.0,= if I > recall right. The X11 devs decided that X11 is crap, and therefore they are working now in Wayland. Yes, Wayland is basically written by the same people who maintains X.org. Again, see [2], it's pretty awesome. >> Is it like perl? Support every possible way to do something if it >> remotely makes sense to do it, no matter how bizarre the syntax? >> Is it like python? Pick ONE way to do it and stick with it dammit! >> Is it like php? Do whatever you feel like? >> Is it like command line text processing tools that only do one narrow >> thing well? [1] >> Is it like bash? I can't find a decent description of how bash came to >> be except it's like Vogons - wasn't designed and didn't evolve, it just >> sort of ... congealed > > Designing a programming language is not exactly parallel with designing a= n OS, > although similarities exist (e.g. re-use code where you can and don't re- > invent the wheel). I'm pretty sure there are lots of people who vehemently believe that the "Unix principles" can apply to everything, even programming languages. You would be cataloged as an heretic for saying that is not exactly parallel. >> Not to rain on anyone's parade, but there's a prize of 40 internets up >> for the first person who can clearly and unambiguously define "Unix >> design principles" with specificity so that it is globally applicable. > > The Unix design philosophy may not be globally applicable, but has served > Linux well over the years. No; what has served Linux is to have developers willing and able to write the necessary code, following whatever design they decide is the correct one. > Lennart has de facto introduced a different way of > developing his Linux code, which to others and me seems more restrictive. First of all, it's not only Lennart; the systemd repo has (literally) dozens of contributors with write access. Second of all, calling "restrictive" the tightly integrated approach, is exactly as constructive as calling "anarchic" the loosely integrated one. Like "Unix principles", it means nothing and it says nothing. > I am not saying that his coding is poor (I'm not qualified to judge), or = that > systemd is wholesale bad. But, is this a whole new design paradigm in th= e > development of Linux that we should applaud and follow, or just a mistake > borne out of ignorance/arrogance/expedience? Or people willing and able to try new ideas that they believe are awesome? > Time will tell. Indeed; although, as I see, time is already telling us. Regards. [1] http://proness.kix.in/talks/foss.in07-plan9.pdf [2] http://www.youtube.com/watch?v=3DF6PFjoYuml0&t=3D28m27s --=20 Canek Pel=C3=A1ez Vald=C3=A9s Posgrado en Ciencia e Ingenier=C3=ADa de la Computaci=C3=B3n Universidad Nacional Aut=C3=B3noma de M=C3=A9xico