¿Como es ser un mantenedor Open Source?
Tags: opensource, github, webdev, javascript
Published: 2024-03-27 17:55:48

Si estás leyendo esto, probablemente, tengas curiosidad de convertirte en uno, hacer contribuciones al open source o solo leer de que se trata esto, espero ayudarte un poco con este post.😊

## Un repaso breve de como me convertí en mantenedor Open Source🧐

Primero que nada soy mantenedor de una librería de Vue para realizar experiencias 3D, Y es aquí donde dos cosas muy importantes se unen las pasiones.

Me encanta programar y diseñar, descubrí el 3D con JS usando ThreeJs por allá por el 2021. En ese entonces (y como mucho) existía una librería muy buena para realizar estas experiencias sin usar vanilla JS llamada React-Three/Fiber. Pero la verdad nunca me sentí cómodo usando react 🚫.

No había nada para Vue, (había una solución, pero no era muy buena). Además, me había llamado la atención realizar contribuciones al Open Source, pero simplemente no había encontrado ningún paquete, o simplemente tenía desconfianza de hacer PRs a grandes repos.

En noviembre del 2023. Aparece Alvaro Saburido y crea TresJs. Lo vi por twitter, me llamo la atención, le escribí y me uní al proyecto, poco a poco empecé a empaparme del código y hacer contribuciones cada vez mayores.

Entonces (para ese momento los repos estaban en privado, tú no sabes si una librería va a gustar o no) Realizamos él anunció oficial y para sorpresa, la librería gusto mucho, siendo reconocida por grandes personajes del ecosistema de Vue como Evan You, Eduardo, Patak, etc.

Ya para aproximadamente febrero de 2024 Alvaro consulta por posibles mantenedores, acepte el desafío y acá estamos una librería con más de 1K en github con menos de un año de desarrollo :)

## Lo mejor de ser mantenedor👌

Entre lo mejor yo destacaría

### Aprendizaje 🎓

No solo tiene la oportunidad de desarrollar código a nivel mundial, sino de crecer muchísimo profesionalmente, diariamente me encuentro trabajando con personas de un muy alto nivel. 

Entendiendo como funciona una librería de manera interna, te abre muchas puertas, no solo entras a entender el porqué una librería se comporta de cierta manera, sino que aumenta tu confianza como desarrollador.

### Comunidad 🤝

La comunidad es definitivamente una de las mejores cosas, hablas con muchas personas, 95% de ellas dispuestas a ayudar, responderte, o guiarte.

Te permite ayudar/guiar a otros miembros de la comunidad, ya sabes lo que dicen: si quieres mejorar, explícalo.

### Trabajo... trabajo... 👩‍💻

Bueno, esto puede que no suene tan genial, pero es trabajo en tu tiempo libre, lo que implica que si no te sientes bien, tienes un evento importante, simplemente avisas y listo. Nadie va a "no pagarte" por alejarte del proyecto un tiempo.

Te proporciona un curriculum mejor posicionado que la mayoría. Para cualquier software engineer, incluso si no sabe nada de tu proyecto, puede entender y apreciar el trabajo Open Source.

Puedes ganar algo extra por donaciones, sinceramente esto no se hace por dinero, si ese es tu goal, te recomiendo emprender o buscar un mejor trabajo. Pero que alguien te dedique una cuota es un gran agradecimiento por las contribuciones realizadas

## Lo que no es tan bueno 🤨

De partida, ya tu foco principal cambia, y contribuyes al proyecto de forma diferente al bienestar del proyecto (organización de código, limpieza, discusiones, resolución de bugs, mejoras, DX, etc).

Si quieres que tu proyecto de OSS crezca y sea usado, conseguir contribuidores requiere bastante trabajo de marketing, planificación (incluye charlas, posts, RRSS, etc).

### Reviews 🔍

Gran parte es realizar reviews a los contribuidores, y muy personalmente no me gusta mucho hacer reviews de otros códigos porque siento que es casi como "criticar" (ojo es un tema totalmente personal, sé que no es una crítica destructiva ni nada, pero hay un sentimiento que no termina de gustarme)

## Responsabilidades, ¿Realmente que se hace? 📚

- Entre las tareas está. Ayudar a la comunidad, por cualquier medio, Discord, Twitter, GitHub, foros, etc.
- Resolver y encontrar bugs
- Reviews de los contribuidores
- Guiar e incentivar a los contribuidores
- Buscar formas de mejorar la DX(developer experience). 
- Hacer anuncios de las nuevas versiones (marketing).
- Definir junto al resto del equipo (si es un proyecto un poco más grande) el roadmap.

## Algunos tips personales sobre como contribuir al Open Source 📝

1. Buscar un proyecto que te guste y que uses a menudo, que esté en constante mantenimiento, y que esté buscando contribuidores
2. Buscar en la lista de issues, aquellos con "first good issue" o labels similares. Recuerda que puedes contribuir con traducciones, arreglando gramática, etc. No solo con código.
3. Revisa la documentación del proyecto, como realizar commits, o levantar el proyecto.
4. Pide ayuda, la gran mayoría de proyectos va a ayudarte y guiarte porque quieren que contribuyas al proyecto.
5. Recuerda que tu commit no debe ser perfecto, no te estreses y no olvides que las contribuciones son en tu tiempo libre, por amor, y para aprender.

## Conclusión

Ser contribuidor es algo maravilloso y lo recomendaría a cualquiera. Me ha traído muchas alegrías y mucho crecimiento personal, además he hecho amigos y ayudado a mucha gente.

Nuestro proyecto:

https://tresjs.org/