3 ms·
No, it's not been debunked. Lennart has just made it clear time and time again that he has his own definition of "monolithic" and so the rest of us should just
by nknighthb 12y ago
No, it's not been debunked. Lennart has just made it clear time and time again that he has his own definition of "monolithic" and so the rest of us should just shut up.
- nilved 12y agoSeriously. His reasoning is "it's not monolithic, this one package has 70 binaries that do different things, therefore it is modular." Clearly, his understanding of the word "monolithic" is as poor as his understanding of UNIX.
- evol262 12y agoUNIX never meant anything. z/OS is UNIX. Even the Single UNIX Spec never clarified anything other than "UNIX includes these things". People who rail about how systemd "isn't UNIX" never had to maintain a heterogenous environment of IRIX, Tru64, HP-UX, AIX, and Solaris. They're all UNIX. OSX is also UNIX. Guess how similar they are and how many design philosophies they share. Coreutils has a lot of binaries that do different things. Is is monolithic? The GNU ecosystem and autotools barely function without other GNU tools which aren't part of the same project. Are those monolithic? Monolithic is a canard.
- jude- 12y agoThe difference between coreutils' and systemd's components is that changing the implementation of one coreutils program (let's say "ls") will not require you to modify others (like "cat"). Not only are they separate modules, but also they are loosely-coupled by design. Contrast this with systemd's modules, which are much more tightly coupled.
- bkor 12y agoWhat do you mean? If systemd is monolithic, coreutils is as well. In your response you make it sound like there is only one person who has this definition. That's not the case. Further, since ages UNIX (also BSD) put everything into one repository. That's also not called monolithic. You're the one with the different definition IMO.
- nknighthb 12y agocoreutils certainly has a monolithic release process. However, as jude- points out[0], in other senses it is quite modular. The BSDs do have somewhat monolithic repositories, along with somewhat monolithic development and release processes. All the Linux distributions have, ultimately, monolithic release processes. However, components within these ecosystems are much more loosely coupled. Mixing different implementations (or different versions of the same implementations) is not only practical but sometimes essential to getting useful work done. I have a nuanced definition of monolithic that recognizes various ways in which something may or may not be monolithic. Lennart and his cohorts have a very absolutist but conveniently-shifting definition of monolithic that they demand everyone blindly adhere to lest they be accused of spreading FUD. [0] https://news.ycombinator.com/item?id=8203821 https://news.ycombinator.com/item?id=8203821
- jude- 12y agoI believe these are the definitions used in software engineering. Someone please correct me if I'm wrong. A "monolithic" system is a system that cannot be factored into stand-alone components. That is, there is a high degree of logical coupling between its components that make them difficult or impossible to use independently. A "modular" system is a system built of multiple logically-distinct components. Note that this descriptor says nothing about their degree of coupling. Examples: * Linux, the X.org server, and systemd are both modular and monolithic. * Coreutils is modular but not monolithic. * The "ls" program is monolithic and not modular. Note that under these definitions, "modular" is necessary but not sufficient for "not monolithic". From the way he talks about it, however, Lennart seems to believe that "modular" means "not monolithic".