Copyleft: idealisme pragmàtic
per Richard StallmanTota decisió que pren una persona és resultat dels seus valors i objectius. La gent pot tenir objectius i valors molt diferents: la fama, els diners, l'amor, la supervivència, la diversió i la llibertat només són alguns dels objectius que una bona persona pot tenir. Quan l'objectiu és una qüestió de principis, ho anomenem idealisme.
La feina que faig pel programari lliure està motivada per un objectiu idealista: difondre la llibertat i la cooperació. Vull promoure la difusió del programari lliure, substituint el programari privatiu que prohibeix la cooperació, i millorar d'aquesta manera la nostra societat.
Aquesta és la raó fonamental per la qual la Llicència Pública General de GNU (GPL GNU) està escrita com a una llicència copyleft. Tot el codi afegit als programes protegits per la GPL ha de ser programari lliure, fins i tot si s'inclou en un fitxer separat. Faig que el meu codi estigui disponible per fer-lo servir en programari lliure, i no en programari privatiu, amb la idea d'animar altres programadors que facin el mateix. Entenc que, ja que els desenvolupadors de programari privatiu fan servir el copyright per impedir que el compartim, els que cooperem podem fer servir el copyright per donar als altres usuaris que cooperen un avantatge: que puguin fer servir el nostre codi.
No tothom que fa servir la Llicència Pública General de GNU té aquest objectiu. Fa molts anys, a un amic meu li van demanar que tornés a publicar amb copyleft un programa les condicions del qual no s'ajustaven al copyleft, i va respondre més o menys així:
"De vegades treballo en programari lliure i de vegades en programari privatiu, però, quan treballo en programari privatiu, espero que em paguin."
Estava disposat a compartir la seva feina amb una comunitat que compartís programari, però no veia cap raó per donar un cop de mà a una empresa fent productes que quedarien fora de l'abast de la nostra comunitat. El seu objectiu era diferent del meu, però va decidir que la Llicència Pública General de GNU també era útil per al seu objectiu.
Si voleu aconseguir alguna cosa en aquest món, no n'hi ha prou amb l'idealisme: cal triar un mètode que serveixi per arribar a l'objectiu. Dit d'una altra manera, s'ha de ser pragmàtic. És pragmàtica la Llicència GPL? Fem un cop d'ull als seus resultats.
Considerem el GNU C++. Per què tenim un compilador C++ lliure? Només perquè la Llicència GPL de GNU deia que havia de ser lliure. El GNU C++ va ser desenvolupat per un consorci industrial, MCC, a partir del compilador GNU C. Normalment MCC fa els seus productes tan privatius com pot. Però van fer la interfície del C++ com a programari lliure perquè la Llicència GPL de GNU deia que era l'única manera en què podia publicar-se. La interfície del C++ incloïa molts fitxers nous, però com que s'havien d'enllaçar amb el GCC, se'ls havia d'aplicar la Llicència GPL. Els avantatges per a la nostra comunitat són evidents.
Considerem el cas del GNU Objective C. Els de NeXT inicialment volien que aquesta interfície fos privativa i van proposar publicar-la com a fitxers .o perquè els usuaris poguessin enllaçar-la amb la resta del GCC, pensant que així es podrien saltar els requisits de la Llicència GPL. Però el nostre advocat va dir que això no complia els requisits legals i que no estava permès, de manera que van publicar la interfície Objective C com a programari lliure.
Aquests exemples van tenir lloc fa anys, però la Llicència GPL de GNU ens continua aportant més programari lliure.
Moltes biblioteques GNU estan protegides per la Llicència Pública General Reduïda de GNU (la LGPL), però no totes. Una biblioteca GNU que està protegida per la Llicència GPL ordinària del GNU és la Readline, que permet editar línies d'ordres. Una vegada vaig saber que hi havia un programa no lliure que estava dissenyat per fer servir la biblioteca Readline i li vaig dir al desenvolupador que això no estava permès. Hauria pogut eliminar del programa l'edició de línies d'ordres, però el que va fer va ser tornar-lo a publicar amb la Llicència GPL. Ara és programari lliure.
Els programadors que escriuen millores per al GCC (o l'Emacs, el Bash, el Linux o qualsevol programa protegit per la GPL) acostumen a treballar per a empreses o universitats. Quan el programador vol retornar les seves millores a la comunitat i veure el seu codi en la versió següent, el seu cap li pot dir: «Un moment, aquest codi és nostre! No el volem compartir; hem decidit convertir la teva versió millorada en un producte de programari privatiu.»
És aquí on la Llicència GPL del GNU ve al nostre rescat. El programador mostra al cap que aquest producte de programari privatiu infringiria el copyright, i el cap s'adona que només té dues opcions: publicar el nou codi com a programari lliure o no publicar-lo. Gairebé sempre permetrà que el programador faci el que tenia previst fer, i el codi s'incorporarà a la propera versió.
La Llicència GPL de GNU no és Mister Simpatia. Diu no a algunes de les coses que de vegades vol fer la gent. Hi ha usuaris que diuen que això és negatiu perquè la GPL «exclou» alguns desenvolupadors de programari privatiu que «cal incorporar a la comunitat del programari lliure».
Però no els estem excloent de la nostra comunitat: ells decideixen no entrar-hi. La seva decisió de fer programari privatiu és a la vegada la decisió de mantenir-se fora de la nostra comunitat. Formar part de la nostra comunitat vol dir cooperar amb nosaltres: no els podem «portar a la nostra comunitat» si no s'hi volen incorporar.
El que podem fer és oferir-los un al·licient per unir-s'hi. La Llicència GPL de GNU està dissenyada perquè el nostre programari disponible sigui un al·licient: «Si crees programari lliure, pots fer servir aquest codi.» És clar que no els convencerem tots, però sí uns quants.
El desenvolupament de programari privatiu no aporta cap contribució a la nostra comunitat, però els seus desenvolupadors sovint ens demanen un cop de mà. Els usuaris de programari lliure poden contribuir a l'autoestima dels desenvolupadors de programari lliure, mitjançant el reconeixement i la gratitud, però pot ser molt temptador que una empresa et digui: «Tu deixa que posem el teu paquet al nostre programa privatiu, i el teu programa el faran servir milers de persones!» La temptació pot ser poderosa, però a la llarga tots en sortim més ben parats si ens hi resistim.
La temptació i la pressió resulten més difícils de reconèixer si arriben d'una manera indirecta, a través d'organitzacions de programari lliure que han adoptat una política de fer costat al programari privatiu. L'X Consortium (i el seu successor, l'Open Group) en són un exemple: finançats per empreses que feien programari privatiu, fa una dècada que volen convèncer els programadors que no facin servir el copyleft. Quan l'Open Group va intentar convertir l'X11R6.4 en programari no lliure, els que ens vam resistir a aquella pressió vam estar orgullosos d'haver-ho fet.
El setembre de 1998, uns mesos després que l'X11R6.4 es publiqués sota condicions de distribució no lliures, l'Open Group va canviar de parer i el va tornar a publicar amb la mateixa llicència de programari lliure (no ajustada al copyleft) que es va fer servir per al X11R6.3. Gràcies, Open Group, però aquest canvi de parer no invalida les conclusions que traiem del fet que fos possible afegir-hi les restriccions.
Des del punt de vista pragmàtic, pensar en objectius més grans a llarg termini reforçarà la voluntat de resistir aquesta pressió. Si us centreu en la llibertat i la comunitat que podeu construir si us manteniu ferms, trobareu la força per fer-ho. «Defenseu alguna cosa o us ensorrareu per no-res.»
I si els cínics ridiculitzen la llibertat, la comunitat… si els «realistes implacables» diuen que el benefici econòmic és l'únic ideal… senzillament ignoreu-los i continueu fent servir el copyleft.
Aquest assaig s'ha publicat al llibre Free Software, Free Society: The Selected Essays of Richard M. Stallman.