Logo it.androidermagazine.com
Logo it.androidermagazine.com

Che cos'è l'open source?

Anonim

Che cos'è l'open source? Il software open source è un software che rende il codice sorgente disponibile gratuitamente, per chiunque lo possa vedere e utilizzare. Aziende, privati, università e molte altre entità realizzano interi progetti e utilizzano una licenza open source, quindi distribuiscono il codice a chiunque voglia utilizzarlo. La licenza utilizzata determina in che modo gli altri che utilizzano questo codice condividono le loro modifiche.

Esistono diverse licenze open source che hanno condizioni d'uso diverse, dalla GPL (GNU General Public License) - che consente "la distribuzione gratuita a condizione che ulteriori sviluppi e applicazioni siano posti sotto la stessa licenza" - a licenze più liberali come la Licenza Apache, che non richiede modifiche per essere aperta e avere il codice sorgente disponibile. Android utilizza entrambe queste licenze e le daremo un'occhiata a turno.

Il kernel Linux utilizzato in Android è coperto dalla GPL. Ciò significa che qualsiasi modifica apportata al codice sorgente deve essere resa disponibile quando un file binario (geek-speak per un pezzo di software compilato ed eseguibile) viene rilasciato al pubblico. Ciò significa che produttori come HTC, Samsung, Motorola e gli altri devono rilasciare il codice sorgente del kernel per tutti i dispositivi che vendono mentre iniziano a venderli. Naturalmente, ciò accade raramente e finiamo per aspettare che un team rimuova note, commenti di fonte e altre cose utili prima che ci arrivi. Queste sono le versioni di codice che vedrai menzionate su Internet e consistono nel sorgente del kernel e in altri "bit" open source coperti dalla GPL.

Il codice sorgente per Android stesso viene rilasciato principalmente con licenza Apache. A chiunque è consentito scaricare il codice sorgente e modificarlo come preferisce, ma non è tenuto a rendere pubbliche le proprie modifiche in forma di codice sorgente. Questo è il motivo per cui non possiamo facilmente modificare il Touchwiz di Samsung (ad esempio): le modifiche apportate al codice sorgente Android di base non sono disponibili per noi. Mentre molte persone (me compreso) non apprezzano molto questa situazione, ha senso dal punto di vista commerciale. Se i produttori dovessero condividere tutti i loro segreti, non ci sarebbe lo stesso incentivo monetario per innovare, quindi la fonte è stata offerta con una licenza molto più liberale. Certamente ha funzionato, visto che vediamo dispositivi di molti importanti attori nel mondo dell'elettronica.

L'altro importante prodotto di consumo di Google - Chrome OS - è scritto dalla fonte Chromium. Le parti di Chromium scritte da Google sono open source, sotto la licenza BSD. Altri collaboratori utilizzano varie licenze open source come la licenza MIT o GPL.

Una cosa importante da ricordare qui è che Android e Chromium sono open source, ma i sistemi operativi utilizzati per i dispositivi Nexus e i Chromebook no. Sono realizzati a partire da progetti open source, ma possono contenere parti proprietarie per migliorare il software per ciascun dispositivo specifico. Per i telefoni Nexus, questi bit proprietari sono rilasciati sul sito degli sviluppatori Android e sono pronti per entrare in qualsiasi cosa tu possa costruire dall'AOSP per ottenere la stessa esperienza. I Chromebook verranno eseguiti su una build completamente aperta di Chromium, ma non avranno alcune API di Google chiuse o i codec audio e video della suite completa.

Google rilascia anche applicazioni senza licenza open source. Gmail, Maps e molte altre app Google che arrivano sui nostri telefoni non fanno parte dell'AOSP e sono sviluppate in modo indipendente per Android, Chrome, iOS e Web. Quando senti che Internet litiga sul fatto che Android non sia "aperto", questo è ciò di cui stanno parlando. Android e tutto ciò che è necessario per installare ed eseguire app Android è completamente open-source, ma non lo sono le popolari applicazioni che lo rendono migliore. Non è probabile che questo cambi.