dijous, 28 de juny de 2007

Taula rodona amb l'Eduard Pelegrí

Ahir per la tarda, la Càtedra de Programari Lliure de la UPC em va convidar a assistir a una taula rodona amb l'Eduard Pelegrí Llopart, enginyer de Sun i responsable, en part, de projectes com Apache, Jakarta-Tomcat, JSP o, més recentment, Glassfish. El meu interès era doble, atès que hi anava com a representant d'UPCnet però també com a membre de l'equip de la DFwiki.

L'acte es va celebrar a l'edifici Vèrtex. El convidat va començar fent una introducció explicant com s'havia adaptat Sun a la nova filosofia Open Source. Això va servir per trencar el gel i va aconseguir que la major part dels assistents s'animés a participar. No pretenc fer una crònica de tot el que va passar (perquè corro el risc que em tornin a sortir sis articles llargs), per tant intentaré resumir aquelles coses que vaig trobar més curioses o remarcables.

Un dels temes que més estona es va estar discutint va ser la coordinació entre els membres de l'equip. Quan es desenvolupa programari propietari (o privatiu), normalment existeix una documentació interna (documentació tècnica) i una externa (manuals d'usuari...). En el programari lliure es podria dir que gairebé tota la documentació és externa. Com a dificultat afegida, molt sovint en un mateix projecte hi solen participar diverses empreses d'arreu del món.

Algunes de les solucions de Sun em varen sorprendre molt. En un primer moment, la comunicació bàsica es realitza amb mailing lists i fòrums. Això permet una comunicació fluïda malgrat les diferències horàries entre països (no substitueix del tot les reunions, però pot evitar-ne algunes). A més, cada projecte disposa d'una wiki per tal de realitzar documentacions.

Fins aquí la organització no varia gaire de la major part dels projectes de programari lliure. Ara bé, Pelegrí va destacar la importància dels blocs. En un moment donat, Sun va animar als seus treballadors a obrir blocs per a què pengessis tot allò que els semblés interessant (fins i tot temes personals).

Com ens va explicar, un post d'un bloc sol ser autoexplicatiu, o com a mínim sol tenir els enllaços necessaris per entendre'l. Això fa que un article sobre un projecte pugui servir directament com a document de referència. A més, als comentaris és possible prendre decisions i discutir sobre els pròxims moviments a seguir.

Realment era una solució molt original i alhora molt útil. Pelegrí va explicar que un post d'un bloc serveix com a carta de presentació d'un projecte de cara a un possible client. Un article tècnic pot servir com a base per un document de direcció sempre i quan s'enllacin. I, lògicament, un article és també una eina de promoció.

Pelegri va parlar de la importància de treballar "out firewall" (o sigui, de cara a Internet). Gràcies a que tant els blocs com els fòrums solen disposar de sistemes de sindicació RSS (o ATOM), és possible usar serveis gratuïts com Google Reader o Yahoo Pipes per tal d'estar al dia de l'estat del projecte. Igualment, els repositoris de binaris i fonts (ja siguin Subversion, CVS...) disposen d'eines també gratuïtes d'administració que només són accessibles si les dades són públiques.

Un altre dels aspectes que també va destacar, fou la necessitat de tenir un cap pensant en els projectes. Per molt obert que estigui un programa, això no significa que les decisions es prenguin de forma anàrquica. És molt important que els projectes disposin d'arquitectures que permetin l'ampliació per diversos punts alhora. Igualment, les contribucions externes s'han de controlar o, com a mínim, els desenvolupador han de demostrar que estan interessats en el projecte a llarg termini.

Una de les claus de l'èxit del programari lliure és la capacitat de treure versions de prova molt dinàmicament. A Sun existeixen diverses freqüències de publicació de betas. La primera d'elles és la "nightly": es compila cada pocs dies, passa els mínims testos i està destinada als desenvolupadors interns del projecte. La segona s'anomena "weekly": es compila cada més temps, passa més controls i està destinat tant a personal intern com a usuaris extern que vulgui provar les noves funcionalitats abans que ningú. Finalment, les versions estables tarden molt més a sortir però ja han passat totes les proves que en garanteixen la qualitat.

A mode de conclusió, només diré que ha sigut curiós conèixer l'altre costat del programari lliure. La DFwiki (el nostre petit projecte Open Source) és un mòdul desenvolupat per gent externa (Dfwiki Labs) que intenta entrar al projecte mare (en aquest cas Moodle). Per primer cop, he pogut parlar amb algú que representa l'altre cara de la moneda. Algú d'un (més d'un) projecte gran que cada dia ha de vetllar perquè tot vagi a bon port.

ACTUALITZACIÓ: la càtedra de programari lliure m'ha passat un enllaç a la seva pròpia crònica.

1 comentari:

Ludo (Marc Alier) ha dit...

I curiosament la forma de treballar dels "grans" és molt semblant a la de DFWikilabs: Forums, blogs, wikis de documentacio, CVS i releases setmanals que en pigui va fent...