Hacker News new | past | comments | ask | show | jobs | submit login

That is not what monolithic means. Monolithic is opposed to modular. Just being in the same repository does not make components tightly coupled etc.



Monolithic is _not_ opposed to modular.

Here's a list of systems that are both monolithic and modular:

* Linux

* the FreeBSD kernel

* the Solaris kernel

* Apache HTTPD

* Postfix

* OpenJDK

* XOrg

* EMACS

* LibreOffice

A modular, non-monolithic alternative to the kernels would be MINIX or HURD.


Monolithic may have a specific technical meaning in the context of kernels which is not opposed to modularity, but in general the two can be considered opposites. Monolithic is simply "of one piece", while modular means something has separate, changeable pieces. If you disagree it would be more enlightening to tell me your definition instead of a list of exceptions, because right now I don't see why they are.


But they are in the same repo because they are tightly coupled. Some of the code is shared between kernel and userspace for example, and stuff is versioned to match, as the BSDs do not have the strict userspace compatibility guarantees that Linux does, so things do change (though there are compat shims).


On the other hand, with the BSDs, you can swap out nearly any userland component for an alternative and it keeps working. While various things share code, it's very rare that one feature depends on an entirely unrelated feature, which is extremely unlike systemd.


True, and you can look in the Makefile to see what the dependencies are.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: