seungwon

Experiencia de Contribución de Código Abierto

Creado: 2025-05-03

Actualizado: 2025-05-27

Creado: 2025-05-03 00:00

Actualizado: 2025-05-27 09:42

Este artículo tiene como objetivo dar ánimos a quienes están interesados en el código abierto pero sienten miedo de preguntar '¿Cómo me atrevo?', '¿Por dónde empiezo?'.

Hoy, me gustaría compartir mi experiencia de haber abierto la puerta del código abierto con valentía, y lo que aprendí y sentí en el proceso.

¿Código abierto?

Cuando estudias desarrollo, a menudo encuentras la palabra 'código abierto'. Si echas un vistazo a GitHub, verás un montón de proyectos que están moviendo el mundo con su código abierto.

Un proyecto que publica su código al exterior se llama 'código abierto'.
Por ejemplo, existen grandes proyectos de código abierto como OpenJDK, Spring Framework, Redis y React.

Contribución al código abierto

He contribuido al código abierto un total de cuatro veces hasta ahora. No es nada que agregue una característica que cambie el mundo, sino que estoy contribuyendo buscando pequeñas mejoras en el código abierto.

No sé el estilo de código de los proyectos anteriores y no sé exactamente cómo funcionan.

Puedes ver que puedes contribuir a la comunidad aunque no entiendas el código a la perfección. Solo llevo dos años en el desarrollo y no creo tener mucho talento en ello.

Simplemente disfruto contribuyendo al código abierto e interactuando con la comunidad de desarrolladores, por lo que mantengo estas actividades.

¿Por qué quería contribuir al código abierto?

Honestamente, al principio, no estaba completamente exento de la idea de '¿No sería bueno agregar una línea a mi currículum?'. Era bastante grande. Pero tenía un motivo más grande. Era el deseo de 'aprender más profundamente' y la necesidad de 'resolver los problemas que experimenté'.

Tuve la oportunidad de estudiar a fondo Project Reactor, que es la tecnología subyacente de Spring WebFlux, mientras usaba Spring WebFlux en un proyecto de equipo. Entendí los conceptos a través de libros y documentos, pero en un sistema complejo real, cómo funciona y cómo optimiza era un área que solo podía conocer al ver el código directamente y lidiar con ello. Además, a menudo me preguntaba '¿Cómo demuestro que he estudiado Reactor con diligencia?' y me dije '¡Necesito contribuir al código abierto!'.

Tan pronto como me decidí a '¡Quiero contribuir!', no tenía ni idea de por dónde empezar. Todo me daba miedo, desde encontrar la parte que necesitaba modificar en una gran cantidad de código hasta predecir cómo mis cambios afectarían a todo el sistema.

Parece que tardé mucho tiempo en registrar el PR porque pensé: '¿Qué pasa si subo un PR como yo y me insultan?'.

El cliente Java Redis de Reactor que estaba utilizando, Lettuce, tenía comandos reactivos basados en Reactor, y quería mejorar la cadena de Reactor directamente basándome en el aprendizaje de Reactor.

Simplemente hice un fork y revisé todo el código que incluía 'Reactive', 'reactor' en coincidencia de cadenas. Parece que revisé todo el código en el que las cadenas estaban compuestas por Reactor Publisher como Mono y Flux.

Después de leer el código a fondo, afortunadamente, encontré código que tenía un poco menos de legibilidad y encadenamiento de métodos incorrectos en uno de los códigos que usaban la cadena de Reactor. No fue una mejora de funcionalidad ni un cambio de arquitectura que cambiara el mundo, sino un problema pequeño y claro que podía entender y corregir. Pensé '¡Ah, si es esto, yo también puedo contribuir!'.

Basándome en el contenido que identifiqué, modifiqué cuidadosamente el código y verifiqué si funcionaba como se pretendía, aunque solo fuera de forma simple en el entorno local. Aunque fue un cambio pequeño, me acerqué con cuidado, tratando de seguir el estilo del código existente tanto como fuera posible y pensando muchas veces si afectaría a otras partes.

Era hora de confirmar los contenidos modificados y finalmente subir el PR. Sinceramente, hubo muchas preocupaciones y vacilaciones antes de presionar el botón 'Enviar'. Me preocupaba: '¿Está bien enviar un PR con este cambio?', '¿No me dirán que he arreglado algo obvio?', '¿Podré explicarlo bien en inglés?'.

Como dije antes, tenía mucho miedo de que me criticaran por mi falta de habilidades. Pero con la idea de que 'el principio es la mitad del camino' y 'no puedes aprender nada si no lo intentas', me armé de valor y presenté el PR, escribiendo en detalle mis cambios y los motivos.

Experiencia de Contribución de Código Abierto

redis/lettuce - #3061

Finalmente, mi PR fue 'Fusionado' y sentí una gran sensación de logro y satisfacción por el hecho de que el código que escribí y modifiqué se convirtió en parte de un conocido proyecto de código abierto utilizado por muchos desarrolladores.

Sobre todo, la mayor ganancia fue la confianza de que '¡Yo también puedo hacerlo!'.

¿Estás dudando en contribuir al código abierto ahora?

No importa si no lo entiendes a la perfección. Puedes empezar con pequeñas cosas como yo. Hay muchas formas de contribuir, como corregir errores tipográficos en la documentación, participar en la traducción o informar de errores simples. Lo importante es el valor de dar el primer paso más allá del miedo.

Si cometes un error, también es una oportunidad de crecer aún más al recibir comentarios de la comunidad a través de ese error.

Aunque también es una valiosa oportunidad para agregar una línea a tu currículum, contribuir al código abierto basado en el aprendizaje también puede ser un medio para demostrar que has estudiado muy duro.

No se pueden registrar comentarios en esta publicación.