Microsoft: mostrar el codi no és la solució

Al Pais pinten la mesura de Microsoft com quelcom extraordinari:

“El código fuente es el ADN del sistema operativo” dijo [*]. “Más no podemos ofrecer”.

La inesperada y extraordinaria iniciativa de Microsoft fue recibida con cara de póker por la Comisión Europea, que, cansada de las dilaciones del gigante de Bill Gates, le dio en Navidades un ultimátum.

[*] Brad Smith, vicepresident de Microsoft i màxim responsable del seu departament jurídic.

Cal no deixar-se entabanar amb el llenguatge en forma d’eslògan que amollen alguns mitjans. Fer els programes lliures, aquesta sí seria una mesura extraordinària i una solució definitiva als problemes que presenten els programes de Microsoft pels desenvolupadors de programari –i usuaris, l’objectiu i raó de ser de tot plegat.

De les 4 llibertats del programari lliure, obrir el codi només cobreix mitja llibertat 1, perquè no deixen pas modificar-lo.

El que ofereix Microsoft no és gaire cosa més que una mena de visita a un hipotètic museu d’aliens a la pel·lícula Men in Black. Es pot mirar i no tocar –com a molts museus– i en sortir cal rebre un cop d’aquell flaix per tal d’oblidar-ho tot.

Cal oblidar-ho perquè ho pot acabar al jutjat i ben escurat, si és informàtic i s’usa qualque part del codi vist per un programa propi. El codi de Microsoft està protegit per patents i mal anomenats «drets de propietat intel·lectual». Ningú el pot usar sense permís, i no l’han donat pas.

Fet i fet, no mirar el codi de programes amb llicència privativa sol ser un avís que reben els informàtics que col·laboren amb projectes de programari lliure. Si algú usa una idea que ha vist en un programa no lliure, és molt possible que altres companys del projecte no se n’adonin fins que arribi la denuncia, que pot significar la retirada del programa i sancions econòmiques importants.

Però hi ha un greu problema tècnic de fons: només mostrar el codi no serveix de gaire:

  • No es pot saber si el codi es correspon exactament als programes que usen –anava a dir «als nostres programes que usem», però no és exacte: les llicències privatives diuen que no és nostre, només ens ho deixen usar si arxivem el sentit crític i acceptem tot el que ens diuen, per això jo no el puc usar ;).
  • Si no es pot saber si el codi es correspon al que s’usa realment, no serveix per què els desenvolupadors que no són de Microsoft treballin en igualtat de condicions que Microsoft.

A un altre apunt d’aquest blog [1] miro d’explicar perquè en algunes circumstàncies –que inclouen el cas del Windows– no es pot saber si el programa que s’usa té exactament el codi que ens han deixat veure.

Per a explicar-ho curt, caldria poder dir «vull el Windows en codi font i ja el convertiré jo en executables al meu ordinador». ÿs el que es fa amb el programari lliure a l’hora de voler estar segur que s’usa exactament el mateix que diu el codi. Microsoft no es distribueix el Windows en forma de codi font, així que no es pot fer la única cosa possible per estar segur de què fan els programes del Windows instal·lat al PC.

L’operació «convertir codi en executable» se’n diu compilar i alguns detractors del programari lliure ho veuen com una pega: «a voltes s’ha de compilar, quin enrenou». Cal dir que no és obligatori, car el 99% dels programes arriben en compilat i sempre en codi font –cosa que permet compilar si es vol. Cal que sigui així perquè és una garantia bàsica. Criticar-la és tant sospitós com criticar la democràcia perquè comporta la molèstia de vigilar què fan els polítics i després votar.

Què pot passar

Potser hi ha qui pensa que tot plegat és extrem i que aquestes dues coses no passen, o si passen no són gaire significatives:

  1. Que el codi no té res que amagar i que per això mostraran el mateix que s’usa. Que a la pràctica no es fa servir per a coses tant poc ètiques com ara carregar-se la competència.
  2. Que a la pràctica no hi ha plets importants per mor d’usar codi que s’ha vist.

La història sovint serveix per aprendre què ha passat i no repetir-ho:

