Librerie software nelle app e licenze: un po' di chiarimenti

Riccardo Tribbia | 6 minuti di lettura

Foto di Riccardo Tribbia

Scritto da Riccardo Tribbia

CEO - perché qualcuno doveva pur farlo - ma nello spirito è più uno skipper: dato che la vita lo tiene lontano dal mare si barcamena tra le tecnologie più interessanti alla ricerca dei tesori nascosti

Il lato legale delle app

Ci interessa parlare delle librerie software perché nelle app ce ne sono sempre, a volte più a volte meno; in realtà in ogni progetto software ci sono librerie di terze parti (dette anche “dipendenze software”) ed è quindi importante tener presente l’aspetto legale di utilizzare il codice scritto da altri all’interno del proprio prodotto software.


Quando si parla di librerie software queste possono essere Open Source o Closed Source: nel primo caso significa che il team di sviluppo ha a disposizione il codice sorgente “aperto”, nel senso di completamente visibile da chiunque, nel secondo invece ha a disposizione dei file compilati senza l’accesso completo al codice.


Le librerie Closed Source sono solitamente quelle proprietarie che vengono acquistate in licenza da chi le ha create e le manutiene: possono essere librerie relative alla navigazione su mappe oppure per lo streaming video o l’editing avanzato di foto e video; solitamente nelle app che realizziamo sono presenti queste librerie solo se con il cliente si valuta più conveniente acquistare una funzionalità piuttosto che svilupparla in-house (è la sempre attuale valutazione cosiddetta make-or-buy).


Le librerie Open Source sono invece sempre presenti nei progetti, anche perché le aziende proprietarie dei sistemi operativi Apple e Google rilasciano librerie di questo genere per varie funzionalità. Vediamo quindi alcuni aspetti relativamente ai limiti di utilizzo di queste dipendenze software.


Questo articolo è un riepilogo sintetico di informazioni presenti in questi link:
1. Guida Github per la licenza di un software open-source: Licensing a repository - GitHub Docs
2. Sito apposito creato da Github per la scelta della licenza: Choose an open source license
3. Il lato legale dell’OpenSource: The Legal Side of Open Source


licenze app



Un software OpenSource non è obbligato ad avere una licenza, ma senza licenza si applicano le normative standard relative al copyright ovvero che il proprietario del codice (chi l’ha scritto o l’azienda di cui fa parte chi l’ha scritto) detiene tutti i diritti e nessuno può riutilizzarlo, distribuirlo o crearne dei derivati: è quindi consultabile ma non utilizzabile. Nel caso dei progetti OpenSource se qualcuno contribuisce a modificare, correggere, evolvere il codice anch’egli ne diventa comproprietario, a meno di evidenze specifiche appunto nelle licenze.


Il software OpenSource è una circostanza inusuale per la legislazione “standard” perché l’autore si aspetta che altri utilizzino, modifichino e condividano il suo lavoro; ma siccome la normativa standard identifica i diritti di default al creatore del contenuto è necessario che chi lo utilizza sia in possesso dell’effettiva licenza che glielo permette.


Le licenze OpenSource più usate sono MIT, Apache 2.0 e GPLv3 ma ci sono alcune opzioni che si possono scegliere.


Utilizzare licenze non standard, personalizzate o modificate fa da barriera all’utilizzo del proprio software OpenSource.


Sono considerate genericamente licenze permissive: MIT, Apache 2.0, ISC, e BSD


Sono considerate fortementecopyleft” (ovvero richiedono che il software che le utilizza deve anch’esso utilizzare la stessa licenza): GPLv2, GPLv3, and AGPLv3. Sono utilizzate in progetti software che come obiettivo hanno quello di essere utilizzati in altri progetti OpenSource e non ClosedSource o commerciali se non con l’obbligo di rendere disponibile il codice sorgente.


licenze app



Quindi quali librerie software con quali licenze utilizziamo nelle app per i nostri clienti?

Realizzando app (e nello specifico soprattutto Connective App) per smartphone e tablet su richiesta di clienti - e quindi a scopo commerciale - facciamo attenzione a scegliere librerie software che abbiano licenze adeguate e quindi più “permissive”, ovvero MIT, Apache 2.0, ISC e BSD.


Al tempo stesso è necessario che le nostre app abbiano una sezione in cui sono riportate tutte le licenze delle librerie Open Source in esse contenute in modo tale da dare a Cesare quel che è di Cesare, o meglio applicare quanto richiesto dalle licenze di suddette librerie.



Di seguito riportiamo i dettagli principali delle licenze più utilizzate nel mondo Open Source, di cui fanno parte anche molti componenti che utilizziamo nelle Connective App (fonte: Licenses) :


GNU GPLv3

Il permesso ad utilizzare codice protetto da questa licenza “fortemente copyleft” è condizionato dal rendere completamente disponibile il codice sorgente del risultato e renderlo disponibile con la medesima licenza. I diritti di copyright e la licenza della libreria devono essere preservati all’interno del software che lo utilizza.


Questa licenza impedisce di utilizzare la relativa libreria Open Source nei nostri progetti in quanto commerciali e Closed Source.


Leggi la licenza GNU General Public License v3.0 per intero »


Mozilla Public License 2.0

Il permesso ad utilizzare codice protetto da questa licenza “debolmente copyleft” è condizionato dal rendere disponibile il codice sorgente della libreria utilizzata all’interno del risultato insieme alle eventuali modifiche e rendere nuovamente disponibile il suddetto con la medesima licenza. I diritti di copyright e la licenza della libreria devono essere preservati all’interno del software che lo utilizza. Ci sono comunque delle condizioni per cui un lavoro più ampio può usare questo codice sorgente utilizzando diversi termini e senza distribuire il codice sorgente.


Questa licenza permette di utilizzare il relativo codice Open Source nei progetti commerciali ma richiede un po' di attenzione e lavoro per rendere disponibile la libreria stessa modificata con la medesima licenza.


Leggi la licenza Mozilla Public License 2.0 per intero »


Apache License 2.0

Questa è una licenza cosiddetta “permissiva” per cui le condizioni d’utilizzo principali richiedono che vengano mantenuti nel progetto la nota al copyright e la sua licenza. I progetti che utilizzano questo codice possono essere rilasciati con tutt’altra licenza e termini e senza per forza essere costretti a rendere disponibile il codice sorgente del progetto completo.


Questa licenza è ottima per l’uso nei progetti commerciali, tenendo conto di avere una sezione specifica in cui si esprime l’uso, il copyright, la licenza e le eventuali modifiche fatte alla stessa.


Leggi la licenza Apache License 2.0 per intero »


MIT License

È una breve e semplice licenza permissiva le cui uniche condizioni di utilizzo sono il mantenimento nel progetto della nota al copyright e la licenza. I progetti che utilizzano questo codice possono essere rilasciati con tutt’altra licenza e termini e senza per forza essere costretti a rendere disponibile il codice sorgente del progetto completo.


🤩 Questa licenza è perfetta per l’uso nei progetti commerciali, tenendo conto di avere una sezione specifica in cui si esprime l’uso, il copyright e la licenza della stessa.


Leggi la licenza MIT License per intero »


Curiosità 🧐: Su Github è possibile anche filtrare i repository per tipo di licenza: Licensing a repository - GitHub Docs




IL NOSTRO KNOW-HOW

iPhone outline iPhone outline

CONNECTIVE APP:
IL FUTURO NEL TUO SMARTPHONE

Mettere a disposizione dei tuoi clienti un'app che accompagna i tuoi prodotti permette di renderne più fruibili le informazioni, migliora l'esperienza d'uso e la percezione del digitale dei prodotti stessi, permettendoti di essere presente in nuovi segmenti di mercato e superare i tuoi competitor Affidati a noi, siamo specializzati nel realizzare app per aziende come la tua!

Scopri come

METODO O INCANTESIMI?

Le app e le connessioni spesso sembra che
funzionino per magia.

In realtà dietro c'è un metodo di lavoro e un processo ingegneristico chiaro e ben definito.

IL NOSTRO METODO

Iscriviti ad APProfondiamo

Rimani aggiornato sulle novità del mondo
delle Connective App e di Tiknil, ti garantiamo:
  • Solamente 1 email al mese, non vogliamo appesantire ulteriormente la tua casella email
  • Contenuti creati da noi, nessuna 🤖 Intelligenza Artificiale potrà batterci 💪🏼
  • Valore, esperienza e un pizzico di magia

Contattaci

Compila il form sottostante per entrare in contatto con noi!
Ciao, mi chiamo
di

e vorrei fare due chiacchiere con voi riguardo a

La mia mail è

Vi lascio qualche informazione in più: