Carmen Gomez Gmez Traduciendo en Comunidades de Software Libre Esta obra est bajo una licencia Reconocimiento-Compartir bajo la misma licencia 3! Espa"a de Creati#e Commons $ara #er una copia de esta licencia% #isite &ttp'((creati#ecommonsor)(licenses(b*-sa(3!(es( o en#ie una carta a Creati#e Commons% +,+ Second Street% Suite 3!!% San -rancisco% California ./+!0% 1S2 $) 3 de 34 Traduciendo en Comunidades de Software Libre ndice de contenido 1. Introduccin ...................................................................................................................................... 4 2. Las cuatro libertades ......................................................................................................................... 5 3. La produccin de software libre ....................................................................................................... 8 3.1. El proyecto ................................................................................................................................. 8 3.2. Una metodologa para el desarrollo .......................................................................................... 8 4. Organizacin de las comunidades ................................................................................................... 12 5. La traduccin ................................................................................................................................. 14 5.1. Internacionalizacin y localizacin ......................................................................................... 14 5.2. Software libre & software propietario ..................................................................................... 15 5.3. Organizacin de la traduccin en software libre ..................................................................... 16 5.4. Herramientas ........................................................................................................................... 17 6. Motivaciones para la colaboracin ................................................................................................. 22 7. Referencias ...................................................................................................................................... 27 ndice de ilustraciones 1: Libertades del software libre............................................................................................................7 2: Modelo de desarrollo usado en la empresa Planet............................................................................9 3: Proceso de traduccin de un programa...........................................................................................15 4: Herramienta propia de Webmin Asistente de traduccin ..............................................................19 5: Herramienta Pootle empleada por algunos proyectos para la traduccin.......................................20 6: Portal web Launchpad empleado en mltiples proyectos...............................................................20 7: Crear una cuenta en Launchpad......................................................................................................21 8: Desarrolladores del proyecto Moodle.............................................................................................23 9: Open Translation: web dedicada a la traduccin del software libre...............................................24 10: Equipo de traduccin del proyecto KDE al espaol.....................................................................25 11: Equipo de documentacin de espaol en el proyecto Ubuntu......................................................26 $) 3 de 34 Traduciendo en Comunidades de Software Libre 1. Introduccin Este art5culo #iene a complementar las principales ideas e6puestas en la ponencia 7ue present8% con moti#o de las 9VI Jornadas de Software Libre 2011: + % bajo el t5tulo 9Traduciendo en comunidades de software libre: Su propsito es el de orientar% de una manera prctica% la forma de colaborar con una comunidad de software libre% tratando de esclarecer al)unos de sus entresijos Se usar la Traduccin como una de las formas de colaboracin posible% sin 7ue sea necesario tener 7ue ser un pro)ramador o e6perto en software 2l mismo tiempo% se plantea * trata de responder al)unas cuestiones importantes' ;Cmo funciona una comunidad de software libre<= ;>u8 caracteriza la traduccin de software<= ;Cul es la moti#acin de las comunidades< En definiti#a% su fin ?ltimo persi)ue impulsar una nue#a andadura en las formas colaborati#as 1 Jornadas de software libre organizadas por el Grupo Nibbler que se celebran anualmente en el mes de marzo $) / de 34 Traduciendo en Comunidades de Software Libre 2. Las cuatro libertades Con el fin de conte6tualizar la Traduccin de software libre% se &ace necesario en primer lu)ar &ablar de los principios 7ue lo sustentan $rincipalmente% lo 7ue se conoce en este medio como las cuatro libertades @#er Alustracin +B% )racias a las 7ue se puede dar la Traduccin de software Cabe primero aclarar al)o 7ue la -S- 3 % -undacin creada para el software libre% &ace en su propia definicin 3 ' El software libre es una cuestin de libertad, no de precio. Para entender el concepto, debera pensar en libre como en libre expresin, no como en barra libre. El software libre es una cuestin de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. !s precisamente, si"nifica #ue los usuarios de pro"ramas tienen las cuatro libertades esenciales. ;Ce 7u8 cuatro libertades estamos &ablando< 2un7ue la -S- las numera tal * como aparecen en la ilustracin +% me permitir8 el lujo de &acer una reordenacin con el fin de aclarar la 9libertad de modificacin: 7ue interesa especialmente para este art5culo Cic&o esto% decimos 7ue el software libre est basado en cuatro principios o libertades' Libertad de uso salo para lo que quieras Ama)inemos 7ue al)uien se in#enta una &erramienta * nos la #ende Da&E eso s5% con la condicin de 7ue slo la usemos para lo 7ue di)a la licencia% por ejemplo' usar slo para pelar patatas Estamos &ablando en este caso de una limitacin en el uso *% por tanto% de una licencia de software propietario @eso 7ue casi nadie se lee cuando instalas un pro)ramaB Si la &erramienta es libre% esta limitacin de uso no e6iste Fosotros somos responsables de ele)ir 7u8 &acer con ella 2s5% podemos dar otros usos a esa &erramienta 7ue sir#e para pelar patatas' &acer un ju)uete * ponerle unos ojitos de papel% o si me pon)o ms dramtica% emplearla lanzndola por la #entana para molestar al #ecino Libertad de estudio En la &erramienta del in#ento anterior% la libertad de estudiar si)nifica 7ue tenemos disponible el cdi)o fuente Esto supone 7ue disponemos del 9escrito: con la composicin * todas las instrucciones 7ue &acen 7ue la &erramienta funcione Fo se trata ?nicamente de un manual de uso% sino la propia construccin de la &erramienta Ga)amos una comparacin 7ue &izo el propio Linus Tol#ars para la re#ista $ussiness%ee& @3!!/B' 2 FSF: Free Software Fundation o Fundacin para el software libre 3 http://www.gnu.org/philosophy/free-sw.es.html $) 0 de 34 Traduciendo en Comunidades de Software Libre '(o lo comparo como )iencia *s. $rujera. En la )iencia, todo el sistema se basa en personas mirando los resultados de otras personas, y construyendo sobre su trabajo. En la $rujera, al"uien tena un pe#ue+o secreto y lo cuidaba, pero nunca permita a otros entenderlo realmente y construir sobre ,l'. El software propietario es una caja cerrada Lo 7ue 8sta &ace es una cuestin de brujera $odemos #er su comportamiento * funcionalidad% pero no sabemos nada ms El desarrollador o in#entor de la &erramienta se )uarda el secreto de su composicin En el software libre% al i)ual 7ue en la ciencia% lo importante es 7ue ese secreto *a no lo es% pues se con#ierte en p?blico La caja est abierta% podemos #er el secreto% podemos #er el contenido *% si entendemos el idioma @o len)uaje de pro)ramacinB% podremos estudiarlo e in#esti)ar sobre la &erramienta $rujera frente a ciencia. Libertad de modificacin Hasndonos en la libertad anterior% podemos a"adir la libertad para modificar la &erramienta Si disponemos del secreto% podemos in#esti)ar cmo &acer para a"adir otras funcionalidades o &acer mejoras Lo 7ue supone 9reformar: la &erramienta * construir sobre lo 7ue *a al)uien &a &ec&o El modelo de trabajo del software libre es% por tanto% el de compartir * el de colaborar Los resultados de las in#esti)aciones se publican% se di#ul)an * sir#en para nue#as in#esti)aciones Este es principalmente el modelo sobre el 7ue la &umanidad &a inno#ado * a#anzado Libertad de copia y distribucin haz lo que quieras con la herramienta 4 Si puedes% cpiala * distrib?*ela con la reforma o sin la reforma% pon la &erramienta en una caja de flores * en#5asela a tu ami)a como re)alo% distrib?*ela por el metro a todos% o t5rala en paraca5das o desde un a#in Gablamos entonces de licencias 9cop*left: @literalmente en in)l8s 9deja la copia:B en contraposicin al 9cop*ri)&t: del software propietario Entonces% ;dnde 7uedan los derec&os de autor< Si puedes &acer lo 7ue 7uieras ;para 7u8 necesitas una licencia< 2un7ue la e6plicacin de los distintos tipos de licencias cop*left e6cede al tema de este art5culo% podemos resumir en 7ue se debe mencionar a los autores * ests obli)ado a dejar la &erramienta libre para 7ue otros puedan &acer lo mismo 7ue t? 4 Existen licencias con algunas restricciones, pero siempre se permite la copia y distribucin. En la mayora de los casos se permite la distribucin con fines comerciales. $) I de 34 Traduciendo en Comunidades de Software Libre $ara concluir este punto% podemos decir 7ue la Traduccin se considera un tipo de modificacin *% por tanto% &acemos uso de la libertad + $) , de 34 1: Libertades del software libre Traduciendo en Comunidades de Software Libre 3. La produccin de software libre $ara ilustrar las posibilidades * el funcionamiento de un pro*ecto de software libre% tomamos un pro*ecto supuesto 7ue nos ser#ir de ejemplo% al 7ue llamamos -penProject 2 continuacin% en el desarrollo de la metodolo)5a de trabajo% trataremos los aspectos ms rele#antes para la puesta en marc&a del nue#o pro*ecto 3.1. El proyecto El objeti#o principal de -penProject es diri)irse a la comunidad de software libre para abrir el cdi)o fuente de un producto propietario de la empresa 9Planet:% * ofrecer ser#icios asociados -penProject nace por re7uerimiento de un )ran cliente% usuario del producto propietario% 7ue por moti#os estrat8)icos decide utilizar software libre * mi)rar sus aplicaciones Este cliente representa el 0!J de la facturacin de 9Planet:% adems de ser una referencia internacional mu* importante a ni#el comercial $or otra parte% la ma*or5a de las propuestas de este cliente &an sido tenidas mu* en cuenta en el a#ance * desarrollo del producto 3.2. na metodolo!"a para el desarrollo La metodolo)5a propuesta se basa en tres de los principios 7ue Eric S Ra*mond analiza en su art5culo bien conocido 9.a catedral y el ba/ar: 0 ' Trata a tus usuarios como colaboradores, es el camino menos complicado para mejorar con rapide/ y depurar efica/mente un pro"rama. .!n/alo pronto, l!n/alo a menudo y escuc0a a tus usuarios. 1ada una base lo suficientemente amplia de probadores y colaboradores, casi todos los problemas se identificar!n con rapide/ y su solucin ser! ob*ia para al"uien. En los si)uientes apartados se e6plican de manera bre#e los aspectos ms importantes 7ue se emplearn en la metodolo)5a para el desarrollo * la produccin del software Infraestructura y canales de comunicacin $ara 7ue la empresa pueda afrontar con 86ito el pro*ecto de software libre% prepara un sitio web donde se proporciona una fuente centralizada de informacin Anicialmente% el pro*ecto cuenta con los empleados 7ue trabajan en la empresa% con sus recursos materiales * con al)unos de sus clientes @posibles colaboradoresB% 7ue siempre &an proporcionado ideas para el desarrollo del producto #lanificacin y super$isin del proyecto Se proporciona un modelo de desarrollo #lido tanto para la empresa como para la comunidad 5 http://biblioweb.sindominio.net/telematica/catedral.html $) 4 de 34
Traduciendo en Comunidades de Software Libre @desarrolladores e6ternosB La ilustracin 3 muestra este modelo Los procesos coloreados en #erde sern realizados * super#isados ?nicamente por la Empresa Planet% mientras 7ue los de amarillo pueden ser lle#ados a cabo tanto por la Comunidad de desarrolladores e6ternos como por la empresa En la ilustracin 3% la fi)ura de la estrella @pre#ia a la 9peticin de cambios:B representa el inicio de un ciclo de desarrollo Se obser#a 7ue la super#isin de las #ersiones corre a car)o de la Empresa $lanet $or el contrario% cuando se trate de una re#isin @cambios menos si)nificati#os del productoB% puede ser lle#ada tanto por la Empresa como por la Comunidad de desarrolladores e6ternos %r!ani&acin La responsabilidad * la coordinacin de la or)anizacin recae en un Comit8 de Cireccin del $ro*ecto% denominado CC$% 7ue est formado por el jefe de pro*ecto de la Empresa * por los desarrolladores acti#os en el pro*ecto @internos * e6ternosB Este comit8 tiene la capacidad de decisin sobre cuestiones importantes en todos los aspectos t8cnicos% * en la admisin de nue#os desarroladores Estas decisiones se tomarn por consenso% mediante una #otacin 7ue se &ar #5a $) . de 34 2: Modelo de desarrollo usado en la empresa Planet Traduciendo en Comunidades de Software Libre email 1no de los componentes del Comit8 es desi)nado como 2dministrador Anicialmente% ser el jefe de pro*ecto de la Empresa Este es el 7ue realiza las labores administrati#as 7ue lle#an consi)o las decisiones 7ue se &an tomado en el comit8 Es% por tanto% el responsable de dar acceso a usuarios% de las actualizaciones en el fic&ero de commiters I % * de otras )estiones relati#as al control de #ersiones @CKS , B #ol"tica de aceptacin de cambios Los cambios son analizados por el Comit8% cu*as decisiones son tomadas por consenso Lste decide si es un cambio 7ue debe incluirse en una revisin del producto o en una nue#a versin Si se trata de una revisin% se decide por consenso al responsable de la misma *% por tanto% tambi8n de su desarrollo Si es una versin% la responsabilidad recae directamente en el jefe de pro*ecto de la Empresa% * ser internamente donde se decida 7ui8n #a a realizar el desarrollo 'antenimiento y control de $ersiones Est claro 7ue no &a* software perfecto 2s5% una #ez 7ue se &a*an encontrado un n?mero de errores si)nificati#os% el responsable del desarrollo lanza una nue#a re#isin con un tercer punto @por ejemplo' /+!3B La numeracin de las #ersiones ser similar a la de Linu6 Ce este modo% /+!3 se interpreta as5' / es el n?mero de #ersin @el n?mero cambia cuando &a* cambios si)nificati#os * nue#as caracter5sticasB= +! es el n?mero de re#isin ma*or @se incrementa casi siempre relacionada con las funcionalidades a"adidasB= 3 es el n?mero de re#isin menor @las re#isiones de arre)los de errores Fo &a* nue#as funcionalidades en estas re#isionesB '(tricas El pro)rama 3.-))ount 4 permitir &acer un anlisis del pro*ecto para obtener una estimacin de costes% de duracin * de n?mero de desarrolladores $ara #er la e#olucin del pro*ecto% 3.-))ount cuenta las l5neas de cdi)o fuente% aun7ue est8n escritas en diferentes len)uajes% basndose en medios tradicionales de la in)enier5a de software como el modelo )-)-- 4
)erramientas Se usan &erramientas libres como 3ub*ersin +! Mpara realizar el control de #ersiones-% * otras propias para &acer el se)uimiento de errores $uildbot' ejecuta una serie de pruebas automticas en una #ariedad de plataformas * confi)uraciones para #alidar los cambios en el cdi)o fuente $ara documentacin y tareas de oficina: OpenOffice. Para la estimacin de costes y mtricas de calidad: SLOCCount. Y como lenguajes de desarrollo se admiten: C, C++, Java y Perl. #ol"tica de distribucin de nue$as $ersiones Se intenta lanzar una versin cada dos aos, y una revisin aproximadamente cada 6 meses. 6 Commiter: se refiere a aquel que tiene permiso de escritura y puede modificar el cdigo fuente de un programa 7 CVS: Concurrent Versions System: programa encargado de llevar un sistema de control de versiones 8 SLOCCount: es un programa usado para estimar costes 9 COCOMO: (COnstructive COst Model) es un modelo matemtico de base emprica, utilizado para la estimacin de costes de software. 10 Subversion: es un sistema de control de versiones diseado especficamente para reemplazar al popular CVS. $) +! de 34 Traduciendo en Comunidades de Software Libre *arant"a y soporte a usuarios y desarrolladores Los clientes del producto tienen la garanta de la Empresa, que pone a su disposicin a su equipo de trabajadores, adems de una gran cantidad de usuarios (posibles colaboradores). Por cada nuevo lanzamiento, se dar a conocer en la pgina web: la persona responsable de la versin; las fechas prximas de formacin; documentacin; anuncios a conferencias; etc. Adems, siempre se mantiene en la pgina web estadsticas sobre la evolucin del proyecto, as como los clientes que lo estn usando, para demostrar su continuacin y mantenimiento. Licencia del producto OpenProject tendr licencia LGPL con el objetivo de permitir el uso, el enlace y la integracin del software con otros tipos de licencias, a veces propietarias, y escapando as de las restricciones de las licencias GNU/GPL. Hay que tener presente que, en gran parte, OpenProject es un programa que deber integrarse con las aplicaciones (propietarias o libres). $) ++ de 34 Traduciendo en Comunidades de Software Libre +. %r!ani&acin de las comunidades En el punto anterior se ha puesto un ejemplo que ilustra el funcionamiento y los aspectos ms relevantes en la organizacin de un proyecto de software libre. Como se habr podido observar, una de las mayores diferencias entre los proyectos de software libre y los proyectos de software propietario es el modo de organizarse de la comunidad de desarrolladores. Aunque cada comunidad puede funcionar de forma diferente -y puede haber tantas formas como proyectos-, vamos a presentar en este punto las principales formas genricas que se dan en los proyectos de software libre [1]. As, en un proyecto de software propietario, la organizacin corresponde normalmente a la organizacin jerrquica del equipo o el departamento que, dentro de una empresa, lleva a cabo a cabo el desarrollo. Por el contrario, y aunque en los proyectos de software libre tambin puede apreciarse en ocasiones cierta jerarqua, -basada parcialmente en los mritos de cada desarrollador-, la organizacin de la comunidad de desarrolladores es ms flexible, y tambin ms fuerte. %r!ani&acin basada en un ,dictador bene$olente, El llamado dictador benevolente es una autoridad que toma decisiones definitivas para el proyecto. Es el coordinador o rbitro de las discusiones, tratando de compatibilizar los distintos puntos de vista de los desarrolladores. Suele ser un desarrollador con la suficiente experiencia en el proyecto, aunque no es necesario que sea el ms experto. Es suficiente con que sea capaz de entender el proyecto en su totalidad y reconocer las contribuciones de ms calidad. Linus Torvalds, creador del ncleo de Linux, es un ejemplo de dictador benevolente de un equipo de ms de 1.000 programadores en todo el mundo que contribuyen a su mantenimiento. %r!ani&acin basada en el consenso Se entiende por consenso los acuerdos que toda la comunidad acepta . Por lo general, cada desarrollador crea o corrige una parte del software o funcionalidad en concreto. El curso normal es que cada uno decida qu hacer y cmo. Si por cualquier motivo, esta decisin entra en conflicto con la opinin de otro desarrollador, entonces se abrir un tema de discusin de tipo tcnico. Esto da lugar a que todos los desarrolladores expongan sus puntos de vista y argumentos. Se trata de llegar a un acuerdo satisfactorio para todos, es decir, de llegar al consenso. El consenso se produce cuando todo el mundo est de acuerdo en el diseo, la implementacin de la funcionalidad o la manera de solucionar un error. La forma final que toma la discusin es la votacin, y con ella se ratifica el acuerdo. Para terminar, se realiza un informe final cuyo objetivo es resumir lo que se ha dicho y la conclusin. Los proyectos suelen empezar con una organizacin basada en un dictador benevolente, y a medida que la comunidad crece, se van encaminando hacia una organizacin basada en el consenso. Esto suele ocurrir en algn momento de la vida del proyecto, cuando el dictador benevolente abandona su posicin y su autoridad se diluye en la comunidad, especialmente entre sus miembros ms $) +3 de 34 Traduciendo en Comunidades de Software Libre respetados. Al cabo de un tiempo, las decisiones tomadas en una comunidad van creciendo y pueden llegar a ser muy grandes muchas. Es conveniente, por tanto, que se recojan en un documento todas estas decisiones. En ste se incluye la forma de organizacin y gobierno de la comunidad, la forma de nombrar las versiones, fechas, revisiones, as como las convenciones y recomendaciones de los desarrolladores. Es decir, todo lo que respecta a la metodologa 11 . 11 Se ha descrito mediante un ejemplo en el apartado 3.2. de este artculo $) +3 de 34 Traduciendo en Comunidades de Software Libre -. La traduccin Antes de entrar en materia sobre los aspectos inherentes a la traduccin de software libre, vamos a aclarar algunos aspectos importantes relacionados con la traduccin en s misma y, en general, con la traduccin de software. Para ello, cabe preguntarse: qu diferencia la traduccin de software de la traduccin de un texto tcnico?. En este sentido, se trata primero de aclarar los conceptos de internacionalizacin y localizacin, para despus diferenciar cmo funcionan las comunidades de traduccin de software y las herramientas que se utilizan para facilitar esta labor. Gran parte del contenido de los puntos siguientes han sido bien aclarados y, en ocasiones, literalmente copiados de Perea Sardn [3]. -.1. Internacionali&acin y locali&acin Vamos a utilizar los conceptos de internacionalizacin y localizacin para responder a la pregunta anteriormente planteada: Qu diferencia la traduccin de software de la traduccin de un texto tcnico?. La internacionali&acin es la adaptacin que los desarrolladores tienen que hacer a los programas para que sea posible traducirlos y adaptarlos a distintos idiomas. Esta adaptacin va ms all de la mera traduccin. Por ejemplo, de un idioma a otro, cambia el alfabeto, el signo de la moneda, los decimales, etc. Pero adems, en el cdigo que usa el desarrollador est mezclado el texto a traducir con el cdigo en s del programa. Atendamos a un ejemplo de un fragmento de programa: printf ( (\n Show users who are currently logged \n\n)); En este caso, para los que no saben programar -caso innecesario en los traductores-, cabe decir que printf es la funcin en C que sirve para imprimir mensajes por pantalla. El texto a traducir sera Show users who are currently logged. Ser por tanto el autor del programa quien deber prepararlo (separa las instrucciones del texto en s) para que pueda ser fcilmente traducido. Esta adaptacin es lo que se denomina internacionalizacin. El programador prepara su cdigo y genera los ficheros que debern ser traducidos. Posteriomente, cmo sabe el sistema en qu idioma se quiere que salgan los mensajes?. Ser precisamente en el momento de la instalacin y configuracin del programa por parte del usuario cuando ste elija el idioma o idiomas, as como las especificaciones locales (moneda, formato de numeracin, etc). El sistema, siguiendo las especificaciones dadas por el usuario, se encargar de cargar los ficheros apropiados donde se encuentren las traducciones y las localizaciones. $) +/ de 34
Traduciendo en Comunidades de Software Libre La locali&acin es lo que hace el traductor, gracias al trabajo previo de internacionalizacin. La ilustracin 3. muestra el proceso de traduccin de un programa. Para escribir programas que puedan mostrar la interfaz en varios idiomas suele utilizarse la biblioteca de internacionalizacin GNU gettext. Para usar esta biblioteca, es necesario que el programa haya sido escrito siguiendo ciertas normas que despus permiten extraer del mismo todo el texto traducible. -.2. Software libre . software propietario La traduccin de software libre, al igual que el desarrollo, suele realizarse de manera muy diferente a la del software propietario. La intervencin de la comunidad es muy importante, tal y como explica uno de los mayores divulgadores de la traduccin de software libre en una serie de artculos aparecidos en el ao 2006 sobre la traduccin de software libre, Fernndez Garca [2] (2006a, 2006b, 2006c, 2006d, 2007). En el caso del software propietario, la empresa creadora del software se encarga normalmente del proceso de localizacin. Casi siempre, subcontratando la traduccin a una empresa intermediaria que se encarga adems de realizar las guas y manuales. En ocasiones, la propia empresa tiene un departamento dedicado a la localizacin. Esto depender de determinados intereses empresariales y de costes. Por el contrario, en el caso del software libre, ni siquiera es necesario que los creadores del mismo se encarguen de ello, puesto que las licencias permiten modificar y distribuir el cdigo fuente. Cualquier usuario que desee traducir una aplicacin a un idioma puede hacerlo. La facilidad de llevar a cabo esta tarea depender de que los programadores hayan preparado adecuadamente los archivos para su localizacin. Si ello no ha sido as, al traductor puede resultarle difcil distinguir los elementos de la interfaz de usuario, o toparse con otros problemas. Sin embargo, en la mayora de $) +0 de 34 3: Proceso de traduccin de un programa Traduciendo en Comunidades de Software Libre los casos, en el desarrollo del software ya se ha tenido en cuenta la localizacin. Adems, los creadores suelen ofrecer ayuda a los usuarios que quieran traducir su software. Algunos proyectos importantes de software libre se implican mucho en el proceso de localizacin de diferentes maneras, como pueden ser la gestin directa del portal web que coordina la traduccin (como en el caso de Ubuntu), o la creacin de una herramienta especfica para traducir sus productos (como es el caso de Mozilla). Tambin participan de manera ms directa en la traduccin, como ocurre con Sun, que cuenta con un departamento de traduccin que ha elaborado una de las guas de estilo de referencia en la traduccin del software libre. A veces, una empresa dedicada al software libre decide encargar algunas traducciones de mayor visibilidad (como por ejemplo, el mrketing) a una empresa de traduccin convencional, aunque para otros materiales pida ayuda a la comunidad. -.3. %r!ani&acin de la traduccin en software libre En general, para cada idioma existe un coordinador, encargado de crear unos archivos destinados especficamente a los traductores. Este coordinador es una figura esencial. Cuando alguien quiere participar en la traduccin de un proyecto, debe ponerse en contacto con el coordinador respectivo para esa lengua, quien le asigna los archivos que considere convenientes, segn la capacidad del usuario y, lo que suele ser de vital importancia, el tiempo que pueda dedicar a la traduccin y la revisin. Cuando el voluntario termina de trabajar con los archivos, se los enva al coordinador. Esto es, el coordinador se encarga de remisiones y recepciones y suele comunicarse con traductores y revisores mediante un portal o una pgina web que sirve como punto de encuentro, as como diversos foros que actan como canales de comunicacin, junto con el correo electrnico. As, en algunos casos el coordinador realiza cierto control de calidad y despus los enva a los creadores del software, que incluyen la traduccin en el producto que distribuyen. En ocasiones, la importancia del coordinador en este modelo plantea problemas. Al no tener una relacin laboral con el proyecto en el que colabora, el tiempo y el esfuerzo que dedica a la localizacin del proyecto son muy variables. Dependiendo de sus circunstancias personales y profesionales, puede llegar un momento en que deban abandonar la coordinacin, por lo que puede romperse un importante eslabn de la cadena. Estas situaciones se producen con frecuencia, y por este motivo, los coordinadores deben documentar su trabajo de la mejor manera posible, y encontrar a un sustituto antes de abandonarlo a fin de que el proceso de localizacin resulte poco afectado. Los principales problemas de este modelo son relativos a la calidad de las traducciones y al tiempo que tardan en realizarse. Al depender del trabajo voluntario de un nmero de usuarios (que puede llegar a ser muy elevado) no es posible fijar una estricta fecha lmite para la traduccin. Adems, como el desarrollo del software suele destinar poco tiempo a la traduccin, con frecuencia no se dispone de una traduccin completa cuando llega el momento de lanzar el producto. Por eso, es frecuente que en algunos de los proyectos localizados segn este modelo, la traduccin sea parcial y el usuario se encuentre con elementos que permanecen en el idioma original del software. Para paliar el problema, en el caso del sistema operativo, ltimamente es frecuente que, pocos das antes de la fecha de lanzamiento, se celebren eventos denominados festivales de traduccin, en los que se intenta concentrar la traduccin pendiente en un evento celebrado durante un perodo de tiempo muy reducido (normalmente, un fin de semana) para fomentar la participacin de traductores voluntarios. $) +I de 34 Traduciendo en Comunidades de Software Libre Tal vez aun ms importante que la escasez de tiempo para las traducciones es su calidad. Con frecuencia no es suficiente, pues a menudo las realizan voluntarios sin grandes conocimientos de idiomas. Fernndez [2] (2006b:81) ofrece la siguiente descripcin prototpica de los voluntarios: 567 el perfil tpico cl!sico del traductor *oluntario es el de un estudiante de in"eniera 5...7 con un conocimiento limitado del in"l,s, y #ue tampoco domina las decisiones terminol"icas a las #ue se 0aya podido lle"ar en el "rupo. Por uno #ue persiste, *arios picotean 8son *oluntarios9, y cuando el coordinador se+ala los errores cometidos suelen desaparecer.: Aunque esta descripcin subraya las dificultades lingsticas de los voluntarios, tambin apunta a que sus conocimientos tcnicos suelen ser elevados, frente al traductor profesional, que no suele tener problemas de lengua pero s de comprensin de los aspectos tcnicos. Bergmann [4] opina que, con frecuencia, los usuarios de ciertos productos de software libre especialmente, herramientas destinadas a los administradores de sistemas no necesitan una traduccin de gran calidad, ya que suelen tener un elevado nivel de ingls y usan el software en esa lengua. A pesar de ello, ante la expansin del software libre, y a medida que los productos se popularizan tambin en los ordenadores domsticos, es previsible que vayan en aumento las demandas y las exigencias de calidad a las traducciones de software libre. -.+. )erramientas A continuacin se muestran ejemplos de editores que usan los traductores, as como las herramientas y sitios web ms empleados para la traduccin de proyectos bien conocidos. Emacs Los archivos con extensin .po son de texto simple, por lo que pueden traducirse directamente en cualquier editor de texto. Probablemente, el primer programa que se utiliz para traducir dichos archivos fue Emacs, un editor de texto de Linux, que incluye una gran cantidad de funciones y es muy popular entre programadores y usuarios tcnicos. #oedit Como se puede intuir por el nombre, Poedit es un editor diseado especficamente para trabajar con los archivos .po. La caracterstica ms notoria de este editor es que es multiplataforma, por lo que puede ejecutarse tanto en Linux como en Windows y Mac OS X. /babel Hoy en da es el editor ms frecuente para trabajar con archivos .po, quizs por su gran cantidad de funciones. Esta herramienta slo funciona en Linux. A pesar del considerable xito y popularidad cosechados, el desarrollo de Kbabel se ha interrumpido recientemente, y se prev que ser sustituido por Lokalize (anteriormente conocido como Kaider), que presenta la ventaja de permitir trabajar con memorias de traduccin y glosarios, aunque todava no incorpora las verificaciones que inclua Kbabel. $) +, de 34 Traduciendo en Comunidades de Software Libre *translator Este editor de archivos .po, slo disponible para Linux, es similar a Kbabel, aunque est diseado especficamente para funcionar en el entorno de escritorio Gnome. Su desarrollo se ha detenido, motivo por el que su uso ha disminuido considerablemente. 'o&illa Translator Esta es la herramienta diseada por Mozilla para traducir sus productos, entre los que destaca el navegador web Firefox y el cliente de correo Thunderbird. Est programada en Java, por lo que es multiplataforma y puede ejecutarse en cualquier sistema operativo que tenga instalada la correspondiente mquina Java. Se trata de una herramienta bastante sencilla, que compensa la escasez de funciones con una interfaz fcil de usar. 0irtaal Virtaal es una herramienta de traduccin asistida escrita en Python que pretende optimizar la interfaz para el traductor. Aunque en un principio est eminentemente destinada a la localizacin, sus desarrolladores tienen previsto ampliar su utilidad ms all de su uso para traducir software. %me!aT OmegaT es una herramienta de traduccin asistida que no slo se utiliza en la traduccin de proyectos de software libre, como por ejemplo NetBeans y OpenOffice, sino que cuenta con capacidad suficiente para ejecutar la traduccin de cualquier proyecto profesional de traduccin. #ootle El editor Pootle integra tanto la gestin de las traducciones como las funciones de una herramienta de traduccin asistida, en un sitio web en el que los usuarios pueden registrarse, iniciar sesin y trabajar. Al tratarse de un sitio web escrito en el lenguaje de programacin Python, puede ejecutarse en cualquier sistema que cuente con conexin a Internet y un navegador. Adems de los archivos .po, tambin admite archivos de texto simple, .properties (archivos de Java y Mozilla), HTML y XLIFF. Entre sus funciones se encuentra la posibilidad de utilizar memorias de traduccin, glosarios y diversos tipos de validacin, adems de permitir al usuario fijarse metas, es decir, definir el volumen de palabras que desea traducir en un tiempo determinado. Se puede encontrar un vdeo [5] titulado Traductor Pootle en YouTube, donde se muestra el funcionamiento de esta herramienta de forma sencilla. Launc1pad La traduccin de Ubuntu se gestiona desde el portal web Launchpad. Este portal es el punto de acceso a la traduccin de proyectos de software de todo tipo, desde sistemas operativos y aplicaciones de ofimtica hasta juegos. Los usuarios pueden registrarse gratuitamente y solicitar una cuenta que les permite utilizar las funciones de esta pgina. Una vez que se dispone de una cuenta de Launchpad, todo usuario puede acceder a una pgina en la que aparecen tanto los archivos traducidos como los que estn por traducir. Los archivos aparecen en orden decreciente de relevancia, para que los usuarios presten mayor atencin a los archivos ms importantes. Una vez seleccionado un archivo, el usuario puede traducir los segmentos que desee $) +4 de 34 Traduciendo en Comunidades de Software Libre utilizando las herramientas del portal, o bien descargar el archivo, traducirlo sin conexin como desee en su ordenador personal y despus subirlo utilizando el mismo portal de traduccin. )erramientas propias Algunos programas usan sus propias herramientas para la traduccin. Un ejemplo de ello es el programa de administracin Linux llamado Webmin, que usa un asistente de traduccin creado especficamente para ello. Este asistente de traduccin se instala como un mdulo ms en webmin. Se puede encontrar una serie de vdeos [6] titulados Traducir Webmin en YouTube, donde se muestra el funcionamiento de una herramienta propia del programa webmin. $) +. de 34 4: Herramienta propia de Webmin Asistente de traduccin Traduciendo en Comunidades de Software Libre $) 3! de 34 5: Herramienta Pootle empleada por algunos proyectos para la traduccin 6: Portal web Launchpad empleado en mltiples proyectos Traduciendo en Comunidades de Software Libre $) 3+ de 34 7: Crear una cuenta en Launchpad Traduciendo en Comunidades de Software Libre 2. 'oti$aciones para la colaboracin 3alsos mitos y realidades Algunos fans (y otros no tanto) del software libre han creado algunos mitos acerca de ste. As, no es difcil escuchar, en relacin a la gente que colabora en software libre, cosas como: Son unos frikis fanticos de Internet que se aburren y no tienen otra cosa mejor que hacer. Son una especie de ONG que por bondad o por ideales quieren compartir lo que hacen. Estos falsos mitos no se corresponden con una realidad que va ms all de la idea altruista de compartir o de estar aburrido en casa. No parece extrao que si uno usa muchas veces un programa le incomode verlo en ingls. Al final, cuando no se es bilinge, siempre se prefiere tener la facilidad de verlo escrito en la propia lengua. Tampoco parece extrao imaginar que un programador tenga tentaciones de cambiar algo en un programa cuando ve algn error, o simplemente quiere que le sea ms til, o le resulte ms fcil de usar para su trabajo. Este tipo de tentaciones pueden verse satisfechas con el software libre, pues el usuario es realmente libre de realizar las modificaciones oportunas, tanto en el funcionamiento como en la traduccin. Por ello, es fcil que se hable de una iniciativa o motivacin relacionada con los requerimientos del usuario final, puesto que esta es la filosofa del software libre: el usuario final. Los programas se piensan y orientan hacia el que lo usa. Adems, puede hablarse tambin de otras motivaciones de tipo prctico, como en el caso de estudiantes de ingeniera informtica y de escuelas de traduccin. El software libre les permite ver el cdigo de los programas y poner en prctica sus conocimientos de lenguajes de programacin. O realizar traducciones mas all de ejemplos empleados en la docencia que, por lo general, no tienen mucho que ver con casos reales. na oportunidad El software libre nos ofrece una tremenda oportunidad para salir de una relacin de intercambio puramente comercial, as como la oportunidad de hacer prcticas reales: publicidad gratuita de una empresa, curriculum o simplemente por el narcisismo de ver tu nombre escrito en Internet. $) 33 de 34
Traduciendo en Comunidades de Software Libre 4#articipa5 Existe un gran nmero de proyectos de software libre en los que se puede colaborar, tanto traduciendo como revisando las traducciones que otros han hecho, o incluso, ayudando al mantenimiento y la gestin de las traducciones de un proyecto. En la pgina web OpenTranslation [7] puede encontrarse informacin bastante detallada acerca de la traduccin de algunos proyectos como: gnome, kde, mozilla, openoffice, ubuntu, xfc. As, se puede saber cul es la pgina principal del proyecto de traduccin, qu tipo de espaol se realiza en la misma, qu materiales se proporcionan, qu herramientas se utilizan, qu lista de correo utiliza un proyecto, y otras informaciones de inters. Y ahora qu queda? Participa! $) 33 de 34 8: Desarrolladores del proyecto Moodle Traduciendo en Comunidades de Software Libre $) 3/ de 34 9: Open Translation: web dedicada a la traduccin del software libre Traduciendo en Comunidades de Software Libre $) 30 de 34 10: Equipo de traduccin del proyecto KDE al espaol Traduciendo en Comunidades de Software Libre $) 3I de 34 11: Equipo de documentacin de espaol en el proyecto Ubuntu Traduciendo en Comunidades de Software Libre 6. 7eferencias [1] Albos Raya, Amadeo y Snchez Jimenez, Oscar David (2005). Implantacin, proyectos, y empresas de software libre. UOC [2] -ernndez Garc5a% Nuan Rafael% en Linu6-Oa)azinees Serie de art5culos publicados en 3!!I * 3!!,' @3!!IaB' Pportunidad de colaborar Linu6-Oa)azine% +.' ,I-4! Ola)a' Linu6 Few Oedia Spain SL @3!!IbB' Trabajo en e7ui(po Linu6-Oa)azine% 3!' ,.-43 Ola)a' Linu6 Few Oedia Spain SL @3!!IcB' Oemorias compartidas Linu6-Oa)azine% 3+' ,,-4+ Ola)a' Linu6 Few Oedia Spain SL @3!!IdB' Cambio de &erramientas Linu6-Oa)azine% 33' ,/-,4 Ola)a' Linu6 Few Oedia Spain SL @3!!,B' Cerrando el ciclo Linu6-Oa)azine% 33' ,3-,I Ola)a' Linu6 Few Oedia Spain SL [3] $erea Sardn% Nose A)nacio @3!+!B' Tesis doctoral 9Re#isin asistida por ordenador de traducciones 2plicacin prctica a la re#isin del sistema operati#o libre 1buntu como ejemplo: [4] Her)mann% -ranQ @3!!0B' Ppen-source software and localization M 2n introduction to PSS and its impact on t&e lan)ua)e industr* Oultilin)ual Computin) R Tec&nolo)*% ,! OultiLin)ual Computin)% Anc Sandpoint [5] Carmen Gmez 3!+! Kideo 9Traductor $ootle: * 9Traducir Sent*al: en TouTube &ttp'((www*outubecom(watc&<#Utb>LmcrGEe4 &ttp'((www*outubecom(watc&<#U-c-c0lV&0fo [6] Carmen Gmez 3!+! Serie de Kideos 9Traducir Vebmin: en TouTube &ttp'((www*outubecom(watc&<#U7O/,cR0H2Fw &ttp'((www*outubecom(watc&<#U0SEVOt0Ewn4 &ttp'((www*outubecom(watc&<#U$FaKfw&,0eQ [7] PpenTranslation $)ina de colaboracin en #arias traducciones &ttp'((wwwopentranslationes $) 3, de 34 Traduciendo en Comunidades de Software Libre Carmen Gmez Gmez Profesora, autora y traductora de software menchu@nibbler.es Abril 2011 Esta obra est bajo una licencia Reconocimiento-Compartir bajo la misma licencia 3.0 Espaa de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/3.0/es/ o envie una carta a Creative Commons, 17+ Second Street, Suite 300, San Francisco, California 94105, USA. $) 34 de 34
Aproximación Pragmática A La Traducción de La Ironía - Problemas Traductológicos en La Traslación Al Castellano de Los Relatos de M. Zóschenko y M. Bulgákov
Aproximación Pragmática A La Traducción de La Ironía - Problemas Traductológicos en La Traslación Al Castellano de Los Relatos de M. Zóschenko y M. Bulgákov