On Thu, Mar 26, 2015 at 06:53:54PM -0400, Jude Nelson wrote: [cut]
> > I took a stab at stating what "Unix software design philosophy" means > earlier up the thread, but I'll reproduce it here for your convenience: > > """ > 0. A program is a file that contains executable data (e.g. a binary, a > script, or a library). > 1. Each program has a single well-defined responsibility. > 2. If two programs have orthogonal responsibilities, then they are > logically independent of one another's implementation (i.e. programs with > orthogonal responsibilities are not coupled to each other's > implementations). > 3. Functionality encompassing multiple responsibilities is obtained by > composing two or more programs (such as through piping, I/O redirection, > dynamic linking, and so on). > """ > Hi Jude, yours are very good and solid points, but unfortunaely they are not that useful in practice. Point 1 can be a problem for many software packages/suites which deal with more than one thing. An example is a desktop manager: would it be considered DOTATIW-compliant? :) Point 2 has problems as well, because sometimes a package contains several programs (the first example that comes to my mind is postfix, but you have thousands of other examples out there) which are orthogonal yet highly dependent on each other's implementation. And none of us would like to say that postfix is overall not DOTATIW-compliant... Point 3 might be problematic as well, not just in the case of postfix (which does not use piping or I/O redirection for inter-process communication), but in hundreds of other programs that I am sure you will consider definitely DOTATIW-compliant, but do not follow under point 3 above. In a word: stating a policy here is quite difficult, if not impossible, and would soon require a relatively large number of exceptions and smallprints in order to include software that you and me and almost everybody here already would agree is DOTATIW- and KISS-compliant. To rephrase an old saying, we can say that DOTADIW-compliance is like pornography: you can't define it precisely, but you immediately recognise it as soon as you see it ;-P I think that the only concrete possibility is that of using a pinch of salt whenever the choice between different alternatives is necessary (if it ever is), and just go for the one that seems more reasonable, where by "reasonable" I mean complying with almost all the points you stated above, but also being in line with what a greybeard unix user/admin would generally expect from a unix system, which is something you can't just include in a bullet list ;-) My2Cents KatolaZ -- [ Enzo Nicosia aka KatolaZ --- GLUG Catania -- Freaknet Medialab ] [ me [at] katolaz.homeunix.net -- http://katolaz.homeunix.net -- ] [ GNU/Linux User:#325780/ICQ UIN: #258332181/GPG key ID 0B5F062F ] [ Fingerprint: 8E59 D6AA 445E FDB4 A153 3D5A 5F20 B3AE 0B5F 062F ] _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng