Como montar tu proyecto de software libre

Aunque realmente no es el punto del blog al que voy a ligar ni tampoco diria que es mi tecnologia preferida. Si dire que muchos proyectos que quieras armar en una comunidad necesitaran un ambiente distribuido. Por que un ambiente distribuido? Por que queremos que usuarios puedan entrar, ver el codigo, descargarlo y compilarlo, tambien queremos que puedan editar antes de pensar en pedir permisos y contribuir. Esto es importante por que a diferencia del programador unico que hace programas, muchos proyectos son en equipos de programdores. En el software libre estos equipos son virtuales asi que pesa mucho la transparencia y tener estos conceptos antes de empezar el proyecto te puede ahorrar muchas tareas en el futuro.

Aunque el articulo no toca como usar SVN, si toca por ejemplo como instalarlo, configurarlo, y conectarlo desde NetBeans. Tambien muestra algunas opciones interesantes como el diff para ver las diferencias entre las versiones del archivo.

Finalmente se mete en terrenos que ya no van con el objeto de este post que es instalar servidor de aplicaciones via Hudson y un ambiente de testeo unitario. Creo que el testing es importante pero quizas es un tema para cuando ya se esta activamente desarrollando.

Ve al blog

Por favor comenta tus percepciones sobre la funcionalidad de la solucion.

Advertisement

Menos grupos de usuarios y mas grupos de desarrollo

Durante una conversacion en la lista de correo de LinuxCabal empezamos a hablar sobre el nivel de contribucion al software libre:

Sinceramente creo que hay un problema muy grande con la comunidad de software libre en general. Y en eventos como el FLISOL quizas sean un reflejo de esto. Y es que, solo se enfoca en crear usuarios. Realmente nunca se educa en la cultura de la contribucion. Interactuando con comunidades tecnologicas como la de web 2.0 esto se refleja en algo muy sencillo y curioso. Por una parte se consumen muchos Blogs, mucho del trafico de blogs en español vienen de Mexico.

Sin embargo nunca y ni por casualidad se generan comentarios en estos blogs. Esto realmente un fenomeno que tiene mucho que ver con el excelente consumismo que se orienta en Mexico, pero pocas veces se tiene el sentimiento de pertenencia y contribucion a lo que seria un blog, grupo o proyecto.

Llevo 10 años en el proyecto de OpenOffice.org Español y puedo hablar que en ese tiempo he recibido muchos correos que quieren participar en el proyecto de OpenOffice.org. La gran mayoria ha venido de Venezuela, España y Argentina y en menor grado de Chile y Perú, sin embargo de México ha ocurrido solo 3 veces en 10 años.

Cuando llevo este tópico a la discusión recibo las excusas que en México somos muy pobres para preocuparnos de contribuir, y que debemos primero sobrevivir y excusas muy atípicas y que realmente no tiene mucho que ver con la pregunta original. Cabe señalar que muchos de los voluntarios rara ves son informáticos, la mayoría son profesores de primaria, bibliotecarios, vendedores, y gente podríamos decir común y corriente que son tecnologos por aficion mas que por dedicación. Me pregunto si esto tiene que ver con la apreciación de que no se esta regalando su producto.

Son datos importantes que quizás den mucha perspectiva a cual es el estatus de Mexico en el contexto iberoamericano de uso y participación del software libre.

Que podemos hacer?

No tengo una respuesta definitiva, pero hay algunas cosas que se pueden tomar en cuenta. Una es cambiar el mensaje de solo usar Linux y SL a contribuir. hay mucha gente que ya son usuarios de anios, esa gente, hay que empezar a invitarla a contribuir. Lo otro es saber uno mismo como contribuir. Esto se hace acercandose a las comunidades y preguntarle como contribuir.

Hay muchas comunidades que tienen su paginas de “how to contribute”. Desde Mozilla, KDE, OpenOffice.org, Gnome, Drupal, Joomla, hasta comunidades mas pequeñas como los proyectos mas pequenios en Sourceforge, Google Code y FedoraHosted.

En OpenOffice.org (y otras) aparte de la participacion en el producto, se puede participar en cosas como extensiones que son micro proyectos dentro del proyecto de OOo. Ahi hay mucho para contribuir, tanto en funcionalidad como en desarrollo. En México por ejemplo el unico iberoamericano que he visto que ha contribuido otra cosa que no sea diccionarios, ha sido Eduardo Moreno el cual ha metido algunas extensiones de conversion de numero a  letra, mejoramiento de la paleta de colores, etc.
http://extensions.services.openoffice.org/en/search/node/Tokonhu

El es un amigo de muchos años en la comunidad, y empezo con una extension y ahora podras ver la cantidad de extensiones con las cuales a contribuido.

Una actividad que se le debe de dedicar tiempo sobretodo para programadores noveles, es a destripar programas y leer su codigo. Cuando un programa es orientado a objetos existen muchas clases y funciones que son como mini programas que se pueden replicar, entonces la construccion de software se vuelve 60% reutilizar clases y 40% escribir codigo. Lo de mas se puede copy-pastear…

Para eso necesitas entender que hace la funcion, y tener el criterio para sacarle el beneficio a esta. Una vez que entendiste que utiliza la funcion, y como lo hace, podras  aislarla e incorporarla a tu codigo. Viendo la gran cantidad de codigo que existe, se podria tener una conversacion mas especifica sobre como se pueden aportar codigos o librearias de codigo que automatizen el proceso.

En ese momento tu comunidad paso de de ser una comunidad de usuarios a una comunidad de desarrollo. Por que pasaste de preguntarse como usar linux, a como podemos resolver este problema en particular.

Eso si, hay un problema de fondo y de cultura y es que aun el programador tradicional no es muy colaborativo, la mayoria de gente que veo que desarrolla, casi no habla de su codigo ni de como resuelve procesos. De hecho el muestra el producto, pero casi nunca el proceso. Esto se debe cambiar.

Actualizacion: Este articulo causo reacciones en Facebook donde me apuntaron a este articulo donde habla de la contribución en general. (en ingles).

Mi respuesta es que simplemente son dos visiones completamente opuestas, el autor se enfoca que el crecimiento de usuarios dejara a los geeks en la minoria. Mi pensar no tiene que ver con la popularidad y el uso del software. Tiene que ver con la comunicacion que se esta dando en la actualidad, y cuantos de estos grupos estan llevando su mensaje “al siguiente nivel”. Esto me recuerda a una presentación que di en Valencia sobre el ciclo del usuario libre.