English [en]   català [ca]   Deutsch [de]   français [fr]   日本語 [ja]   русский [ru]  

Meet the GNU contributors in person at the GNU Hackers' Meeting!

The 8th GNU Hackers' Meeting takes place in Munich, Germany from 15–17 August 2014. It spans three days, and comprises talks about new GNU programs, status of the GNU system and news from the free software community.

Register now to secure your place.

Aquesta pàgina és la traducció d'una pàgina original en anglès.

Guia ràpida de la GPLv3

per Brett Smith

[Aquest article està igualment disponible en els formats PDF i reStructuredText.]

Després d'un any i mig de consulta pública, milers de comentaris i quatre esborranys, el 29 de juny de 2007 es va publicar finalment la versió 3 de la Llicència Pública General de GNU (GPLv3). Encara que hi ha hagut molt debat sobre aquesta llicència des de l'aparició del primer esborrany, poca gent ha parlat dels beneficis que proporciona als desenvolupadors. Hem publicat aquesta guia per omplir aquest buit. Començarem amb una breu exposició sobre el programari lliure, el copyleft i els objectius de la GPL. Després repassarem els canvis més importants de la llicència per veure com avança cap a aquests objectius i com beneficia els desenvolupadors.

Els fonaments de la GPL

Ningú no hauria de veure's limitat pel programari que utilitza. Hi ha quatre llibertats que tot usuari hauria de tenir:

  • La llibertat d'utilitzar el programari per a qualsevol propòsit,
  • La llibertat de modificar el programa per adaptar-lo a les seves necessitats,
  • La llibertat de compartir el programa amb els seus amics i veïns, i
  • La llibertat de compartir les millores que hi aporti.

Quan un programa ofereix als usuaris totes aquestes llibertats, el considerem programari lliure.

Els desenvolupadors que escriuen programes poden publicar-los sota els termes de la Llicència Pública General de GNU (GNU GPL). Si ho fan, el seu programari és lliure i ho continuarà sent, independentment de qui després el modifiqui o distribueixi. D'això en diem copyleft: el programa té copyright, però en comptes d'utilitzar el copyright per limitar als usuaris com fan els programes propietaris, l'utilitzem per assegurar-nos que tots els usuaris tindran aquestes llibertats.

Hem posat al dia la GPL per impedir que el copyleft sigui minat per canvis legals o tecnològics. L'última versió protegeix els usuaris contra tres amenaces recents:

  • La tivoització: algunes empreses han creat diferents tipus de dispositius que funcionen amb programari sota la llicència GPL, i després han manipulat el dispositiu de manera que ells poden canviar el programari que el fa funcionar, però els usuaris no. Si un dispositiu pot executar un programari arbitràriament, cal considerar-lo com un ordinador per a ús general, i el seu propietari hauria de poder controlar el que fa. Quan un dispositiu impedeix ser controlat, diem que és el resultat d'una tivoització.
  • Les lleis que prohibeixen el programari lliure: certes lleis, com la Digital Millennium Copyright Act als Estats Units o la Copyright Directive de la Unió Europea, han convertit en delicte el fet d'escriure o distribuir programes que poden saltar-se les restriccions establertes per la DRM (Digital Restrictions Management; vegeu més avall). Aquestes lleis no haurien d'interferir amb els drets que us confereix la GPL.
  • Acords de patents discriminatoris: Microsoft ha començat recentment a dir que no denunciaria als usuaris de programari lliure per infraccions de patent, sempre i quan obtinguin el programa d'un distribuïdor que està pagant a Microsoft per aquest privilegi. Darrerament, Microsoft està intentant cobrar drets d'autor per l'ús de programari lliure, fet que interfereix amb la llibertat dels usuaris. Cap empresa hauria de poder fer això.

La versió 3 té a més diverses millores que fan la llicència més fàcil d'entendre i d'utilitzar. Malgrat tots aquests canvis, la GPLv3 no és una llicència radicalment nova; és més aviat una evolució de la versió precedent. Encara que bona part del text hagi canviat, molts d'aquests canvis simplement aclareixen el que ja deia la GPLv2. Tenint en compte això, vegem ara els principals canvis de la GPLv3, i parlem sobre com milloren la llicència per als usuaris i per als desenvolupadors.

Neutralitzar les lleis que prohibeixen el programari lliure, però sense prohibir la DRM

Probablement coneixeu la Digital Restrictions Management (DRM) dels DVDs i d'altres dispositius multimèdia. Probablement també coneixeu les lleis que han convertit en il·legal escriure eines per saltar-se aquestes restriccions, com la Digital Millennium Copyright Act als Estats Units i la Copyright Directive de la Unió Europea. Ningú no hauria de poder impedir-vos escriure el codi que vulgueu, i la GPLv3 protegeix aquest dret.

Sempre és possible utilitzar codi sota la llicència GPL per escriure programes que implementin la DRM. No obstant, si algú ho fa amb codi sota la GPLv3, la secció 3 de la llicència estipula que el sistema no podrà ser considerat com una mesura de "protecció" efectiva. Això vol dir que, si trenqueu les restriccions de la DRM, sereu lliures de distribuir el programa que les trenqui i no podreu ser sancionats per lleis com la DMCA o similars.

Com sempre, la GNU GPL no posa traves al que fa la gent amb el programari; només impedeix que alguns posin restriccions a altres.

Protecció del dret a trastejar

La tivoització és una perillosa temptativa de retallar la llibertat dels usuaris: el dret a modificar el vostre programa no significa res si cap dels vostres ordinadors us ho deixa fer. La GPLv3 impedeix la tivoització requerint al distribuïdor que us faciliti totes les informacions i dades necessàries per instal·lar versions modificades del programari sobre el dispositiu. Això pot ser tan simple com un conjunt d'instruccions, o pot incloure dades especials com les claus criptogràfiques o informació sobre com esquivar un test d'integritat del maquinari. Depèn de com s'hagi dissenyat el maquinari; però sigui quina sigui la informació que necessiteu, heu de poder obtenir-la.

Aquesta exigència té un abast limitat. Els distribuïdors tenen encara permís per utilitzar claus criptogràfiques per a qualsevol propòsit, i només se'ls requerirà subministrar una clau si la necessiteu per modificar programari sota la GPL instal·lat al dispositiu que us van donar. El mateix Projecte GNU utilitza GnuPG per comprovar la integritat de tots els paquets de programari al seu servidor FTP, i mesures com aquesta són beneficioses per als usuaris. La GPLv3 no impedeix a la gent utilitzar criptografia, ni volíem que ho fes. Només impedeix a la gent privar-vos dels drets que la llicència us dona, ja sigui amb lleis de patents, amb noves tecnologies o amb qualsevol altre mitjà.

Una protecció més forta contra l'amenaça de les patents

En els disset anys que han passat des que es va publicar la GPLv2, el panorama de les patents de programari ha canviat considerablement, i les llicències de programari lliure han desenvolupat noves estratègies per fer-hi front. La GPLv3 també reflecteix aquests canvis. Quan algú difongui un programa cobert per la GPLv3 després d'haver-lo creat o modificat, haurà de proporcionar als destinataris les llicències de patent necessàries per poder exercir els drets que els confereix la GPLv3. A més, si el beneficiari d'una llicència intenta utilitzar una demanda d'infracció de patent per impedir que un altre usuari exerceixi els seus drets, la seva llicència quedarà revocada.

El que això significa per als usuaris i els desenvolupadors és que podran treballar amb programes coberts per la GPLv3 sense haver-se de preocupar de si un col·laborador desesperat els intentarà demandar més endavant per infracció de patent. Amb aquests canvis, la GPLv3 atorga als seus usuaris més defenses contra agressions legals per temes de patents que qualsevol altra llicència de programari lliure.

Aclariments sobre la compatibilitat entre llicències

Quan trobàveu algun codi i volíeu incorporar-lo a un projecte sota la llicència GPL, la GPLv2 deia que la llicència de l'altre codi no podia tenir restriccions que no fossin ja presents a la GPLv2. Quan no en tenia, dèiem que la llicència era compatible amb la GPL.

No obstant, algunes llicències establien requisits que no eren realment restrictius, perquè eren molt fàcils de complir. Per exemple, algunes llicències diuen que no donen permís per utilitzar certes marques. No és realment una restricció afegida: si aquesta clàusula no hi fos, tampoc no tindríem permís per utilitzar la marca. Sempre hem dit que aquestes llicències eren compatibles amb la GPLv2.

Ara, la GPLv3 dóna explícitament permís a qualsevol per utilitzar codi que té requisits d'aquest tipus. Aquests nous termes i condicions haurien d'ajudar a aclarir certes incomprensions sobre quines llicències són compatibles amb la GPL, sobre per què ho són i sobre el que es pot fer amb codi compatible amb la GPL.

Noves llicències compatibles

A més d'aclarir les regles sobre les llicències que ja eren compatibles amb la GPL, la nova GPLv3 és ara compatible amb algunes llicències que abans eren incompatibles. La Llicència Apache 2.0 n'és un bon exemple. Sota aquesta llicència hi ha disponibles molts programes lliures de gran qualitat, amb fortes comunitats creades al seu voltant. Esperem que aquests canvis a la GPLv3 fomentaran la cooperació dins de la comunitat del programari lliure. El següent diagrama il·lustra algunes de les relacions usuals de compatibilitat entre les diferents llicències de programari lliure:

Diagrama sobre les relacions de compatibilitat entre les diferents
llicències de programari lliure. Per a més detalls, vegeu la pàgina amb la
llista de llicències de la FSF.

Les fletxes que apunten d'una llicència a una altra indiquen que la primera llicència és compatible amb la segona. Això és veritat fins i tot si hem de seguir diverses fletxes per arribar a una llicència; per exemple, la llicència ISC és compatible amb la GPLv3. La GPLv2 és compatible amb la GPLv3 si el programa permet escollir «qualsevol versió posterior» de la GPL, que és el cas de la majoria dels programes publicats sota aquesta llicència. Aquest diagrama no és exhaustiu (a la nostra pàgina sobre llicències trobareu una llista més extensa de llicències compatibles amb la GPLv2 i la GPLv3), però il·lustra clarament que les compatibilitats de la GPLv3 i la GPLv2 són gairebé iguals.

També s'ha tingut en compte la compatibilitat a la versió 3 de la Llicència Affero GPL. La llicència Affero GPL original es va dissenyar per assegurar que tots els usuaris d'una aplicació web poguessin accedir al seu codi font. La versió 3 de la Affero GPL té un objectiu més ampli: és aplicable a tot el programari interactiu sobre xarxes, i per tant també serà adient per a programes com ara servidors de jocs. Les disposicions addicionals són també més flexibles, de manera que si algú utilitza codi font sota la AGPL en un programa sense interfície de xarxa, només haurà de proporcionar el codi font de la mateixa manera que a la GPL. Fent aquestes dues llicències compatibles, els desenvolupadors de programes interactius sobre xarxes podran reforçar el copyleft i continuar construint sobre un corpus madur de codi disponible sota llicència GPL.

Més maneres per als desenvolupadors de subministrar el codi font

Una de les exigències fonamentals de la GPL és que, quan es distribueix el codi compilat als usuaris, cal proporcionar també una manera d'obtenir el codi font. La GPLv2 indicava algunes maneres de fer-ho, i la GPLv3 les manté intactes amb alguns aclariments. La GPLv3 també ofereix algunes maneres noves de subministrar el codi font quan lliureu el codi compilat sobre una xarxa. Per exemple, si allotgeu codi compilat en un servidor web o FTP, podeu simplement donar als visitants instruccions sobre com obtenir el codi font en un altre servidor. Gràcies a aquesta nova opció, complir amb aquest requisit serà més fàcil per a molts petits distribuïdors que només introdueixen alguns canvis en grans corpus de codi font.

La nova llicència simplificarà la transmissió de codi compilat via BitTorrent. En primer lloc, la gent que només descarrega o puja el torrent està exempta de les exigències de la llicència sobre la transmissió del programari. A més, qui inicia el torrent pot proporcionar el codi font dient simplement als altres usuaris en quin servidor públic es troba disponible.

Aquestes noves opcions ajuden a mantenir la GPL dins dels estàndards de la comunitat sobre la disponibilitat del codi font, sense fer que sigui més difícil d'obtenir-lo per als usuaris.

Menys codi font a distribuir: noves excepcions per a les biblioteques de sistema

Les dues versions de la GPL requereixen que se subministri tot el codi font necessari per a la construcció del programari, incloent-hi les biblioteques de suport, els scripts de compilació... Posen també com a límit les biblioteques de sistema: no cal subministrar el codi font de certs elements centrals del sistema operatiu, com ara la biblioteca C.

La GPLv3 ha ajustat la definició de biblioteca de sistema per incloure-hi programes que poden no venir directament amb el sistema operatiu, però que s'espera que tinguin tots els usuaris del programari. Per exemple, ara s'hi inclouen també les biblioteques estàndards de llenguatges de programació usuals com Python i Ruby.

Aquesta nova definició aclareix també que es poden combinar programes GPL amb biblioteques de sistemes incompatibles amb la GPL, com ara la biblioteca C d'OpenSolaris, i distribuir-los després junts. Aquests canvis simplificaran la vida dels distribuïdors de programari lliure que volen proporcionar aquestes combinacions als seus usuaris.

Una llicència global

La GPLv2 parla molt de "distribució": quan compartiu el programa amb algú altre, l'esteu distribuint. La llicència no diu mai què s'entén per distribució, perquè el terme es va agafar de les lleis sobre copyright dels Estats Units. Esperàvem que els jutges trobarien la definició a les lleis. Tanmateix, més tard vàrem descobrir que les lleis de copyright d'altres països utilitzaven la mateixa paraula, però li donaven significats diferents. Per aquesta raó, un jutge de cert país podria interpretar la GPLv2 de una manera diferent a la d'un jutge dels Estats Units.

La GPLv3 utilitza un nou terme, "transmissió" (convey), i el defineix. "Transmissió" té el mateix sentit que volíem que tingués "distribució,", però com que ara aquest terme s'explica directament a la llicència, serà més fàcil a la gent de tot arreu entendre el que volem dir. Hi ha altres modificacions menors a la llicència que contribuiran també a que s'apliqui de manera consistent arreu del món.

Quan es violen les regles: un camí més planer cap al seu compliment

Sota la GPLv2, qualsevol forma de violació de la llicència comportava la pèrdua automàtica i permanent dels drets de l'infractor. L'única manera de recuperar-los era fer una petició al titular del copyright. Tot i que una forta defensa contra les violacions és valuosa, aquesta política podia causar molts maldecaps quan algú se saltava accidentalment les normes. Demanar a tots els titulars del copyright el restabliment formal de la llicència podia ser ardu i costós: una distribució GNU/Linux típica es basa en el treball de milers de persones.

La GPLv3 ofereix un indult per bona conducta: qui violi la llicència recuperarà els seus drets un cop reparada la falta, a no ser que un titular del copyright contacti amb ell abans de seixanta dies. Després de rebre la notificació, podrà recuperar plenament els seus drets si és la seva primera infracció i si la corregeix abans de trenta dies. Si no, pot intentar arreglar l'assumpte cas per cas amb els titulars del copyright que es van posar en contacte amb ell, i un cop fet quedaran restablerts els seus drets.

El compliment de la GPL sempre ha estat la primera prioritat del FSF Compliance Lab i altres grups que treballen per fer complir la llicència arreu del món. Aquestes modificacions pretenen que el respecte a la llicència continuï sent la primera prioritat i donen incentius per complir-la als que cometen infraccions.

L'última i la millor

Alguns d'aquests canvis segurament us semblaran menys importants que altres. És natural. Cada projecte és diferent, i espera coses diferents de la seva llicència. Però és probable que algunes d'aquestes millores us ajudin en la vostra feina.

En conjunt, totes aquestes millores signifiquen una cosa: hem fet una llicència copyleft millor. Protegeix més bé la llibertat dels usuaris i al mateix temps afavoreix encara més la cooperació a la comunitat del programari lliure. Però posar al dia la llicència només és una part de la feina: per tal que la gent obtingui els beneficis que ofereix, cal també que els desenvolupadors utilitzin la GPLv3 en els seus projectes. Publicant el programari sota la nova llicència, tothom qui hi tingui contacte (usuaris, altres desenvolupadors, distribuïdors o fins i tot advocats) se'n beneficiarà. Esperem que utilitzeu la GPLv3 en la propera versió del vostre programari.

Si voleu saber més sobre com migrar el vostre projecte cap a la GPLv3, el FSF Compliance Lab us assessorarà amb molt de gust. Al nostre lloc web podeu trobar instruccions bàsiques sobre l'ús de la llicència i una llista de les preguntes freqüents que la gent es formula. Si la vostra situació és més complicada, poseu-vos si us plau en contacte amb nosaltres i farem tot el possible per ajudar-vos en aquesta transició. Junts, podem ajudar a protegir la llibertat de tots els usuaris.

[Logotip de la FSF]“La nostra missió és preservar, protegir i promoure la llibertat d'utilitzar, estudiar, copiar, modificar i distribuir programari, i defensar els drets dels usuaris de programari lliure.”

La Free Software Foundation és la principal organització patrocinadora del Sistema Operatiu GNU. Doneu suport a GNU i la FSF comprant manuals i regals, unint-vos a la FSF com a membre associat, o fent una donació, ja sigui directament a la FSF o via Flattr.

Tornar a dalt