Non direttamente sul design di Linux, ma credo che il processo di sviluppo dietro di esso sia il più degno di nota. Il kernel stesso è in continua evoluzione e lo fa con incredibile velocità. Ciò è possibile solo a causa del controllo della versione decentralizzata (git), che consente a un numero molto elevato di sviluppatori di lavorare simultaneamente.
Inoltre, con git bisect hanno compiuto qualcosa di notevole; è ora possibile per i non sviluppatori di rintracciare i bug. Ecco una citazione da David Miller:
Quello che la gente non si ottiene è che questo è una situazione in cui si applica il "nodo finale principio". Se disponi di risorse limitate a (qui: sviluppatori) , non carichi la maggior parte dell'onere . Invece sposti le cose alla risorsa che hai molto, i nodi finali (qui: utenti), in modo che la situazione venga effettivamente ridimensionata.
persone segnalare un bug hanno accesso all'ambiente in cui il bug si verifica, e "git bisect" estrarre automaticamente le informazioni rilevanti da questo ambiente. Questo è anche un buon modo per ottenere nuovi contributori.
Inoltre, ogni volta che gli sviluppatori vogliono contribuire con il codice, devono assolutamente suddividere il loro codice in minuscole patch applicabili separatamente, in modo che ogni cambiamento possa essere facilmente rivisto. In questo modo molte parti del loro codice possono essere capite da molte persone.
Linux Management Style è una lettura interessante. Linus cerca di vivere un'atmosfera in cui non ti nascondi dietro la cortesia, ma dichiari chiaramente ciò che pensi. Questo potrebbe accadere in qualcuna delle volte, ma sono sicuro che mantiene la qualità del codice ad un livello elevato.
Non capisco davvero il voto di -1. È una domanda pertinente, solo il titolo sembra troppo soggettivo. – dmeister
Questa è una domanda a cui devi rispondere per i compiti? –
Chi è "tutti"? Hai qualche fonte per questo? –