¿Cómo colaborar con el Software Libre?
Muchas veces me encuentro con personas que desconocen que es el software libre, aunque lo usan a diario sin saber... y cuando se enteran de que va la movida, algunos se interesan, hasta que llega la pregunta... ¿como puedo colaborar yo?.
La pregunta tiene decenas, cientos, miles de respuestas... aunque creo que con una base mínima de consejos se pueden introducir en este mundo, que puede sonar interesante... o no, pero eso ya queda en ustedes.
Al principio, cuando uno recién empieza a usar software libre, viene la mentalidad típica del otro lado... de ese lugar que uno dejó (y por algo fue así...), y es la de intentar imponer (es más, muchas veces esta chispa vuelve a renacer en uno mismo, por lo que hay que evitarla, o al menos saber controlarla).
Si bien esto puede tener resultados a corto plazo..., a la larga puede terminar manchando lo que en cierta forma miles (millones, en realidad) de personas tratan de defender día a día... la libertad de elegir.
Es por esto, que uno de los principales aspectos a tener en cuenta a la hora de elegir colaborar con el software libre, es de ver las distintas formas desde el lado receptor, y a razón de ello analizar si estamos imponiendo algo, o simplemente sugiriéndolo... dando opciones.
En este artículo se verán las siguientes formas de colaborar con el software libre:
- Usar software libre
- Programar: No importa cuan poco sea, siempre puede ser útil
- Participar en foros o listas: Preguntar y ayudar
- Sugerir mejoras
- Promover: No se acepta todo...
- Concurrir a jornadas de Software Libre
- Reportar bugs: Si a ti te paso, es muy probable que a otro también...
- Traducir: Abrir las puertas a otras personas...
- Hacer tutoriales: Las visitas guiadas son mejores que ir a solas
- Desmitificar: Las mentiras dejan remanentes, que pocas veces desaparecen
Usar software libre
Algunos confunden el hecho de usar software libre con tener instalado un sistema operativo libre en su máquina, y no es necesariamente así. Hay mucho software libre dando vueltas por ahí que funciona tanto en sistemas operativos propietarios como libres.
Casos como el de Firefox, The GIMP, Thunderbird y muchos otros más, son ejemplos muy populares de Software Libre que muchos están usando actualmente... y desconocen su naturaleza.
No es un pecado desconocer que uno usa Software Libre, pero siempre viene bien saber, que bajo la aplicación que uno está usando, hay una comunidad de desarrolladores, traductores, s, diseñadores gráficos, etc, que buscan lograr que día a día mejore la calidad de dicho producto... y no reciben una moneda por ello (ojo... tampoco la esperan).
Usar software libre, si bien para muchos puede no ayudar como promoción... yo creo que sí lo hace. Es decir, el fenómeno de aceptación que tienen otras aplicaciones conocidas de hoy en día (en su mayoría, propietarias) viene del simple hecho de que estas suenan familiares a los nuevos s que se sientan a usarlas por primera vez. El haber visto que un amigo, un pariente o incluso un desconocido, está usando un software determinado, ya te da cierto aire de confianza para ir a tu casa y probarlo, o al menos buscar información sobre este (un buen paso inicial).
Firefox ha tenido una aceptación bastante notable, y si bien al comienzo era más que nada se conocía por el boca a boca, ahora se puede ver locales de a Internet en donde usan este navegador por defecto, provocando (si bien, con un poco de imposición) que la gente se familiarice con esta aplicación.
Por eso, para cerrar este punto, si quieres colaborar con el software libre, úsalo, que si alguien te ve, ya habrás creado una mínima oportunidad de que vaya y lo pruebe por su cuenta (minimizando el miedo usual a lo desconocido, lo distinto, lo nuevo...).
Programar: No importa cuan poco sea, siempre puede ser útil
Hace un tiempo estaba hablando con un amigo que diseña templates y módulos para Joomla (un CMS, a mi gusto, excelente), y me comentó de que se sentía algo avergonzado de publicar sus creaciones, por el miedo de que otros vinieran a quejarse de que, o bien estaba mal enfocado/programado, o que sus aplicaciones eran inútiles.
Si bien esto es un miedo escénico, tal como cualquier actor que se sube a un escenario de teatro por primera vez, le sucede a muchos y es una de las mayores trabas a la hora de conseguir nuevos desarrolladores en estas comunidades de software libre.
No hay que tener miedo en este caso, porque a diferencia de una obra de teatro, aquí no habrá que se ría o nos abuchee (y si lo hay, será reducido por el resto de la comunidad), sino que hay mucha gente esperando que otros vengan a darle una mano (sin pedirlo, por cierto), porque en el modelo de desarrollo que se utiliza, mientras más personas hay involucradas... mejor es el resultado conseguido, tanto en el desarrollo, como en la depuración y mantenimiento (Ver La Catedral y el Bazar de Eric S. Raymond).
Otro miedo que normalmente se tiene, es el pensar que algo es demasiado poco... o demasiado inútil para otros, pero si uno se pone a pensar en frío... puede llegar a la conclusión de que si a mi me sirvió, quizás a otro también...
Cerrando este punto, no importa cuan bueno o malo seas programando, eso se mejora... no importa cuan útil creas que es tu código, le puede servir a alguien... en el software libre, siempre serás bienvenido como programador, y los límites los pones vos...
Participar en foros o listas: Preguntar y ayudar
La primera vez que instalé una distribución de Linux en mi máquina (fue Slackware, era como tirarse a los tiburones para un novato...), se me vinieron a mi cabeza miles de dudas.
Lamentablemente, en ese momento, mi conexión de a Internet tenía un costo altísimo... y rara vez pasaba más de media hora conectado por día, por lo que visitar un foro era algo impensable (en ese momento, mi ayuda más cercana, era un conocido de la escuela).
Hoy en día, el a Internet es dentro de todo accesible (y hasta normal que tengamos en casa), por lo que la idea de visitar un foro es mucho más palpable.
Alrededor de cada producto de SL normalmente hay una o más comunidades que pueden ser fácilmente encontradas con una búsqueda en el tío Google.
Ejemplos de comunidades son las de Ubuntu, con sus foros oficiales; o GIMP, con sus listas de correo; y podría seguir mencionando sin acabar... ya que al menos encontraré una por cada producto.
En el caso de no encontrar, lo útil sería... ¿ya adivinaste? ... ¿por qué no empezar un foro, lista o grupo tu mismo? (quizás ayudándote con herramientas gratuitas de distintos proveedores como Yahoo! Groups, Google Groups, etc).
En fin, la idea de participar en estas comunidades, no es solo de entrar, preguntar e irse... sino de participar. Esto implica cierta permanencia de estar tanto en el momento que necesitamos ayuda, como en aquellos que otro llega a preguntar algo. Ojo, no es obligatorio, pero si deseable... ¿por qué? simple, cada vez que un miembro nuevo se suma, el trabajo no debería recaer siempre sobre los mismos guías (ya que a la larga se esfumarán de tanto cansancio) sino que sería aceptable que fuese acogido por toda la comunidad, y que todos ayudaran a integrarlo (a la vez de resolver sus dudas).
Para ir cerrando el punto, la idea es sencilla... si necesitas ayuda, sal a buscar distintos foros, listas o grupos de s de dicho producto; una vez dentro, si te sientes cómodo, intenta tener un grado de permanencia como para devolver (aunque no es requerido, pero si deseable) lo que otros te han brindado a ti. Ayudar no es solo responder preguntas técnicas y difíciles, sino que a veces solo implica guiar a las ovejas perdidas a una solución que ya se haya dado, o simplemente dar instructivos sobre como buscar la solución en otros lados (aunque no lo crean, no todas las personas saben usar un buscador correctamente).
Sugerir mejoras: Ahora si sos parte del desarrollo...
La primera vez que instalé un sistema operativo, fue hace bastante... y era el Windows 3.1 (disculpen la mención), para lo cual me encontré con que el resultado obtenido no era de mi agrado (si bien era un Wow ver una interfaz gráfica por primera vez, esto no me complacía para nada). Desde ese entonces, el sabor amargo de ver cosas y no poder hacer nada, permaneció conmigo hasta que cierto día... llegué al Software Libre (si, pasé varios años con ese gusto amargo...).
Si bien no todos los cambios que podamos imaginar, realmente se harán realidad (por cuestiones técnicas, en su mayoría), también es cierto de que las posibilidades de que un software propietario se vea influido por nuestra opinión (sin desembolsar suficiente dinero), es nula.
En las comunidades de Software Libre hay personas totalmente heterogéneas en sus características, tanto viéndolo desde la forma de pensar, como la forma de trabajar... y demás. Esto lleva, a que muchas veces se pidan cambios que solo abocan a un grupo de personas, pero no a la totalidad de la comunidad. Aún así, muchas ideas que son implantadas, vienen de la aceptación tanto de los grupos beneficiados, como de aquellos que no. Quizás les suene mal que hable de -distintos- grupos en una misma comunidad de SL, pero hay que aceptarlo... no todos velamos por los mismos intereses.
Pongo un ejemplo que siempre me viene bien para esto, y es el de la comunidad de The GIMP, que tiene cierta presión por un grupo de s -profesionales- desde hace tiempo, para que se incorpore soporte para CMYK (el cual, si viene en Photoshop), mientras que -por algún motivo- los desarrolladores aún no hacen caso a esta petición (y no hay novedades de que lo vayan a hacer). ¿A que se debe esto? ¿Los desarrolladores no escuchan? No... simplemente, están respondiendo a las necesidades del grupo con mayor fuerza (quienes quieren que haya otras opciones, y no necesitan CMYK), o están atrasando dicha opción para el futuro porque no cuentan con personas que entiendan como hacer dicha implementación. O sea, no necesariamente es no querer... a veces no es viable.
Ahora bien, si el cambio no es alocado, y es viable técnicamente... entonces normalmente se hace (como lo he visto en proyectos de juegos como ser UFO:AI y su genial mapa mundial en 3D, incorporado hace poco).
Concluyendo, en el Software Libre se pueden sugerir ideas para implementaciones nuevas... pero no siempre estas triunfan, por distintos factores (ver Ubuntu Brainstorm). A diferencia del modelo propietario, en el SL existen posibilidades, mientras que en el otro... a menos que seas un cliente con peso ($) o poder, es casi imposible que dichas opciones sean tomadas en cuenta.
Cabe resaltar que se han dado casos en donde una persona sugiere un cambio que no es necesario para todos, por lo que pagan a un desarrollador para que hagan una implementación algo así como personal, y luego donan este código al proyecto. Esto, claramente, no lo podemos hacer todos... pero piensen ¿qué pasaría si muchas empresas se involucran en proyectos de SL, pagan a desarrolladores por implementaciones particulares y luego las donan al desarrollo oficial...? ¡todos ganan! la empresa obtiene un producto a medida, pagando monedas por pequeños cambios... mientras que el desarrollo se suma luego al oficial... beneficiando a toda la comunidad.
Promover: No se acepta todo...
Como dije anteriormente, hay formas y formas de colaborar con el SL, y una de estas es evitar intentar imponer el producto sobre sus competidores (sean de SL, o propietarios).
Para promover, no hay una mejor forma (aunque si hay formas preferentemente descartables, como la mencionada en el párrafo anterior), por lo que esto quedará a la creatividad de cada uno.
Si tienes un sitio en Internet, hacer mención a productos de SL, o simplemente escribir revisiones de estos, anunciar nuevas versiones, pueden ser una buena base de promoción. En caso que no sea así, el promover por el boca a boca (recomendaciones) con conocidos, quizás tenga mejores resultados (aunque no consiga un público tan amplio).
Si por esas casualidades, puedes convertirte en un distribuidor de SL (recibiendo CDs de Ubuntu, por ejemplo, y repartiéndolos entre amigos o conocidos que no hayan usado este antes), esta es una forma de promoción que viene con regalo... (para el receptor) y que usualmente llevará a una mayor aceptación. Aún así, el entregar un CD, no es nada comparado con brindarle asesoramiento a la persona que lo reciba... al menos, para quitarle el miedo inicial (y te estarán agradecidos de por vida, seguramente).
Concurrir a jornadas de Software Libre
Ya sé, no todos tienen tiempo, y esto también se aplica a mi caso. Pero... de vez en cuando, me interesa ver en algunos foros o listas, sobre distintas propuestas para asistir a jornadas de SL, en donde puedo obtener distintos puntos de vistas, como también conocer experiencias de otros sobre productos que aún no he probado (y que, normalmente, me tientan gracias a dichos eventos).
Si por esas casualidades te enteras de que se está armando una jornada y necesitan gente para llevar a cabo la idea... seguramente tu ayuda será bienvenida, por lo cual, no pierdas la oportunidad... es una excelente forma de ayudar a promover el SL.
Reportar bugs: Si a ti te paso, es muy probable que a otro también...
Uno de los problemas que me acuerdo que tuve, de esos que te parecen imposibles de resolver, fue el de instalar los controladores para la conexión inalámbrica en una portátil. Por dios... que dolor de cabeza. Después de varias horas, renegando un poco, logré hacerlo. Pero... después dije, ¿por qué no reportarlo como un error?, y allí fui.
Me encontré con que no era la única persona a la que le había sucedido lo mismo, ya que al parecer, la empresa que fabricaba la placa inalámbrica de mi portátil, no era de lo más amigable y no había lanzado un controlador para ese sistema operativo. Lo bueno del asunto, es que pude anexar información sobre mi caso, a un reporte de error ya abierto por otro , y quien sabe... quizás ayudé a otra persona a resolver el problema sin perder tanto tiempo como yo.
Para ir al grano... cada problema, es un mundo diferente, pero... muchos problemas parten de la misma raíz (una configuración mala, un componente no soportado, etc.), por lo que cada vez que te suceda algo... y puedas o no solucionarlo, lo ideal será que aportes esos datos (si lo resolviste, comentar la solución será de gran ayuda) como para que otros que tengan el mismo problema, no tengan que andar lidiando al igual que tú, o al menos tengan más información para solventar el problema.
Podríamos ir con el pensamiento egoísta... A soluciona un problema, perdiendo su tiempo, y tiene la solución al problema de B, pero como no la dice, B está trabado. Luego B tiene un problema y lo soluciona, perdiendo su tiempo, pero como nadie lo ayudó en el problema anterior -resuelto por A, pero no publicado-, no decide informar la solución. Ambos viven en una isla separada... y nunca se beneficiarán el uno al otro. Si cambiamos el pensamiento, a uno de colaboración... A y B quizás terminen haciéndose amigos... o quizás no, pero seguramente habrán ayudado no solo a ellos mismos... sino a todos aquellos que en el futuro se encuentren con ese mismo problema.
Para concluir... los problemas de cada persona, pueden no ser iguales, pero pueden tener las mismas causas. El aportar información sobre errores en un producto de SL, permitirá que otros puedan ubicar el error o solucionar el problema, evitando el dolor de cabeza para futuros aventureros.
Traducir: Abrir las puertas a otras personas...
Bajo un programa, está en alemán... ¿qué? si... no entiendo nada de nada. Me pongo a buscar, y ninguna traducción..., peor aún, no encuentro a nadie que sepa alemán... y menos un reemplazo para este programa. En esos minutos me arrepiento de no tener idea sobre dicho idioma... que pena, no puedo usar este programa, pero mi paciencia me hace esperar.
Días después, veo en un foro que hay una traducción al inglés de dicho programa... increíble, esta es la mía! descargo y me pongo a usarlo...
Días más tarde, en un momento de ocio mientras uso el programa, me doy cuenta de que si traduzco el programa (de escasas 200 líneas, el archivo de idioma), permitiré a otras personas que no entienden ni inglés ni alemán, sacar provecho a esta hermosa herramienta.
Un par de horas traduciendo... y listo, el programa está ahora en alemán, inglés y español. Por unos momentos, te sentís el hombre más grande de la tierra, hasta que ves que a los pocos días, otro sujeto agarró ese archivo de idioma y lo tradujo al portugués... y la cadena sigue.
Quizás creas que no siendo programador, no sos bienvenido ni útil para colaborar... pero no, si sabes dos (o más) idiomas, ya sos un recurso más que valioso. Por lo que, si ves alguna aplicación que te es útil... y quieres devolver el favor, traduciendo quizás sea una excelente forma de dar una mano, para que otros puedan acceder al mismo producto sin que el idioma les sea un obstáculo.
Hacer tutoriales: Las visitas guiadas son mejores que ir a solas
Como dije por ahí, el tener una persona a tu lado para que te guíe, te salva mucho las papas... pero no siempre es el caso. Muchas veces, deberás recurrir a recursos como libros o tutoriales.
Los libros cuestan dinero... y muchas veces no existe material para la última versión de un programa, y menos aún... si es SL. En cambio, tutoriales hay montones... con solo buscar en Internet la palabra tutorial seguido de la temática en la que estás interesado, te sumergís en un océano de información.
Pero... ¿quienes hacen estos tutoriales?, hay personas que iro por su destreza, con decenas de tutoriales publicados (no importa cuan cortos o largos sean), ayudan a miles de personas de forma diaria... y no reciben nada a cambio. Hay un segundo grupo, que escribe tutoriales de vez en cuando, y que si bien no gozan de una biblioteca de información a su nombre, si que ayudan de la misma forma que los primeros.
La idea de esto, es que cada persona que pueda... y que sepa como hacer algo, lo documente. Si otro ya lo hizo, bueno... puede pasar, pero si nadie lo ha hecho y sabes como hacer que un programa cargue un 10% más rápido, o como ejecutar un juego en Wine, o no se... cualquier cosa que pueda ser útil a cualquier otro en el mundo, simplemente hay que escribir y publicarlo. Para esto último, una opción es montarse un blog en donde puedas almacenar información, aunque también queda la posibilidad de publicarlo en un foro, o incluso en algún sitio web que te permita subir este tipo de ayudas (que siempre será bienvenida por sus es y s).
Concluyendo, quizás escribir no sea lo tuyo... pero si lo es, o al menos te animas a intentar... y tienes algo que pueda ser de utilidad para otra persona, no dudes en hacerlo. Recursos como esos, son más que valiosos para quienes andan caminando en rutas confusas (perdidos, digamos).
Desmitificar: Las mentiras dejan remanentes, que pocas veces desaparecen
Muchas veces dicen esa frasesita, lo barato dos veces caro, y la verdad es que duele... porque meten el SL dentro de la bolsa, sin necesidad. Esta frase puede ser aplicada para cualquier producto tangible, pero para el software, y más el SL, no.
Reiteradas veces vemos empresas reconocidas, algunas por su monopolio, diciendo cosas hirientes sobre el SL, que se violan patentes, que el rendimiento es pobre, que no es una solución apta para empresas... y bueno, es entendible que digan este tipo de cosas, sabiendo la amenaza que implica para su negocio sostenido actualmente con alfileres.
Me he encontrado con cada cosa... con sujetos que nunca usaron alguna distribución de Linux, pero dicen que se instala con diskettes (si, de no creer)... otros que aún creen que la consola es algo estrictamente obligatorio para usar el sistema operativo del pingüino... e incluso hasta algunos que justifican gráficas bonitas en 3D, teniendo que pagar una fortuna en un ordenador que usarán para oficina...
La lista de mentiras que se ven por ahí, o cosas que confunden, es por demás larga... y no es motivo de este artículo. Eso sí, como de SL, es necesario salir a defender con verdades este tipo de ridiculeces que sujetos de traje dicen, y otros a pié repiten...
En fin, la idea es defender lo que tenemos, porque a diferencia de los productos propietarios, los de SL están construidos por sujetos de carne y hueso como nosotros, con intereses similares a los nuestros, y con una voluntad que pocas empresas -del otro lado- tienen hoy en día (y que difícilmente logren tener algún día en el futuro).
Conclusión
Una conclusión general para estas formas de colaboración con el Software Libre, es que cada uno puede ayudar... de una u otra forma, pero puede. Cada parte de esta gran comunidad, sumamente heterogénea, es importante, por más que programes, documentes, promuevas, traduzcas, informes errores, etc. ... por lo que tu ayuda será siempre bienvenida.
Me interesaría que en los comentarios, aquellos que deseen, puedan aportar otras formas de colaborar con el SL que se les vengan a la cabeza... ya que todas serán bienvenidas, y como no... estarán colaborando con el SL aunque no lo crean... ¿ven? es fácil...