# Codi obert

El codi obert, de vegades referit com a "codi font obert" (open source en anglès) és un enfocament per al disseny, el desenvolupament i la distribució que ofereix un accés pràctic al codi font del producte (béns i coneixements). Alguns consideren el codi obert com un dels diversos enfocaments possibles per al disseny, mentre que altres el consideren un element estratègic de les seves operacions. Abans que el terme codi obert fos àmpliament adoptat, els desenvolupadors i els productors utilitzaren diferents frases per a descriure el concepte fins que el terme codi obert guanyà popularitat amb el creixement d'Internet, proporcionant accés a diversos models de producció, canals de comunicació, i comunitats virtuals.
El model d'operativitat i presa de decisions del codi obert, permet l'entrada simultània de diferents programes, enfocaments i prioritats, i difereix dels més tancats, els models centralitzats de desenvolupament. Aquests principis i pràctiques s'apliquen usualment al desenvolupament de programari, fent públic el codi font per permetre'n el seu estudi i desenvolupament. El resultat d'aquesta col·laboració entre desenvolupadors pot ser distribuïda com programari lliure.
Cal diferenciar els productes com el programari lliure, que donen als usuaris la llibertat de millorar-lo facilitant l'accés al codi font i permetent-ne la seva modificació i lliure distribució, dels productes que simplement faciliten accés al codi font però no permeten la seva modificació o distribució. Per tant, no tots els productes que ofereixin el codi font són necessàriament productes lliures, ja que tot i ser transparents, no se'n permet la modificació o distribució.
El Codi Obert és una forma revolucionària de dissenyar, desenvolupar i distribuir qualsevol cosa. Si bé l'origen històric d'aquest terme està relacionat amb el desenvolupament de programari, actualment s'apliquen en altres àmbits d'activitat, sentim parlar així de maquinari lliure (com és la targeta d'E/S Arduino), la biotecnologia, la cultura (cultura lliure), la política (democràcia directa) propiciant una revolució vertiginosa cap a un model de societat oberta.
La idea que hi ha darrere del codi obert és ben senzilla: quan els desenvolupadors poden llegir, modificar i redistribuir el codi d'un producte o servei, aquest evoluciona, es desenvolupa i millora. Els usuaris ho adapten a les seves necessitats, corregeixen els seus errors a una velocitat molt més alta que en el cas de desenvolupament en models tancats o centralitzats, donant com a resultat la producció de productes més democràtics i de més qualitat.
Al compartir el codi, el producte resultant tendeix a ésser de qualitat superior al producte propietari (creat amb un model centralitzat i tancat), és una visió merament tècnica. D'altra banda, els productes lliures, que permeten l'edició i lliure distribució del seu codi funcionen sota un ideal: els productes propietaris, al no poder compartir el codi font, són antiètics atès que prohibir compartir entre éssers humans va en contra les lleis naturals.

## Origen i història del moviment

El terme open source va començar a utilitzar-se el 1998 per alguns usuaris de la comunitat del programari lliure, tractant de fer-lo servir com a substitució del nom original que – en anglès – resulta ambigu (free software).
En anglès, free software pot voler dir coses diferents. Per una banda, permet pensar en "programari que no s'ha de pagar", i s'adapta de forma igualment vàlida al significat que realment se li vol donar (programari que té certes llibertats). Tal com expliquen els creadors del terme, la FSF, no és el mateix free speech (llibertat d'expressió) que free beer (cervesa gratuïta).
L'ambigüitat en el cas del terme en anglès free software es dona en el fet que pot voler dir programari gratuït o bé programari lliure. No obstant això, el sentit que se li vol donar a free software és el de programari lliure, i no l'altre. Així doncs, el nou terme, codi obert, no va resultar apropiat perquè eliminava la idea de llibertat.
Ara, quan es parla de codi obert i de programari lliure, s'està fent referència a dues coses diferents: El codi obert permet que qualsevol pugui mirar el codi, però no fa necessàriament que el codi segueixi essent obert en futures redistribucions, propietat que si que té el programari lliure.
La 'etiqueta' open source va néixer en una reunió celebrada en 1998 en Palo Alto, Califòrnia, per John 'maddog' Hall, Larry Augustin, Eric S. Raymond, Bruce Perens i altres participants del moviment Free Software. Raymond és potser la persona a qui més s'identifica amb el moviment; és encara i es reconeix a si mateix com el principal teòric, però no reclama el lideratge en cap sentit exclusiu.
Aquesta trobada es va produir com reacció a la decisió de Netscape de revelar el codi font del Navigator. Aquest anunci va encendre la metxa i va crear l'entorn precís perquè les empreses de programari escoltessin el que aquest grup de 'il·luminats' venia predicant feia alguns anys: la superioritat d'un procés de desenvolupament obert sobre el model tradicional.
El moviment del programari de codi obert és una ramificació del moviment del programari lliure que defensa el programari de codi obert com una etiqueta alternativa del programari lliure. En l'actualitat open source és utilitzat per a definir un moviment nou de programari (l'Open Source Initiative (OSI)).
En contrast amb el moviment del programari lliure, el qual sempre ha estat dirigit essencialment per una sola figura (Richard Stallman), el moviment del programari de codi obert està conduït per una espècie de consell d'ancians que inclou a Raymond i a altres cofundadors que són notables personalitats com: Linus Torvalds, Larry Wall i Guido van Rossum.

### Cronologia

* 22 gener 1998: Netscape anuncia que 'alliberarà' el codi font del Navigator.
* 3 febrer 1998: En la reunió de Palo Alto s'encunya el terme 'Open Source' i durant la setmana següent Bruce Perens and Eric Steven Raymond llancen opensource.org/.
* 31 març 1998: El codi del Navigator ja està disponible: en unes hores, millores del programa omplen la xarxa.
* 7 maig 1998: Corel Computer Corporation anuncia el Netwinder, un ordinador econòmic que corre sota Linux.
* 11 maig 1998: Corel anuncia els seus plans d'adaptar WordPerfect i la resta dels seus programes d'ofimàtica a Linux.
* 28 maig 1998: Sun Microsystems i Adaptec s'uneixen a Linux International (les primeres grans empreses venedores d'equips i sistemes operatius en fer-ho).
* 13-17 juliol 1998: Oracle i Informix anuncien que connectaran les seves bases de dades a Linux.
* 10 agost 1998: Sun Microsystems ofereix Solaris a usuaris individuals i a institucions educatives o sense ànim de lucre.
* 1 novembre 1998: Es publiquen els Halloween Documents: plans de Microsoft contra Linux i altres projectes open source.
* 16 desembre 1998: IDG anuncia que la quota de mercat del Linux es va incrementar un 212% el 1998.
* 1-5 març 1999: LinuxWorld: primera exposició sobre Linux. HP, IBM, SAP inicien el començament del suport de les firmes comercials.
* 15 març 1999: Apple llança Darwin sota llicència open source.
productes
* 4 juny 1999: Microsoft afirma que Linux ven més que Windows 98 a les grans superfícies.
Entre 1998 i 2000 es va observar un gran creixement en la popularitat de Linux i de la formació de moltes empreses 'pro programari de codi obert'. El moviment també va capturar l'atenció de la principal indústria del programari, companyies consolidades com Sun Microsystems amb StarOffice, que és el seu paquet ofimàtic, i IBM amb OpenAFS, que és una implementació de codi obert del Sistema de Fitxers Distribuït d'Andrew.
La prehistòria de l'open source inclou la història completa de UNIX, dels programes gratuïts (freeware) d'Internet i la cultura furonera.

### Projectes de codi obert més importants

| Ranking | Projecte | Empresa líder | Valor de mercat |
| 1 | Linux | Red Hat | $16 billion |
| 2 | Git | GitHub | $2 billion |
| 3 | MySQL | Oracle | $1.87 billion |
| 4 | Node.js | NodeSource | ? |
| 5 | Docker | Docker | $1 billion |
| 6 | Hadoop | Cloudera | $3 billion |
| 7 | Elasticsearch | Elastic | $700 million |
| 8 | Spark | Databricks | $513 million |
| 9 | MongoDB | MongoDB | $1.57 billion |
| 10 | Selenium | Sauce Labs | $470 million |
El rang es basa en l'activitat relativa a projectes en discussions en línia, a GitHub, en l'activitat de cerca en motors de cerca i en la influència en el mercat laboral.

## Perquè el terme Open Source

