A parte il fatto che ci sono molti sistemi unix che funzionano su molte piattaforme diverse, basta considerare i problemi che il software Windows deve affrontare da questa distribuzione modale, anche se devono davvero preoccuparsi solo di una versione di Windows e di una piattaforma (il PC ).
Anche con solo il PC di cui preoccuparsi, ci sono ancora due architetture: 32 bit e 64 bit. Se noti, la stragrande maggioranza del software Windows ignora semplicemente 64 bit e spedisce solo software a 32 bit, lasciandoti con un software non ottimale se hai un sistema a 64 bit. Quindi ci sono librerie. Un fornitore di software non vuole che tu abbia strani errori nel tentativo di eseguire il loro programma se non hai già installato la libreria corretta, quindi includono semplicemente la libreria con il loro programma (ingrandendo il download, anche se hai già questa libreria ). Un secondo programma fa la stessa cosa, ma con una versione diversa della libreria. Nel migliore dei casi, il programma B contiene una versione più recente della libreria compatibile con le versioni precedenti, quindi se si installa il programma B dopoprogramma A, le cose funzionano, ma installarle nell'ordine inverso ti lascia con la versione precedente della libreria e quindi il programma B si rompe. Spesso, tuttavia, il fornitore della libreria apporta modifiche che non sono compatibili con le versioni precedenti e non si preoccupa di cambiare il nome della libreria, quindi, indipendentemente dall'ordine in cui si installano i due programmi, il primo si interromperà. Questo si chiama "inferno dll".
Purtroppo, per evitare ciò, la maggior parte dei software Windows ha fatto ricorso alla spedizione di tutte le librerie nella propria directory di programma anziché in una directory condivisa, quindi ogni programma ha tutte le sue librerie private e non condividerà mai tra loro, il che sconfigge il tutto punto di DLL in primo luogo e finisci per usare molto più spazio RAM e disco e tempo scaricando tutte le librerie duplicate.
Questo è il motivo per cui il software open source viene pubblicato in formato sorgente e i fornitori di sistemi operativi hanno creato gestori di pacchetti che risolvono i problemi di dipendenza e scaricano solo i binari precompilati di cui hai effettivamente bisogno, senza duplicare le librerie ovunque. Questo riguarda anche il fatto che ci sono molti sistemi unix diversi che girano su molte piattaforme diverse.
apt
cose?