Benvinguts a un altre número de la Brave GNU World. Voldria demanar-vos disculpes per la no publicació de cap número el mes passat. Malauradament es van produir alguns problemes entre l'edició alemanya de la Linux-Magazin i la Brave GNU World després de què la revista retallés part del número 48 [5] ("Portàtils de Programari Lliure").
Aquesta situació va provocar sentiments no massa bons i la no publicació del número del mes passat, però després de discutir-ho intensament, això ja hauria de ser història i la situació no s'hauria de tornar a produir.
El primer article d'aquest mes és el projecte Skidbladnir [5], el nom del qual pot ser tan misteriós per alguns com la seva descripció. L'autor, en Lars Brand, el descriu com "una caixa d'eines amb informació i programes per a la Innovació Assistida per Ordinador".
És probable que el rerafons d'aquest projecte sigui desconegut però d'interès per a molts lectors i, ja que en Lars ha fet l'eforç de proveir-lo, no es pot menysprear.
La base científica d'Skidbladnir és coneguda com la "Teoria de Resolució de Problemes d'Inventiva", que en anglès s'abrevia com TIPS i en alemany i rus es coneix com a TRIZ. Aquesta teoria té el seu origen l'any 1946 amb el professor Altschuller, qui en aquell moment era un enginyer de patents a l'exèrcit.
Quan el professor Altschuller va enviar una carta a Stalin informant-lo sobre els antecedents de la seva teoria, va ser immediatament empresonat i enviat a un campament per motius sospitosos. Durant el seu empresonament va conèixer nombrosos professors universitaris de diferents àrees científiques, que el van ajudar tot combinant els coneixements de diferents disciplines.
Un cop alliberat del campament i novament considerat un dels indesitjables cap a finals dels anys 60 fins a mitjans dels anys 70, va començar a publicar els seus resultats com s novel·les de ciència ficció per tal d'aconseguir fons per al seu treball científic — vegeu G. S. Altow: "Der Hafen der steinernen Stürme" ("Port de pedregades"). (Comentari: vaig ser incapaç de trobar com es diu el llibre en anglès o fins i tot si mai ha estat traduït a l'anglès. Qualsevol ajuda és benvinguda).
La teoria TIPS es basa en el principi de què, independentment de la disciplina científica o de l'àrea industrial, els problemes abstractes i les seves solucions sovint es repeteixen. Quan s'analitzen unes 40.000 patents d'un èxit extraordinari, es va trobar que totes es basaven amb prou feines en uns 40 principis de solució.
Un altre principi bàsic d'aquesta teoria és que l'evolució dels sistemes tècnics segueix algunes tendències i que la l'essència de la innovació sovint requereix la influència de resultats científics d'una àrea diferent.
Això significa una abstracció de les estratègies de resolució de problemes; un exemple utilitzat sovint és: "Un cub massís d'acer d'1m de costat s'ha de moure dins una forat sense utilitzar grues, cordes o eines similars. Tampoc es pot tirar el cub al forat. Desenvolupeu 3 solucions adients en 10 minuts".
El projecte més conegut per resoldre aquest i d'altres problemes mitjançant la programació és probablement el TechOptimizer, el qual — com la resta d'aplicacions en aquest camp — és de propietat i molt car.
Ara l'objectiu de Skidbladnir és proveir aquesta funcionalitat com a Programari Lliure. A banda dels components d'instal·lació, el projecte consisteix en andax, que conté el principi bàsic per a resoldre contradiccions tècniques, sporadikus per la pluja d'idees obtingudes de la web i perplexus, en el que més de 250 efectes disponibles.
El projecte no està complet i no massa fàcil d'utilitzar encara. A més a més, la base de dades d'efectes no és tan gran com en Lars voldria — sobretot els efectes de xarxa, que permeten combinacions molt eficients, s'haurien d'ampliar.
A continuació hi ha un exemple molt simple d'això: 1. el material luminiscent converteix la llum ultravioleta en llum visible; 2. els fragments petits que s'obtenen al polir el metall impedeixen la luminiscència; 3. abans de fallar una part mòbil d'un motor, s'alliberen petits fragments de metall a l'oli. Tot combinant aquests tres fets s'arriba fàcilment a la idea de què si s'afegeix material luminiscent a l'oli, això permetrà determinar si cal substituir algunes parts de la maquinària abans de què fallin perquè la luminiscència de l'oli s'aturarà.
Les situacions reals sovint són força més complexes i requereixen una gran base de dades d'efectes, que cal recopilar a partir de la literatura tècnica, una tasca tediosa i laboriosa alhora.
Skidbladnir s'ha escrit en Perl, PHP i MySQL i s'ha publicat sota la GNU General Public License (GPL). Si el comparem amb els projectes de propietat, Skidbladnir pot tenir pocs efectes, però ja conté efectes de programari; possiblement com el primer del seu mateix tipus.
Qualsevol ajuda és benvinguda, sigui en la forma que sigui; sobretot calen els comentaris i suggeriments dels desenvolupadors i usuaris. També serien ben rebudes més dades sobre els efectes i l'accés a problemes reals.
En Lars està convençut que a mig o llarg termini el Programari Lliure tindrà un èxit extraordinari en aquesta àrea, ja que tant la teoria TIPS i el Programari Lliure es basen en la idea de preservar el coneixement i fer-lo accessible.
Posant a l'abast de tothom aquesta nova percepció i aquests mètodes sembla un projecte molt important, no gaire llunyà del d'una enciclopèdia, al qual val la pena contribuir.
Com a efecte secundari també redueix la barrera d'introducció al mercat d'aquesta àrea, ja que molts usuaris potencials no es poden permetre l'ús de solucions de propietat, així doncs pot ajudar a revitalitzar l'àrea tècnica.
Qualsevol que estigui interessat i la gent d'aquesta àrea s'hauria d'animar i fer-hi un cop d'ull. Trobareu més informació sobre el rerafons del projecte disponible a la pàgina web [7].
El segon projecte d'aquest número també està més orientat cap a la ciència, malgrat que no es limita només a aquest camp. Lush [8] és un llenguatge de programació orientat a objectes dirigit principalment als científics, investigador i enginyers que necessiten més aplicacions numèriques i gràfiques.
El disseny de Lush pretén combinar la força de tres visions de llenguatges de programació en un. De fet, Lush converteix tres llenguatges de programació en un. El primer és un llenguatge interpretat i dinàmic, de l'estil de LISP, amb un netejador de memòria i tipificació feble. El segon llenguatge és de tipus lèxic i compilat, utilitza la mateixa sintaxi que l'anterior però amb tipificació forta. I el tercer llenguatge és C, que es pot barrejar amb la sintaxi de Lush dins d'un programa o fins i tot en una sola funció.
Lush es va desenvolupar el 1987; originalment amb el nom d'SN com a llenguatge seqüencial per a la simulació de xarxes neuronals i s'ha convertit — al llarg del temps — en un llenguatge de programació complet amb compilador. Els principals actors d'aquest desenvolupament han estat Bell Labs (després "AT&T Labs"), a Holmdel, NJ, Estats Units, Neuristique S.A. a París, França i NEC Labs a Princeton, NJ, Estats Units.
Després d'utilitzar internament Lush/SN durant anys a AT&T per a la recerca i desenvolupament de projectes, les parts involucrades van arribar a un acord per utilitzar la GNU General Public License (GPL) i van oferir Lush amb llicència de Programari Lliure.
Avui en dia, en Yann LeCun manté el projecte — qui va respondre a les preguntes de la Brave GNU World — i en Leon Bottou de "NEC Labs America" a Princeton, qui ha rebut el suport d'un gran nombre de voluntaris d'arreu del món, com per exemple, en Fu Jie Hang, en Patrice Simard, en Patrick Haffner, en Yoshua Bengio, en Pascal Vincent, en Jean Bourrelly, en Xavier Drancourt o en Secil Ugurel, per anomenar-ne alguns. Més voluntaris sempre són benvinguts.
Tot i que es va desenvolupar principalment com una alternativa de Programari Lliure per a Matlab, orientat a científics, investigadors i estudiants, Lush ofereix un llenguatge complet de propòsit general. Gràcies a la seva implementació senzilla en C, Lush és una bona tria per a la programació seqüencial o per a la integració d'aplicacions amb funcionalitats distribuïdes en un entorn gràfic comfortable.
Aquesta integració també fa possible combinar les llibreries existents molt fàcilment, que és on Lush té connexions amb nombroses llibreries científiques, gràfiques i audiovisuals, com ara la GNU Scientific Library (GSL; vegeu el número 35 [9]), OpenGL/GLU/GLUT, ALSA, Video4Linux o la Intel Vision Library.
Si es compara el nivell de suport per a la GSL entre Python i Lush, Lush té molt bona pinta amb unes 4000 funcions suportades en comparació als pocs centenars que se suporten amb Python en aquest moment. La sintaxi és més clara que la de Perl i hauria de ser més fàcil d'aprendre que la d'Scheme. I si es compara la velocitat amb Octave o Matlab, és entre 15 i 300 cops més ràpid, depenent de la situació.
En principi, aquests avantatges fan que Lush sigui una alternativa interessant i que sense cap dubte cal tenir en compte per a fer-hi un cop d'ull. Fins i tot ja s'ha utilitzat Lush per a jocs, com el d'un simple aterratge lunar, del qual podreu trobar un exemple de pantalla a la pàgina de Lush.
Lush es va escriure en C i tradicionalment s'executa sobre GNU/Linux, Solaris, Irix i OpenBSD, tot i que des del febrer del 2003 hi ha disponible una versió per a Windows que s'executa sobre Cygwin.
Un dels problemes del projecte és que el disseny del compiladir té més de 10 anys i per tant té algunes limitacions un mica rígides i estranyes. Per tant, rescriure el compilador és a la llista de les tasques pendents.
En aquesta llista també hi ha la tasca d'afegir suport addicional per a d'altres llibreries, així com millorar el sistema de documentació. Afegir un mecanisme de plantilles a Lush també forma part dels plans a mig termini.
Addicionalment, també hi ha molt d'interés per a una versió que corri sobre Mac OS-X, per a la qual es busquen voluntaris. També seria molt útil per al projecte poder disposar d'un analitzador gramatical de capçaleres en C/C++ per a la inclusió automàgica a Lush.
Si viviu als Estats Units, probablement heu tingut indirectament un contacte amb Lush. Alguns dels caixers automàtics d'NCR utilitzen codi generat per Lush incrustat en processadors de tipus DSP per a llegir automàticament les quantitats dipositades mitjançant els checs. Un motor ultraveloç de lectura de checs escrit en Lush que s'utilitza en un 10% dels checs dipositats als Estats Units.
Com els lectors habituals de la Brave GNU World haurien de saber, la Free Software Foundation Europe és una entitat col·laboradora amb el projecte AGNULA [10], que pretén crear una distribució sencera de GNU/Linux amb Programari Lliure per als professionals de l'edició d'àudio.
Una altra entitat col·laboradora del projecte AGNULA és l'"Institut de Recherche et Coordination Acoustique/Musique" (IRCAM) — el centre de música del Centre Pompidou a París, França. Una de les aplicacions escrites per l'IRCAM és jMax [11], un entorn gràfic de desenvolupament per a aplicaions multimèdia interactives.
Les aplicacions d'àudio tradicionalment tenien el problema d'estar escrites per a maquinari específic i per tant depenia de cada plataforma. Arran del ràpid desenvolupament del maquinari, cada tres anys es rescriuen els programes per a les noves plataformes. Altrament, la música escrita per a aquests programes estava en perill de perdre's.
Aquesta situació va motivar el desenvolupament d'una solució de programari pura que no depengui d'una plataforma específica.
A més, el paradigma utilitzat a jMax permet crear tot combinant determinats elements bàsics com ara els generadors de freqüència, els filtres de senyal, efectes, mòduls d'entrada i sortida, sliders, DSP i amplificadors que munten els anomenats "pegats".
Aquests pegats integren els seus components de forma que es poden combinar en un nombre gairebé infinit de construccions complexes, que aconsegueixen generalment poder implementar qualsevol tipus de processament digital del senyal, efecte o sintetizador.
Una implementació força coneguda d'aquest paradigma entre els músics és el programari de propietat "Max". L'any 1995 jMax va emprendre la tasca de crear una versió de Max independent de la plataforma. Cap a mitjans de del 1999 es va publicar com a Programari Lliure sota la GNU General Public License (GPL).
L'equip de jMax d'IRCAM que treballa en el projecte està format principalment en François Déchelle i en Patrice Tisserand. En François, qui va respondre les preguntes estàndard de la Brave GNU World, veu els principals avantatges de jMax en la seva independència de la plataforma — s'executa sobre GNU/Linux, Mac OS X i Windows — i la major flexibilitat si es compara amb d'altres implementacions d'aquest paradigma, com ara Max o PD.
A més a més, un dels avantatges clau de jMax és que està format per dos components. El component central és un servidor, un motor en temps real escrit en C, que fa tota la feina. Això permet executar el motor amb un entorn gràfic (GUI), escriure GUI alternatius o integrar el motor en un entorn de connectors (LADSPA).
Normalment aquest servidor és controla a través d'un client escrit en Java. Es va triar Java per assegurar que el client es podria executar en el major número de plataformes amb la quantitat mínima possible de problemes. Malauradament, la situació de Java no està exempta de problemes en relació al Programari Lliure.
El problema de Java no són les especificacions tècniques ni la implementació; tot i que alguns tenen diferents opinions sobre això, no són la causa del problema en relació al Programari Lliure.
La causa dels problemes és la forma en que es desenvolupa i es distribueix el propi Java, ja que bàsicament existeixen dues implementacions força escampades i ambdues són de propietat: una és mantinguda per Sun, l'altra per IBM. Tot i que les llicències en què es distribueixen són sense cost, no ofereixen les llibertats necessàries per a considerar-les Programari Lliure.
Com a conseqüència, cada aplicació que s'executa en aquestes plataformes — fins i tot quan es tracta d'una aplicació amb llicència de Programari Lliure — posa en perill la llibertat de l'usuari. Una situació no massa diferent de la del Programari Lliure que s'executa sobre Windows.
Existeixen algunes aproximacions i iniciatives per a implementar Java totalment en Programari Lliure (vegeu "El llenguatge Java i GNU" [12]). Però, com que les implementacions dominants de referència són de propietat, el projectes lliures sempre han de reimplementar el que la versió actual ha dut de nou.
A tots els desenvolupadors no els agrada pas participar en aquesta cursa esbiaixada que no poden guanyar. El Programari Lliure es posa en un clar desavantatge i per tant ofereix un grau menor de funcionalitat.
Quan els desenvolupadors de les aplicacions de Java utilitzen les característiques més avançades de les implementacions de propietat de Java, ja no es poden executar en implementacions de Java de Programari Lliure i com a conseqüència depenen de les plataformes de propietat. Aquesta no és una situació diferent de la del Programari Lliure que només es pot executar sobre Windows i que no es pot utilitzar en qualsevol sistema operatiu de Programari Lliure.
Aquest és precisament el problema del client de jMax. I com que el no-ús de programari de propietat al projecte AGNULA és indiscutible per part de les entitats col·laboradores, AGNULA no podrà incloure jMax amb un entorn gràfic totalment funcional.
Com que cap de les alternatives sembla prou prometedora a l'hora de resoldre el problema a temps — per a més informació vegeu la pàgina de la FSF Europe [13] — s'ha decidit deixar de banda Java i reimplementar el client en Python.
L'elecció de de Python es deu a la seva independència de la plataforma, que és comparable a la de Java, i el fet que permet el desenvolupament ràpid mentre que segueix (naturalment) sent totalment Programari Lliure.
Però no és clar si l'IRCAM serà capaç d'acabar el client a temps. Així doncs, estan buscant voluntaris que els puguin ajudar a escriure el client en Python per a jMax.
Segons en François, l'IRCAM no pot fer grans promeses, però ofereixen més prioritat al suport per a la gent que treballi en el client en Python i garanteixen un temps de resposta de 24 hores els dies laborables. Així que si esteu interessats en això, podeu fer un cop d'ull a la llista dels desenvolupadors de jMax [14].
Ja n'hi ha prou de Brave GNU World per aquest mes. Si descobriu un projecte interessant, feu-m'ho saber. Sovint són els lectors d'aquesta columna els que han descobert les joies — la descoberta de Lush es va produir arran d'una pista d'en Stefan Kamphausen, l'autor del logotipus de la Brave GNU World.
Com sempre, és clar, també us demano els vostres comentaris, preguntes, idees i suggeriments a l'adreça habitual. [1]
Informació
|
[1] Envieu les vostres idees, comentaris i preguntes a Brave GNU World <column@brave-gnu-world.org>
[2] La pàgina del Projecte GNU http://www.gnu.org/ [3] La pàgina de la Brave GNU World d'en Georg http://brave-gnu-world.org [4] La iniciativa "We run GNU" http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html [5] La Brave GNU World, número 48 http://brave-gnu-world.org/issue-48.ca.html [6] La pàgina d'Skidbladnir http://mitglied.lycos.de/altow/ [7] TRIZ online (en alemany) http://www.triz-online.de [8] La pàgina de Lush http://lush.sf.net [9] La Brave GNU World, número 35 http://brave-gnu-world.org/issue-35.en.html [10] La pàgina d'AGNULA http://www.agnula.org [11] La pàgina de jMax http://www.ircam.fr/jmax/ [12] La pàgina de GNU i Java http://www.gnu.org/software/java/ [13] Els problemes amb Java d'AGNULA http://fsfeurope.org/projects/agnula/java.html [14] La llista dels desenvolupadors de jMax http://listes.ircam.fr/wws/info/jmax |
Envieu les vostres preguntes sobre la FSF i GNU a
gnu@gnu.org.
També hi ha d'altres formes de contactar la FSF.
Envieu els vostres comentaris sobre la Brave GNU World d'en Georg (en anglès o alemany) a
column@gnu.org,
els comentaris sobre aquestes pàgines a
webmasters@www.gnu.org,
i per a d'altres qüestions a
gnu@gnu.org.
Copyright (C) 2003 Georg C. F. Greve
Traducció al català per Alex Muntada
Es permet realitzar i distribuir còpies literals d'aquesta transcripció sempre que hi aparegui el copyright i aquesta autorització.
Last modified: Wed Jun 11 21:25:48 Westeuropäische Sommerzeit 2003