Mi relación con el Open Source
Mi relación con el Open Source
Siempre he estado ligado a gente muy comprometida con el Open Source y veo que es un mundo realmente apasionante.
Durante muchos años no participé porque veía que no estaba al nivel, que el código que hacía era “crap”. Así que me limitaba a usar los productos Open Source para desarrollos propios sin publicar nada. PHP, Java, PhpBB, jQuery, CakePHP, Joomla, Android, etc.
Creo que mi concepción del tema en este aspecto era totalmente errónea, precisamente por ser mi código basura tenía que haberme involucrado mucho más en estos tipo de proyectos durante mi época universitaria. Pertenecer a un proyecto Open Source no significa tan solo aportar código, aportar a un proyecto a un proyecto Open Source de forma activa significa participar en foros, usar el software, detectar problemas, reportar problemas, solucionar problemas, ofrecer soluciones, debatir soluciones, aportar código para solventar bug o añadir features y en un caso muy avanzado ser un commiter habitual o aportar al core como parte del equipo principal. Toda esta conversación hace que aprendas, en la mayoría de las ocasiones te gente entregada al 100%, si no puede aprender de alguien en un tema que realmente le apasiona deberías hacertelo mirar.
Una de las comunidades que me llaman más la atención es la Apache Software Foundation, me parece increíble como la gente colabora a través del todo el mundo y consiguen llevar a cabo proyectos tan grandes y tan usados al mismo tiempo que abarcan una índole tan diferente. Muy a su favor la incubadora de proyectos para que sea la propia comunidad la encargada de lanzar proyectos con futuros.
¿Cómo ha evolucionado la participación en proyectos FLOSS?
Antiguamente la participación era durilla para los iniciados, o al menos a mí me lo pareció en su momento.
Meterse en una lista de correo donde todo el mundo habla con mucho conocimiento de causa y donde la gente está cansada de ver mensajes de saludos de gente nueva.
Controlar el tema patches o svn no era algo que tuviera tantos tutoriales y ayudas como actualmente tienen git/mercurial.
Creo que nadie podrá llevarme la contraria si digo que la visibilidad de las comunidades de Open Source no era muy amplia. Al menos no lo amplia que es ahora. Actualmente tenemos sitios donde gestionar nuestros repositorios de forma muy fácil, con muchos tutoriales an UX realmente a muchos pasos de distancias de las “antiguas” formas de desarrollo. Code Google fue un primer acercamiento muy grande a lo que está siendo tendencia, generar redes sociales enfocados al desarrollo.
En este aspecto hay una rey indiscutible, Github, muchos proyectos se han mudado a esta plataforma que permite repositorios ilimitados de manera gratuita mientras estos sean abiertos y con licencias libres.
La facilidad de gestionar el código, un equipo, los issues, un roadmap, wiki, etc. Lo que es tener el ecosistema completo con una interfaz web muy amigable y de forma gratuita ha hecho que exploten esta serie de proyectos. Además cuenta con que trabaja con git/svn de forma indistinta, haciendo las colaboraciones a través de Pull Requests cuando hay gente ajena del equipo que quiere aportar.
Mi compromiso
Hay algo muy bonito en la vida que son las segundas oportunidades, he cometido mucho errores en la vida, muchos cometidos a conciencia y bien a gusto pero no contribuir activamente en algún proyecto Open Source es una de esas cosas que me quedan por hacer.
Para empezar mi compromiso durante lo que queda de 2013 y durante el 2014 me he propuesto liberar algunas de las cosas que realizo como desarrollador/investigador al mismo tiempo que buscaré algunos proyectos emergentes o que estén activos y sean de mi interés para lanzarme a coger alguna issue y resolverla. No voy a engañarme a mi mismo y pensar que voy a tener tiempo para pertenecer al Core de un proyecto y esa no va a ser mi intención, más bien aportar y descargar de trabajo a otros compañeros desarrolladores para aportar mi granito de arena a lo que considero el bien común.
Mi primera aportación seria. Atreides
Aprovechando este post quiero anunciar mi primera aportación, por ahora es una estructura de interfaces/clases, que espero convertirlas en una librería, destinadas a la gestión de Base de Datos SQLite para Android.
¿Por qué una librería nueva con las que ya existen?
Recientemente para un proyecto nuevo decidí buscar una librería para este tipo de gestiones pero todas requerían una parte de “setup” relativamente compleja. El uso que necesitaba era para unas tablas sencillas y me resultaba todo muy grande. Dedicando algo de tiempo he reunido varias funcionalidades que tenía por ahí en mi toolbox para manejar este tipo de situaciones y las he reunido en un proyecto.
Por ahora lo he nombrado como “Atreides” aunque el nombre no es definitivo. Le queda mucho recorrido y por lo tanto es muy mejorable así que acepto quejas, sugerencias, insultos, aportaciones y cualquier cosa que se os ocurra. Si alguien decide usar estas cosas me encantaría recibir feedback.
En el corto plazo la idea es poner algo de documentación en el README y depurar algunas cosillas, pero ya está echada para adelante.
No comments:
Post a Comment