Obecnie Linux jak i pozostałe systemy Unikso-podobne rozwijane są zarówno przez firmy jak i przez prywatnych deweloperów (często sponsorowanych przez różne fundacje). Śmiem jednak twierdzić, że jeśli chodzi o udział firm w tworzenie systemu (i finansowy i techniczny) to Linux jest na pierwszym miejscu.
Rzeczywiście, systemy z rodziny BSD dostarczają całość, tj. jądro, userland oraz toolchain, podczas gdy Linux to jądro, do którego musimy mieć jeszcze pozostałe dwa komponenty dostarczane osobno przez różne podmioty.
Co do powłoki to serio... system nie ma tutaj znaczenia. Wybór domyślnego shella to kwestia decyzji organizacji, która tworzy dystrybucję. To że akurat w base-systemie FreeBSD nie ma basha to jest właśnie taki przypadek.
Mac OS jest Unixem (zgodny ze specyfikacją Unixa, prawnie może nazywać się Unixem). Może to będzie zaskoczeniem ale ma basha :P, da się na nim grać, programować, oglądać youtube, rysować itd. Co więcej, głównym zastosowaniem tego systemu nie są serwery.
Linux natomiast do dzisiaj ma trudności z takimi czynnościami jak hibernacja. BSD to już w ogóle... zajmie się takimi drugorzędnymi sprawami chyba
dopiero gdy Linux osiągnie już samoświadomość.
Tak czy inaczej, zdecydowana większość serwerów i superkomputerów śmiga na Linuxie. Niektórzy więksi gracze używają też BSD (np. Netflix) ale to raczej
anomalia niż reguła.
Jeśli chodzi o bezpieczeństwo to cóż, nie jestem ekspertem ale nad Linuxem pracuje znacznie więcej osób, używa go znacznie więcej ludzi i firm, ładowana jest w niego o wiele większa kasa. Stąd wnioskuję, że proporcjonalnie większy będzie nacisk na wysoką jakość zabezpieczeń i szybkie naprawianie dziur.
Przykładowo ASLR na FreeBSD nie znajdziemy podczas gdy Linux działające (bo to też ważne :P) ASLR ma. Wiem, że zeloci OpenBSD pewnie będą mieli inne zdanie co do bezpieczeństwa systemów ale tak jak mówiłem - nie jestem ekspertem więc moje zdanie i tak się nie liczy :P.
Systemy plików to kwestia trochę podobna do tej z powłoką. O ile nie ma problemów licencyjnych i istnieje implementacja to można używać.
Jeśli chodzi o architekturę to też nie bardzo rozumiem. Większość systemów Uniksowych (w tym Linux) to jądro monolityczne z możliwością ładowania modułów.
Niemniej dość tego czepiania się - do meritum.
Ja bym wymienił następujące (IMHO najważniejsze) różnice:
-
Kod :-)
To jest fundamentalna różnica między Linuxem, BSD itd. Systemy implementują mniej więcej te same specyfikacje (np. POSIX) ale często w inny sposób. Z punktu widzenia użytkownika czy programisty aplikacji to większość rzeczy wygląda bardzo podobnie, niemniej w środku implementacja jest inna.
Np. stos sieciowy, na wszystkich systemach robi mniej więcej to samo a w inny sposób (czasem lepszy czasem gorszy :P).
-
Licencja
Linux rozprowadzany jest na licencji GNU/GPL ale już np. FreeBSD ma bardziej liberalną licencję i takiego kodu można użyć w komercyjnym produkcie bez konieczności dzielenia się nim z klientem. Oznacza to również, że można dowolnie re-używać kod na licencji BSD i o nic się nie martwić. Stąd niektórzy
pożyczają sobie to i owo, np. Apple, Microsoft, Sony, Nintendo.
-
Liczba użytkowników
O tym już mówiłem. Zdecydowanie największe pieniądze i największe zainteresowanie jest Linuxem.
-
Możliwości
Oczywiście każdy system ma swoje wady i zalety. Np. zaletą Mac OS jest to, że działa (przynajmniej na komputerach Apple ;-)). Niemniej, Linux jest bardzo
intensywnie rozwijany i w wielu kwestiach znacznie przewyższa pozostałe systemy Uniksowe (takie jak BSD). Wystarczy spojrzeć na ilość wspieranych platform, ilość sterowników, rozwiązania do wirtualizacji, power management, ficzery takie jak kexec, skalowalność, itd. itp....
Co nie zmienia faktu, że niektóre firmy używające np. swojego, customizowanego FreeBSD są zadowolone z jego wydajności, stabilności i bezpieczeństwa. Zmiana na coś innego nie ma dla nich sensu.