gmaps.js: 4 lecciones open source en 4 pasos

Gracias a la invitación de ChelaJS estuve dando una charla en la Ciudad de México sobre gmaps.js, el proyecto open source que manejo.

gmaps.js nació como una biblioteca de uno de mis proyectos anteriores, y fue mi primer proyecto open source, el cual mantengo hasta ahora. Gracias a esta biblioteca aprendí los 4 pasos importantes para manejar un proyecto de este tipo:

Publicar

El primer paso siempre es el complicado. Muchas veces creerás que tu código es malo (y posiblemente lo sea!), pero no hay mejor trámite que el que no se hace. Empieza publicando código que crees que le puede servir a otros en GitHub o Bitbucket. El refactoring llegará luego.

Promoción

Publica el link de tu repositorio en diferentes grupos de Facebook, en tu Twitter, foros, blogs que hablen de lo mismo que hace tu biblioteca. Procura crear una página explicando qué hace tu biblioteca, incluyendo demos. GitHub Pages es una buena opción para esto.

Colaboradores

Cuando consigas gente llegando a tu repositorio, inevitablemente querrán participar en él. Es la naturaleza del programador. Crea una lista de recomendaciones para los pull requests que llegarán: Es importante guiar a tus futuros colaboradores.

Crecimiento

Cuando los colaboradores lleguen y tu biblioteca sea popular necesitarás dedicarle algo de tiempo extra a tu proyecto. Reserva unas horas a la semana para revisar los issues y los pull requests que lleguen, y también para preparar nuevos features por tu cuenta.

Y gracias a estos pasos aprendí 4 lecciones importantes:

Apoya a la comunidad

La mejor forma de devolverle a la comunidad todo lo que aprendiste es generar contenido para ella, y una de las mejores formas es creando código open source.

Recibe feedback

No te cierres en ideas. Mucho refactoring y buenas prácticas vendrán de tus colaboradores, sé abierto al feedback.

Aporta conocimiento

Otra forma de apoyar a la comunidad es mediante conocimiento. Vas a aprender mucho gracias a tu proyecto open source, devuélvelo a la comunidad mediante posts y charlas.

Aprende

Aprendes cuando recibes pull requests, pero aprendes mucho más cuando enseñas sobre lo que ya aprendiste.