C'è qualche app open source per contatti/telefono Android?
Questo è quello che direi a qualcuno che non ha familiarità con il concetto e sta solo cercando la sostanza, non i dettagli. Open Source non è la stessa cosa di software a costo zero (gratuito). Piuttosto, è l'idea che puoi aprire il software per vedere cosa c'è dentro, manipolarlo e renderlo tuo. È aperto a voi, e questo implica molte altre cose che lo rendono interessante e importante.
Prima di tutto, prendiamo la terminologia (di alto livello, perdonatemi se sorvolo sui dettagli per amore della semplicità): Gli ingegneri del software scrivono qualcosa chiamato codice sorgente e lo convertono in un eseguibile. Il codice sorgente sono le istruzioni leggibili dall'uomo e l'eseguibile è la versione del programma che il computer può eseguire. Il software tradizionale fornisce solo l'eseguibile, ma non il codice sorgente. Infatti, la maggior parte delle aziende considerava il loro codice sorgente il loro segreto, e chiaramente qualcosa per cui avevano speso molti soldi. Se vi dessero il codice sorgente, potreste fare la vostra versione del loro software gratuitamente.
Open Source è un meccanismo di licenza che vi garantisce certi diritti sul codice sorgente. Open Source significa che state rendendo la fonte (design, codice, ingredienti, ecc.) aperta affinché altri possano vederla, condividerla e migliorarla. Entrano in gioco molti dettagli: A seconda della specifica licenza open source, il codice può venire con certi obblighi che si applicano quando si condivide il codice con altri. Ma ad un alto livello i seguenti diritti sono più rilevanti per la maggior parte:
- Puoi vedere il codice sorgente che è stato usato per creare il programma.
- Puoi condividere il codice con altre persone in modo che anche loro possano vederlo.
- Puoi usare il codice sorgente e modificarlo, o combinarlo con il tuo codice sorgente per fare qualcosa di nuovo, e puoi condividere anche quello con altre persone.
Questi diritti cambiano fondamentalmente l'idea che il codice sorgente sia un segreto. Immaginate se invece di una ricetta segreta, ne avete una condivisibile che può migliorare ogni volta che qualcuno si offre di migliorarla. Immaginate se poteste attingere a persone che hanno competenze che voi non avete, e poteste prendere i loro piccoli contributi che rendono questo codice migliore. Varrebbe la pena di condividere il codice in modo che migliori ad un ritmo più veloce di quanto potreste fare voi da soli.
Si può applicare il termine ad altri campi. Immaginate un ristorante che pubblica gli ingredienti e le istruzioni per i suoi piatti tipici -- e vi danno il permesso di fare questi piatti a casa vostra. Questa è una forma di open source. Nota: il ristorante può ancora farvi pagare un pasto, infatti state pagando per l'esperienza, i camerieri, i loro ingredienti effettivi e il tempo per preparare il piatto. Ma stanno condividendo la miscela di erbe e spezie in modo che non sia un segreto; puoi vederla e capire perché è così buona. Potrebbero anche permetterti di condividere le tue variazioni dei loro piatti sul loro sito web - in modo che tu possa renderli tuoi.
Considera un'analogia musicale: Un musicista compone degli spartiti e una band li suona. Viene registrato in uno studio con un mucchio di microfoni, preamplificatori, condensatori, impostazioni di eq ed effetti. Il risultato è un CD con la musica. Normalmente compri il CD e ti godi la musica. Non puoi vedere gli spartiti, o nessuna delle impostazioni ingegneristiche che danno al CD il suo suono unico. Ma cosa succederebbe se tu potessi avere gli spartiti? E le impostazioni dello studio? Potreste ricreare la musica da soli (se aveste uno studio). La maggior parte di noi non ha uno studio musicale professionale, ma ha un computer. Quindi, con tutto il codice sorgente del software, potremmo fare del software altrettanto buono o migliore di quanto possano fare molti negozi professionali.
Le implicazioni dello schema di licenze permissive sono profonde. Ha cambiato il mondo come lo conosciamo. Internet funziona in gran parte (ma non esclusivamente) sulla base di software Open Source. Perché? Perché nessuna azienda ha la capacità o l'incentivo a creare più di quello che le serve per il suo uso immediato. Abbiamo bisogno di software che è più complicato di quanto qualsiasi azienda possa creare o sostenere. L'Open Source è l'unico modo per scalare l'innovazione in modo economicamente sostenibile.
Appendice: Un aspetto correlato al modello Open Source è che implica un invito a partecipare al co-sviluppo di qualcosa. Questo non è un termine esplicito nella licenza Open Source, ma è abbastanza comune nei progetti Open Source. Così, qualcosa come Wikipedia è in qualche modo analogo all'Open Source nel senso che invita molte persone a contribuire a qualcosa che è condiviso da tutti.
Molti progetti partecipativi online sono stati ispirati da questo modello -- e ora sentirete parlare di open innovation, open government, e altre iniziative come questa. IMO il modo migliore per capire questo è considerare cosa significa innovazione chiusa (è l'innovazione che risulta da un piccolo gruppo di persone che lavorano su un problema -- al contrario di invitare molti ad aiutare).
Articoli simili
- Qualche strumento open source per la progettazione di Mock up per applicazioni mobili?
- Qual è il miglior progetto Android open source per un principiante che ha imparato Android ma non ha mai sviluppato un'app?
- Qual è il miglior servizio di infrastruttura VoIP, API o soluzione open source da usare per un'app VoIP mobile?
- Dove posso trovare un tema open source per Android?