Software Open Source e Forking The Good, The Great and The Ugly
C'è un grave equivoco sul mondo dell'open source.
Troppe persone pensano che si tratti di persone che lavorano insieme per un obiettivo comune. Che quelli che scelgono di scrivere codice e darlo via gratuitamente siano Digital Hippies; gente barbuta, occhialuta, che indossa sandali che, se non avessero mai scoperto i computer, sarebbe stata seduta attorno a un fuoco da campo, strimpellando una chitarra e cantando Kumbaya.
Falso. Totalmente, completamente falso.
Ci sono stati momenti in cui sono emerse gravi fratture nella comunità open source, che ha prodotto aspre faide, scismi e brutti sangue non visti dagli intensi giorni degli Oasis e dei notoriamente tempestosi Gallagher Brothers.
Ma mentre Noel e Liam Gallagher risolvono le loro differenze con pugni volanti e battute spiritose, la comunità open source sceglie invece un modo (tipicamente) più produttivo. biforcazione.
Cosa è Forking?
Forking non ha nulla a che fare con il tuo cassetto degli utensili. Piuttosto, si riferisce alla direzione che prende un progetto open source.
La maggior parte del software open source è concessa in licenza con licenze aperte e permissive. Licenze software open source: quali utilizzare? Licenze software open source: quali dovresti utilizzare? Lo sapevi che non tutte le licenze open source sono le stesse? Ulteriori informazioni che consentono all'utente di sfruttare le quattro libertà del software Free Libre. La Free Software Foundation li descrive così:
La libertà di eseguire il programma come si desidera, per qualsiasi scopo (libertà 0).
La libertà di studiare come funziona il programma e cambiarlo in modo che faccia il tuo computer come desideri (libertà 1). L'accesso al codice sorgente è una condizione preliminare per questo.
La libertà di ridistribuire le copie in modo da poter aiutare il prossimo (libertà 2).
La libertà di distribuire copie delle versioni modificate ad altri (libertà 3). In questo modo puoi dare all'intera comunità la possibilità di beneficiare dei tuoi cambiamenti. L'accesso al codice sorgente è una condizione preliminare per questo.
Quando un programmatore "forca" un programma, prende una copia di un codice già scritto e lo tratta come un progetto completamente separato. Potrebbero rinominarlo e qualsiasi modifica apportata si rifletterà solo in quel particolare "ramo".
Ci sono molte ragioni per cui un pezzo di software potrebbe essere biforcato. A volte, l'utente finale ne beneficia notevolmente. A volte, la forchetta è fatta sotto un sudario di rabbia, odio e animosità. Diamo un'occhiata ad alcuni esempi: uno buono, uno grande e uno brutto.
The Good - LibreOffice e MariaDB
Negli anni novanta e nei primi anni, esisteva un'azienda chiamata Sun MicroSystems. Sun era una società piuttosto grande, con migliaia di dipendenti e ricavi che sminuiscono la Apple (allora malata).
Sun Microsystems ha creato una famiglia di processori denominata SPARC (che, per molti aspetti, aveva molto in comune con i chip ARM che alimentano la maggior parte dei telefoni cellulari e tablet e alcuni Chromebook), nonché i server che erano alimentati da questi. Hanno anche costruito una quantità enorme di software per computer che è ancora molto usato oggi.
Software come il linguaggio di programmazione Java / macchina virtuale e il database MySQL. Software come OpenOffice, che praticamente ha posto fine al monopolio assoluto di Microsoft Office.
Sfortunatamente, tutte le cose buone devono finire alla fine e nel 2009 Sun Microsystems è stata rilevata da Oracle Corporation di Larry Ellison. Questo ha spaventato la comunità Open Source, data la scarsa esperienza di Oracle per l'apertura e l'egualitarismo quando si tratta di software libero. Questo è stato esemplificato nel 2010 quando Oracle ha portato Google in tribunale per aver violato i loro diritti d'autore e brevetti sul linguaggio di programmazione Java utilizzato nel sistema operativo mobile Android.
Questa fu la goccia che fece traboccare il proverbiale dorso del cammello. I membri della comunità open source hanno preso due dei prodotti Oracle più significativi e li hanno biforcati. MySQL è diventato MariaDB, mentre OpenOffice è diventato LibreOffice LibreOffice - Una suite Free Office per Windows, Linux e Mac LibreOffice - Una suite gratuita per Office Per Windows, Linux e Mac Ulteriori informazioni .
Questa mossa ha assicurato che questi prodotti sarebbero stati in grado di essere utilizzati per anni a venire, sempre sotto licenza permissiva e senza alcun costo per il consumatore. Fondamentalmente, Oracle non sarebbe in grado di fare nulla al riguardo.
Oggi LibreOffice LibreOffice - Una suite gratuita per Office per Windows, Linux e Mac LibreOffice - Una suite gratuita per Office Per Windows, Linux e Mac Read More è una delle suite per ufficio più utilizzate al mondo e viene fornita come predefinita con un numero di Linux distribuzioni; OpenOffice è stato preso in carico dalla fondazione Apache ed è ora noto come Apache OpenOffice. Anche MariaDB ha avuto un grande successo e ha sostituito MySQL su diverse distribuzioni Linux, tra cui Fedora a partire dalla versione 19 Fedora 19 "Schrödinger's Cat" è vivo e pieno di nuove funzionalità e miglioramenti Fedora 19 "Schrödinger's Cat" Is Alive E pieno di nuove funzionalità e miglioramenti Gioia per il mondo, è stata rilasciata una nuova versione di Fedora nome in codice "Schrödinger's Cat"! In passato, Fedora ha fornito una posizione di leadership nella comunità open source, rispettando rigorose politiche open source, continue ... Leggi di più .
The Great - Node.js And Node Forward
JavaScript è uno dei blocchi fondamentali di Internet. Che cos'è JavaScript e Internet esiste senza di esso? Che cos'è JavaScript e Internet può esistere senza di esso? JavaScript è una di quelle che molti danno per scontato. Tutti lo usano. Leggi di più . La maggior parte delle pagine, inclusa questa, la usano per presentare contenuti, gestire l'interattività e controllare con precisione l'esperienza dell'utente.
Alcuni anni fa, JavaScript ha fatto il salto dal browser al server con Node.js Che cos'è Node.JS e Perché dovrei preoccuparmi? [Sviluppo Web] Che cos'è Node.JS e Perché dovrei preoccuparmi? [Sviluppo Web] JavaScript è solo un linguaggio di programmazione lato client che viene eseguito nel browser, giusto? Non più. Node.js è un modo per eseguire JavaScript sul server; ma è molto di più. Se ... Leggi di più
Permetteva agli sviluppatori di creare applicazioni server e la funzionalità di back-end dei siti web con il familiare linguaggio di programmazione JavaScript. Ciò che lo ha reso davvero speciale, però, è stato il gestore dei pacchetti NPM. Simile a apt-get What Is An Ubuntu PPA e perché dovrei usarne uno? [La tecnologia ha spiegato] Cos'è un PPA di Ubuntu e perché dovrei usarne uno? [Tecnologia spiegata] Leggi di più o OneGet Windows Ottiene un Gestore pacchetti - Scarica il software centralmente tramite OneGet Windows Ottiene un Gestore pacchetti - Scarica il software centralmente tramite OneGet Microsoft aggiunge un'altra funzionalità Linux a Windows. La gestione dei pacchetti può seriamente aumentare la produttività, aumentare la sicurezza e, in definitiva, farti risparmiare un sacco di problemi. Vi mostriamo come funzionerà. Ulteriori informazioni, consentiva ai programmatori di installare estensioni e librerie tramite una comoda interfaccia a riga di comando. Gli sviluppatori lo adoravano.
Il grande patriarca del mondo di Node era Joyent, un'importante società di hosting di cloud con sede a San Francisco. Sebbene Node fosse open source, dipendeva da Joyent per il supporto finanziario, e molti iniziarono a pensare che Joyent avesse assunto il ruolo di 'Benevolent Dictator For Life' e aveva esercitato un controllo eccessivo sulla direzione del progetto Node.
Alcuni sviluppatori principali, sentendo la necessità che Node abbia una direzione più indipendente, nodo biforcuto. Node Forward è nato.
Questo scisma è stato piuttosto traumatico per la comunità, ma si spera che la decisione di puntare su Node alla fine si tradurrà in un approccio più aperto e più democratico allo sviluppo di uno dei progetti software più significativi al mondo.
Puoi essere coinvolto, o seguire i loro progressi su Github.
The Ugly - SystemD
chiamata systemd controverso è un po 'come descrivere il burro fritto come "un po' malsano". La verità è che systemd ha quasi diviso la comunità Linux in due.
Ma cos'è? Bene, per prima cosa, parliamo un po 'di come funziona Linux. Fino a poco tempo fa, quando un computer su cui era in esecuzione Linux era avviato, per prima cosa lanciava un programma chiamato init. Questo funzionerebbe fino a quando il computer non sarebbe stato spento, ed è responsabile dell'avvio del computer e della gestione dei processi orfani.
Il problema è che Init non è poi così eccezionale. Principalmente perché è lento. Piace, veramente lento. Questo perché avvia attività in serie, o uno alla volta. Affinché una nuova attività venga avviata, prima deve attendere la fine dell'ultima. Anche se questa potrebbe essere stata una funzione utile molto tempo fa, quando i computer erano cronicamente sottodimensionati, non è poi così utile nel 2015, dove la maggior parte dei computer sono dei colossi multi-core con gigabyte di RAM.
Quindi, systemd è stato creato. Il problema era che systemd ha rotto un'importante filosofia di progettazione su come dovrebbero funzionare gli strumenti di sistema per Linux. Invece di fare una cosa, e farlo bene, systemd ha fatto molte cose oltre ad avviare il computer. Sembra innocuo, ma nel mondo Linux è il più vicino possibile grande tradimento.
A questo punto, il mondo di Linux si è diviso in due campi. Uno che voleva disperatamente abbandonare il demone di init vecchio, lento e obsoleto. L'altro era fortemente contrario a systemd in linea di principio e non voleva che fosse vicino alle loro macchine Linux.
Le cose si sono riscaldate.
I blogger hanno criticato quale sarebbe stata la "fine di Linux" come lo sapevano. Linus Torvalds, creatore del kernel Linux, arrivò al punto di vietare a uno sviluppatore di sistemi systemd di lavorare sul kernel Linux, sebbene in seguito dichiarò di non avere "pensieri forti" sulla controversia sistematica.
Con lo scisma nel mondo Linux che guadagna colonne nella stampa tecnologica, i griefer e i troll hanno preso nota e hanno iniziato a causare caos in una serie di importanti mailing list e forum di Linux.
Mentre sempre più distro annunciavano che sarebbero passati a systemd, un gruppo di programmatori frustrati prese in mano la situazione e lanciò un fork di Debian chiamato system-free chiamato Devuan.
Le rotazioni e i derivati delle distribuzioni esistenti non sono esattamente rari, ma da tutti i racconti Deuvan ha raccolto una notevole quantità di vapore. Gli sviluppatori stanno lavorando duramente per una futura versione pubblica del sistema operativo, mentre gli organizzatori hanno già iniziato a sollecitare donazioni.
Sebbene il fork di Debian porterà senza dubbio a una scelta più ampia quando si tratta di come viene utilizzato Linux, e potrebbe un giorno diventare un attore importante nel panorama di Linux, è importante ricordare da dove proviene. Un luogo tumultuoso e acrimonioso che ha quasi messo in ginocchio uno dei progetti open source più culturalmente e commercialmente significativi.
Una forchetta troppo lontana
La controversia sistematica mostra che la biforcazione può essere indicativa di uno scisma o di un conflitto profondo all'interno di un progetto. Ma allo stesso tempo, può anche essere un grido di indipendenza da un sostenitore autoritario e autoritario. In effetti, il biforcarsi a volte può garantire che il software libero rimanga tale. Gratuito.
Cosa pensi? Mi piacerebbe sentire i tuoi pensieri. Lasciami un commento qui sotto e chattiamo.
Crediti fotografici: Silver Forks (Nana B Agyei), Forking with HyperBob (HyperBob), img_7809 (Michael Hicks), Joyent dà il benvenuto a node.js knockout (Nina Baidley), messaggi di stato systemd (Kai Hendry)
Scopri di più su: Open Source.