Perquè utilitzar aquest terme, i per què no Free Software:
* La primera raó és que Free Software és un terme molt ambigu.
* La segona i més important és el màrqueting: es tracta d'introduir el model al món dels negocis. Encara que el producte sigui bo, està lligat a un passat terrible. Free Software li sona a l'home de negocis a estrident anticomercialisme. Els empresaris mai no comprarien Free Software, però sí el mateix producte, fet per la mateixa gent, amb les mateixes llicències, però amb l'etiqueta canviada a open source.
Els desenvolupaments tecnològics més radicals avui en dia, la Web i el sistema operatiu Linux, van ser desenvolupats a Europa sota el model open source, en el qual, la gent regala les seves creacions als altres perquè les usin, provin i desenvolupin. Però, encara que el moviment open source va sorgir originàriament com a col·laboració entre particulars, el comerç i la societat en general encara podem aprendre d'ell. En realitat, hi ha dues grans lliçons que hauríem d'aprendre del que la gent open source anomena «ètica furonera»:
* La primera lliçó és, naturalment, el concepte d'«obert»: el model «tancat» no ha estat el que ha generat les innovacions més importants en l'«economia de la informació». En la competència global, una revolució no està feta per una sola persona, sinó per una xarxa de rebels, i això necessita el model obert. Com a exemple podem considerar l'inconvenient de l'arquitectura tancada d'Apple davant el model obert dels PC d'IBM. O les telecomunicacions europees, que van aconseguir avantatge gràcies als estàndards oberts NMT/GSM.
* Una segona lliçó és la relació dels furoners amb la feina. Els furoners com Tim Berners-Lee (inventor del World Wide Web) i Torvalds expliquen que els de la seva classe aconsegueixen grans coses perquè s'apassionen per les coses que fan. Tenir un interès en la teva feina pot alliberar la teva creativitat i energia, infondre alegria i sentit a la vida, i permetre que desenvolupis el teu potencial com ser humà. A més de descartar la idea que la feina és el major deure en la vida, els furoners pretenen desenvolupar la tecnologia que els permeti un millor equilibri entre la feina i el lleure. Una de les qüestions més estranyes del 'progrés' tecnològic és el com ha fet que les nostres vides siguin més estressants. Per a molts de nosaltres, no solament es tracta que la nostra jornada laboral estigui plena de tasques quotidianes, sinó que la nostra vida privada ha adoptat també aquest model.
Sens dubte, no es refereixen al furoner com a criminal informàtic, sinó en el sentit originari de la paraula: una persona que li apassiona el coneixement, descobrir o aprendre noves coses i entendre el funcionament d'aquestes, i que vol compartir els seus resultats amb els altres. Els furoners d'internet i d'UNIX entenen molt bé el component tècnic del codi obert. És part de la seva forma de treballar: és com es realitza la feina en Internet.
La relació dels furoners amb el codi obert es troba per escrit a La Catedral i el Basar. Coneixen el fiable que són els engranatges d'Internet comparant-los amb els seus equivalents comercials. Reemplaçar el TCP/IP, DNS, Perl, Apatxe, etc., pel programari comercial seria, si més no, suïcida.
Molts furoners coneixen i comparteixen les bondats del codi obert e però es mostren poc inclinats a utilitzar-lo perquè creuen que poden perdre la seva feina remunerada. Tanmateix, hi ha suficients raons per pensar que aquest temor és infundat.
El codi obert no és només el medi pel qual uns quants furoners tenen l'oportunitat de lluitar contra un monopoli. Ofereix la possibilitat a les petites empreses o a individus de col·laborar per aconseguir un producte que mai no podrien somiar en obtenir ells sols. També és la fórmula ideal per corregir errors d'un programa i introduir ràpidament els canvis que sol·licita l'usuari. El model del codi obert contribueix a un increment en la seguretat d'un sistema: el seu codi font és públic i exposat a milions d'ulls. Això vol dir que els problemes es resoldran en lloc d'amagar-se fins que la persona equivocada els descobreixi.

## Llicència de Codi Obert

Una «llicència de codi obert»' és una llicència de programari, amb dret d'autor, que segueix els principis del moviment Open Source.
Més formalment, una llicència és considerada de cobi obert quan ha sigut aprovada per l'Open Source Initiative (OSI), segons els criteris de la «Definició del codi obert». El programari de domini públic (això significa sense llicència), compleix tots aquests criteris sempre que tot el codi font estigui disponible, i fos reconegut per la OSI i se li permeti usar la marca d'aquesta.
El programari en si no és de codi obert, les llicències dels programaris són les que poden ser reconegudes pel moviment com vàlides. La llicència GPL (de la Free Software Foundation) compleix amb les condicions per a anomenar-se codi obert.

### Definició de codi obert

L'Open Source Initiative utilitza la «definició d'Open Source» per a determinar si una llicència de programari pot o no considerar-se programari com tal. La definició es va basar en les 'Directrius de programari lliure de Debian, va ser escrita i adaptada primerament per Bruce Perens. És similar però no igual a la definició de llicència de programari lliure.
El moviment del codi obert, sota la Definició Open Source, té un decàleg amb deu condicions que ha de complir un codi per a poder anomenar-se 'Open Source':
* Lliure redistribució: el programari ha de poder ser regalat o venut lliurement.
* Codi font: ha d'estar inclòs o obtenir-se lliurement.
* Permetre modificacions o treballs derivats: la redistribució de modificacions ha d'estar permesa.
* Integritat del codi font de l'autor: les llicències poden requerir que les modificacions siguin redistribuïdes només com a pedaços deixant el codi original sense canvis.
* No restringir el seu ús a cap persona o grup: ningú pot deixar-se fora.
* No restringir el seu ús a cap activitat, línia de negoci o àrea d'iniciativa: els usuaris comercials no poden ser exclosos.
* Distribució de la llicència: han d'aplicar-se els mateixos drets a tot el qui rebi el programa i la llicència ha de romandre intacta al distribuir o modificar el programari.
* La llicència no ha de ser específica d'un producte: el programa no pot llicenciar-se solament com a part d'una distribució major.
* La llicència no ha de restringir altre programari: la llicència no pot obligar que algun altre programari que sigui distribuït amb el programari obert hagi també ser de codi obert.
* La llicència ha de ser tecnològicament neutral: no ha de requerir-se l'acceptació de la llicència per mitjà d'un accés per clic de ratolí o d'altra forma específica del mitjà de suport del programari.
Alguns dintre del moviment de programari de codi obert han declarat que els principis del codi obert poden aplicar-se en àrees diferents en el programari d'ordinadors, com protocols de comunicacions digitals, formats d'emmagatzematge de dades i maquinari obert. Hi ha declaracions més audaces que estenen les idees del codi obert a camps completament diferents, tals com la propagació del coneixement general.

## Característiques i avantatges

Open Source no només fa referència al lliure accés al codi font. Les condicions de distribució d'un programa open source han de complir una sèrie de criteris. La intenció de la 'Definició d'open source' és establir que aquests criteris continguin l'essència del que els programadars volen que signifiqui: que assegurin que els programes distribuïts amb 'llicència open source' estaran disponibles per a la seva contínua revisió i millora perquè arribin a nivells de fiabilitat que no pugui aconseguir cap programa comercial 'tancat'.
Per tant, un programari Open Source va unit una sèrie de característiques i avantatges:
* Flexibilitat: Si el codi font està disponible, els desenvolupadors poden aprendre i modificar els programes al seu antull, adaptant-lo per a fer tasques específiques. A més, es produïx un flux constant d'idees que millora la qualitat dels programes.
* Fiabilitat i seguretat: Amb diversos programadors alhora mirant-se el mateix treball, els errors es detecten i corregeixen abans, pel que el producte resultant és més fiable i eficaç que el comercial.
* Rapidesa en el desenvolupament: Les actualitzacions i ajustaments es realitzen a través d'una comunicació constant via internet. Menors temps de desenvolupament a causa de l'àmplia disponibilitat d'eines i llibreries.
* Relació amb l'usuari: El programador s'acosta molt més a les necessitat real del seu client, i pot crear un producte específic per a ell.
* Lliure És de lliure distribució, qualsevol persona pot regalar-lo, vendre'l o prestar-lo.
* Combat efectivament la pirateria del programari.
Llicències de programari :
| Drets cedits | Domini públic | FOSS no protectiu Permissiu (Codi obert) | FOSS protectiu Copyleft (Programari lliure) | Freeware Shareware Freemium | De propietat | Secret comercial |
| Drets d'autor | No | Sí | Sí | Sí | Sí | Sí |
| Dret d'ús | Sí | Sí | Sí | Sí | Sí | No |
| Dret de Visualització | Sí | Sí | Sí | Sí | Sí | SÍ |
| Dret de còpia | Sí | Sí | Sí | Sovint | No | No |
| Dret a modificar | Sí | Sí | Sí | No | No | No |
| Dret a distribuir | Sí | Sí, sota la mateixa llicència | Sí, sota la mateixa llicència | Sovint | No | No |
| Dret a subllicenciar | Sí | Sí | No | No | No | No |
| Filosofia | A disposició del públic. Exonerat de drets d'autor. | Similar i posterior al copyleft. Mínimes restriccions per a l'usuari | Accés al codi i més. Metodologia en el desenvolupament i entrega al públic. | Propòsits publicitaris o comercials | Propòsits comercials | Diferents motius |
| Exemples | SQLite, ImageJ | Apache web server, ToyBox | Linux kernel, GIMP | Irfanview, Winamp | Windows, Half-Life 2 | Server-side World of Warcraft |
| Drets d'autor | | | | | | |

## Referències

* 1 2 «Open Source Studie Schweiz 2015 publiziert: Mehr Unabhängigkeit und Sicherheit dank Open Source» (en alemany estàndard suís). Arxivat de l'original el 2017-03-13. [Consulta: 23 desembre 2018].
* ↑ «The Meteoric Rise Of Open Source And Why Investors Should Care» (en alemany). Forbes [Consulta: 10 octubre 2017].
* ↑ «Tracking the explosive growth of open-source software» (en alemany). TechCrunch [Consulta: 10 octubre 2017].
* ↑ «programari de propietat a Termcat».

## Vegeu també

* Coneixement lliure
* Accés obert
* Domini públic
* Dades obertes