Per saber si el punt 1 és important podem recordar el que va fer Microsoft per carregar-se el DR-DOS quan MS-DOS era el producte amb competència:

Though DR-DOS was almost 100% binary compatible with applications written for MS-DOS, Microsoft nevertheless expended considerable effort in attempts to break compatibility. In one example, they inserted code into the beta version of Windows 3.1 to return a non-fatal error message if it detected a non-Microsoft DOS. With the detection code disabled (or if the user canceled the error message), Windows ran perfectly under DR-DOS. [1] This code was removed from final release of Windows 3.1 and all subsequent versions, however. (see also Embrace, extend and extinguish for other Microsoft tactics.)

Entrada DR-DOS a la Wikipedia. Consulteu la plana per si ha canviat el fragment copiat dalt.

Per saber si el punt 2 és una situació important per la indústria, podem recordar perquè Microsoft va treure precipitadament el MS-DOS 6.22. Ho trobareu a l’entrada MS-DOS de la Wikipedia.

Ja posats, cal recordar que aquests fets històrics serveixen per a explicar la situació actual, tant monocolor, del programari. No és casualitat que les dues entrades citades de la Wikipedia apuntin cap a la història «Embrace and Extinguish», doncs hem presenciat massa Extinguish els darrers anys.

Fer-lo lliure és la solució

Si es pretén que tots els desenvolupadors de programari tenguin les mateixes oportunitats, és indispensable també deixar modificar el codi, copiar-lo i distribuir-ne les modificacions. Cal que no estigui protegit per patents i limitar els drets de còpia.

ÿs molt simple: a Microsoft continuen marcant el ritme. Dicten com ha de ser el programari que funciona damunt els seus Windows. Ningú no es pot sortir del que ells decideixen, perquè ningú tret d’ells ho pot modificar.

El programari lliure ha donat lloc a moltes distribucions del GNU/Linux. Si algú desenvolupa un programa molt lligat al GNU/Linux, en té tot el control. En cas que demà una o vàries distribucions incorporin qualque cosa que perjudica seriosament el programa, podrà fer un pedaç que solucioni el problema. Serà possible per quelcom tant bàsic com la possibilitat de modificar el GNU/Linux.

ÿs veritat que també es pot modificar el programa per adequar-lo a les noves característiques d’una versió de sistema operatiu. Però no sempre és fàcil ni rendible. Molts pics és més fàcil fer un pedaç pel sistema –fins i tot tècnicament consistent [2].

De fet, això és el que fins ara han fet els desenvolupadors que fan programes pel Windows: modificar els programes a mida que han sortit nous Windows. Però això no fa res més que constatar que no estan en igualtat de condicions: han de seguir el ritme que Microsoft marca. Tampoc ha estat gaire rendible per a molts. El resultat és que no han pogut suportar el cost de refer tantes coses cada temporada i han deixat de desenvolupar programari per passar a ser revenedors i intal·ladors. Ha significat un Extinguish que no és gens mal de comprovar: la llista de programes cada cop és més curta, la globalització més gran, i avui gairebé tothom usa els mateixos programes. Només els més grans poden seguir el ritme.

Està bé que es preguin mesures legals perquè no torni a passar un nou «Embrace and Extinguish». No està bé que mostrar el codi s’accepti com a solució, perquè no és consistent.


[1] Ho trobareu a partir del paràgraf que comença amb «Microsoft va dir que mostraria el codi del Windows a alguns clients privilegiats».
[2] Jo no he fet programes per Windows i no tenc gaire experiències, però he vist pel que han passat alguns col·legues. En Ricardo Galli m’explicava quants problemes va tenir, per mor de nyaps d’una nova versió del Windows que feien fallar el seu programa.
He vist l’article d’El Pais a la llista de socis de l’ISOC-CAT, i apuntava a una plana del lloc amposta.org.

Entrades relacionades

1 Comentari

  1. A Barrapunto deien que no es lliberava el codi sino les APIs. No se quina diferencia hi ha, però suposo que no és el mateix.

Deixa un comentari

Aquest lloc utilitza Akismet per reduir el correu brossa. Aprendre com la informació del vostre comentari és processada