Hai notato che il codice sorgente
di tutte le librerie di
cui abbiamo discusso è apertamente disponibile al pubblico?
Il software disponibile pubblicamente è spesso noto
come software open source o OSS.
In particolare, il software open-source è un software
il cui creatore rilascia il codice
sorgente sotto una licenza open-source,
garantendo così a chiunque il diritto di accedere
, modificare e distribuire il software.
L' iniziativa open source,
OSI definisce software open-source
come software che può essere liberamente accessibile
, utilizzato, modificato e condiviso in
forma modificata o non modificata da chiunque.
È possibile trovare i criteri completi per il
software open source sul sito Web OSI.
Le prime tre clausole sono il nucleo dell'OSS.
Cioè, che il software è disponibile gratuitamente,
il codice sorgente è pubblico e accessibile,
e che questa licenza qualunque essa
sia, deve essere rispettata da tutte le opere derivate.
Lo sviluppo open-source è stato sperimentato dallo
scienziato informatico Eric Raymond nel
suo saggio di riferimento del 1997,
«La Cattedrale e il Bazaar».
E 'ben considerato come una tecnica di sviluppo software, in
quanto riduce i costi di consumo
e aumenta la flessibilità del codice, la
sicurezza e la responsabilità
a causa della sua natura di origine della comunità,
e c'è buon senso di business per
utilizzare lo strumento software open-source.
Secondo uno studio del 2008,
OSS risparmia ai consumatori 60 miliardi di dollari all'anno
e molto software open source consente alle aziende di basarsi
su di esso riducendo i costi dell'infrastruttura.
Esistono diversi tipi di licenze open source.
Il campo può essere un po 'confuso da
capire soprattutto per le aziende.
Ad esempio, la licenza Apache consente il collegamento del codice di
licenza Apache con codice di licenza diverso.
In qualità di sviluppatore, è possibile trovare
una tale funzionalità di licenza utile se si desidera includere
una libreria a sorgente chiusa o una
libreria proprietaria nel progetto open-source.
D' altra parte, sotto la GNU Public License,
o GPL, si possono collegare solo altre librerie compatibili con GPL.
Questa caratteristica di licenza potrebbe essere desiderabile se
il progetto Open Source è
composto da codice completamente open-source,
e si desidera assicurarsi che questo sia sempre il caso,
indipendentemente da chi in futuro utilizza il codice.
La GPL è probabilmente la
licenza software open source più conosciuta e forse comune,
e in parte a causa della sua natura virale,
che richiede che tutti i link
al software siano anche concessi in licenza GPL.
Una delle mie licenze preferite da
usare e una licenza che amo vedere
l'uso e le librerie che uso è chiamata licenza BSD.
È stato originariamente messo insieme
dalla University of California,
Berkeley per il rilascio del sistema operativo BSD.
Ecco un esempio della licenza BSD.
Come possiamo vedere, è molto breve e, al punto,
mantiene solo una minima quantità di legalese.
Le questioni relative alle caratteristiche delle
licenze libere e open-source
diventano rapidamente politiche e filosofiche.
La scelta della licenza
dipende spesso dal progetto che hai in mente.
Se sei interessato a capire
le licenze open source in modo più dettagliato,
ti incoraggio a consultare
l'articolo di Wikipedia sull'argomento,
e lo avremo collegato nel corso.
Per il resto delle lezioni in questo modulo,
useremo due progetti il progetto tesseract,
che ora è gestito da Google e dai binding Pytesseract,
che ci permette di utilizzare
il sistema tesseract da Python.
Se guardiamo il repository del codice sorgente per tesseract,
vediamo che la sua licenza è
rilasciata sotto la licenza Apache.
Ciò significa che possiamo usare tesseract in qualsiasi codice che
produciamo e mantenerlo in licenza, tuttavia,
vogliamo, anche commercialmente concesso in licenza
per esempio a meno che non cambiamo tesseract stesso.
Tuttavia, quando guardiamo la licenza Pytesseract,
vediamo che viene rilasciata sotto la GPL.
Ciò significa importando questa libreria nel tuo codice.
Se lo condividiamo con altri,
dobbiamo anche concedere in licenza il nostro codice sotto la GPL.
Questa è la clausola virale,
e a seconda del progetto su cui stavo lavorando,
avrei dovuto considerarlo molto attentamente.
Tuttavia, per questo corso non è un problema dal momento che
voglio davvero condividerlo con te e gli altri in generale.
Quindi, cerchiamo di scavare,
e cominciamo a usare tesseract.