I driver di dispositivo del computer sono ciò che consente al tuo sistema operativo di dire all'hardware all'interno del tuo computer e alle periferiche che hai collegato cosa fare.
Come app e sistemi operativi, questi driver hardware possono essere costituiti da codice sorgente disponibile pubblicamente nascosto dietro blog binari e un lungo contratto di licenza con l'utente finale.
Quindi, quali sono le differenze tra i driver hardware chiusi e open source? Inoltre, in che modo queste differenze influiscono su di te?
Che cos'è un driver hardware?
Esistono driver hardware per abilitare il tuo software del computer per comunicare con l'hardware. A volte vengono integrati con il sistema operativo del tuo computer. Altre volte è necessario scaricare e installare i driver da soli.
Molti driver per Microsoft Windows sono disponibili per il download. I dispositivi PC meno recenti spesso venivano forniti con CD-ROM che includevano i driver per far funzionare l'hardware. Hardware significa qualsiasi cosa, da un microfono USB a una scheda grafica per i giochi.
Su Linux, i driver vengono spesso integrati nel sistema operativo, che ha i suoi pro e contro. La maggior parte delle volte, quando colleghi un nuovo dispositivo, funziona semplicemente. Questo è particolarmente vero con l'hardware più vecchio che ha avuto il tempo di farsi strada nel kernel Linux. Ma a volte, specialmente con i dispositivi più recenti, il tuo computer non riconosce il nuovo dispositivo ed è meno probabile che i driver compatibili con Linux siano disponibili per il download online.
Perché molti driver sono proprietari
Un componente di un computer o un dispositivo esterno può sembrare un prodotto principalmente fisico, ma il software che alimenta il dispositivo spesso rende un prodotto più interessante di un altro. Molte aziende vedono il codice che alimenta questo software come un vantaggio competitivo rispetto ad altre aziende.
Invece di rendere questo codice disponibile pubblicamente, consentono solo a coloro che non hanno l'azienda o ad alcuni appaltatori di vedere il codice. Il codice è considerato un'informazione proprietaria. Il software risultante è un software proprietario, noto anche come software closed source.
La concorrenza tra AMD e NVIDIA è una delle più feroci nell'hardware dei computer. NVIDIA ha avuto a lungo un vantaggio rispetto ai rivali ed è meno incline a fornire driver hardware open source. Il codice all'interno di questi driver potrebbe probabilmente consentire a un concorrente esistente di recuperare o rendere più facile per una nuova azienda entrare nel campo senza sviluppare codice da zero.
I sistemi operativi proprietari hanno driver proprietari
C'è anche bisogno qui per affrontare l'elefante nella stanza. Microsoft Windows è il sistema operativo desktop più utilizzato al mondo. Windows è costituito da codice sorgente chiuso.
I driver hardware si integrano con il sistema operativo a un livello così basso. Da Windows 8, i computer Windows possono eseguire solo driver firmati. Ciò significa che i driver devono essere certificati da Microsoft e poiché Windows è proprietario, anche questi driver devono esserlo.
Forse meno sorprendentemente, Apple certifica anche i driver su macOS. Ma a livello di kernel, macOS si basa su varie tecnologie open source. macOS utilizza anche il sistema CUPS open source per la gestione delle stampanti. Ma se stai installando un driver, è probabilmente proprietario.
Chrome OS di Google è un po' un'eccezione qui. Chrome OS è tecnicamente proprietario, ma si basa su una base open source. Poiché Chrome OS utilizza il kernel Linux, utilizza sia i driver open source che i BLOB binari chiusi forniti con il kernel. Ma se hai bisogno di eseguire hardware aggiuntivo che non è supportato immediatamente, non è proprio quello a cui è destinato Chrome OS.
Qual è la necessità di driver aperti?
Ciò significa che la questione dei driver open source rispetto a quelli chiusi ha un impatto in gran parte sugli utenti Linux. Qui la preferenza è l'opposto degli altri sistemi operativi desktop. Nessuna azienda sviluppa e distribuisce Linux, quindi non esiste un'azienda che certifichi i driver. Lo sviluppo di Linux è diffuso tra persone in tutto il mondo, alcuni lavorano come volontari e altri come dipendenti per varie aziende. Funziona meglio per tutti quando è disponibile il codice sorgente per i driver.
I vantaggi dei driver open source rispecchiano molti dei vantaggi del software open source in generale.
- Collaborazione software più semplice: Molte persone possono sviluppare software insieme quando non c'è un'azienda che funge da gatekeeper del codice sorgente.
- Software di cui ti puoi fidare: Senza l'accesso al codice sorgente, in realtà non sai cosa sta facendo un programma.
- Maggiore privacy: È raro che il software open source tenga traccia di ciò che stai facendo poiché è facile per qualcuno ridistribuire un'altra copia del software con il tracciamento rimosso.
- Longevità del software: Quando un'azienda perde interesse per un programma o un dispositivo, spesso smette di distribuirli. Il codice open source consente a chiunque altro di continuare a rendere disponibile il software.
Su Linux, quando un driver è open source, c'è una migliore possibilità che tutto funzioni semplicemente. Il tuo hardware probabilmente conterrà anche meno bug.
Ad esempio, gli utenti Linux possono aspettarsi animazioni desktop più fluide utilizzando la grafica integrata Intel rispetto a una grafica NVIDIA scheda, perché gli sviluppatori di grafica Linux non hanno accesso al funzionamento interno del chip NVIDIA per elaborare tutti i bug. Le stranezze possono apparire in luoghi inaspettati, ad esempio quando si chiude un laptop per metterlo in modalità di sospensione. Di conseguenza, gli utenti Linux che desiderano un'esperienza più fluida ma necessitano anche di una potente scheda grafica potrebbero finire per preferire AMD, un'azienda che fornisce driver più open source.
Se Linux fosse più ampiamente utilizzato sui desktop, probabilmente vedresti una maggiore pressione sulle aziende per rilasciare driver aperti. Su Linux, il codice open source è più un vantaggio competitivo, una caratteristica a cui molti utenti danno importanza quando prendono le loro decisioni di acquisto. Ma con gli utenti Linux che rappresentano una percentuale così piccola degli utenti complessivi di computer, la questione se rendere un driver open source non si pone quasi mai. Su Windows e macOS, un driver open source non sarà certificato.
Open Source vs. Proprietario: quale usare?
Sulla maggior parte dei computer, non hai scelta. Su Windows e macOS, i tuoi driver sono proprietari. Su Chrome OS, indipendentemente dal fatto che i tuoi driver siano aperti o chiusi, tale conoscenza è in gran parte sconosciuta e irrilevante per la tua esperienza.
Ma se stai usando Linux, allora questa domanda è importante. A meno che tu non abbia bisogno della potenza extra che un driver proprietario può fornire, come per i giochi, l'hardware con driver open source spesso offre un'esperienza migliore. E tali driver si allineano meglio con l'etica e le funzionalità più ampie che distinguono Linux da altri sistemi operativi.