Mantener repositorios de código abierto no es solo para "expertos". Incluso los desarrolladores junior pueden ser excelentes mantenedores. Aquí te explico cómo empecé a mantener un proyecto y cómo tú también puedes hacerlo.
This talk has been presented at JSNation 2023, check out the latest edition of this JavaScript Conference.
FAQ
Hacktoberfest es un evento anual donde los desarrolladores de código abierto se unen para contribuir en proyectos conjuntos. Para Brittany, su participación en Hacktoberfest 2019 fue decisiva, ya que le ayudó a superar la intimidación por el uso de Git y la colaboración en proyectos, además de impulsar su confianza como desarrolladora.
Brittany se inició en el mantenimiento de código abierto al decidir hacer público su repositorio de un sitio web que había creado para un evento de su grupo de recursos para empleados LGBTQ+ en Elastic, permitiendo así que otros pudieran contribuir y mejorar el proyecto.
Brittany inicialmente pensó que necesitaría ser una desarrolladora senior y enfrentar desafíos técnicos complejos. Sin embargo, descubrió que el mantenimiento de código abierto involucra más habilidades organizativas y de comunicación, y que la colaboración y el apoyo comunitario eran abundantes.
Brittany destacó varios beneficios de ser mantenedora de código abierto, incluyendo un aumento en la confianza en sus habilidades de desarrollo, la creación de conexiones valiosas y amistades dentro de la comunidad de desarrolladores, y la contribución a un pool más grande de herramientas útiles para todos.
Brittany anima a aquellos que han creado algo útil a que lo hagan público y se conviertan en mantenedores de código abierto. Destaca que esta es una excelente manera de contribuir a la comunidad y ayudar a otros a mejorar y utilizar lo que has creado.
Brittany está basada en Baton Rouge, Luisiana, en los Estados Unidos, y actualmente es jefa de relaciones con desarrolladores en Pixie Bricks.
Brittany Joyner comparte su experiencia de convertirse en un mantenedor de código abierto y destaca los beneficios de participar en proyectos de código abierto. Enfatiza que cualquier persona puede contribuir al código abierto, independientemente de su nivel de experiencia. Brittany también habla sobre las expectativas versus la realidad de mantener un proyecto de código abierto, resaltando el apoyo y la colaboración que recibió de la comunidad. Anima a otros a convertirse en mantenedores de código abierto, ya que puede aumentar la confianza, fomentar conexiones y llevar a la creación de herramientas más útiles.
1. Introducción al Mantenimiento de Código Abierto
Short description:
Hola a todos. Mi nombre es Brittany Joyner y hoy quiero hablarles sobre cómo cualquiera puede ser un mantenedor de código abierto. Solía trabajar en marketing y luego aprendí a programar porque quería convertirme en desarrolladora. Y ahora estoy fusionando todo eso como jefa de relaciones con desarrolladores en Pixie Bricks. Pero, ¿por qué estoy aquí hoy hablando sobre el mantenimiento de código abierto? ¿Cómo me convertí en una mantenedora de código abierto y qué significa eso? Volvamos a 2019, octubre de 2019 con Hacktoberfest. Fue una experiencia muy impactante para mí, ya que recién estaba aprendiendo a programar y me sentía muy intimidada por Git y por contribuir a proyectos con otras personas. Hacktoberfest me ayudó a salir de mi caparazón y darme cuenta de que no tengo que ser una desarrolladora senior para contribuir. Avancemos rápido hasta 2022, tenía un trabajo de programación a tiempo completo como ingeniera y era parte del liderazgo de mi grupo de recursos para empleados LGBTQ+ en Elastic. Creé un sitio web utilizando mis habilidades de programación y decidí hacer público mi repositorio para que otros pudieran unirse y ayudar a mejorarlo.
puede ser un mantenedor de código abierto. Y solo para contarles un poco más sobre mí, estoy basada en Baton Rouge, Luisiana, aquí en los Estados Unidos. Solía trabajar en marketing y luego aprendí a programar porque quería convertirme en desarrolladora. Y ahora estoy fusionando todo eso como jefa de relaciones con desarrolladores en Pixie Bricks. Eso es lo que estoy haciendo. Pero, ¿por qué estoy aquí hoy hablando sobre el mantenimiento de código abierto? ¿Cómo me convertí en una mantenedora de código abierto y qué significa eso? Primero, los llevaré en un pequeño viaje en el tiempo. Regresemos al pasado, antes de la pandemia, antes de tener que usar mascarillas y mantener distancia social y todo eso. Regresemos a 2019, octubre de 2019 con Hacktoberfest. Si no han escuchado hablar de esto antes, Hacktoberfest es básicamente un evento anual donde los desarrolladores de código abierto se unen y contribuyen en proyectos juntos. Es muy divertido. Este fue mi primer evento en 2019. Y fue una experiencia muy impactante para mí, porque en ese momento estaba aprendiendo a programar y estaba empezando a hacer algunas cosas, pero me sentía muy intimidada por Git y por cómo contribuir a proyectos con otras personas. Sabía cómo construir algo con HTML y JavaScript y CSS en mi propio sitio, pero ¿cómo trabajaba con otras personas en eso? Y ahí es donde Hacktoberfest realmente me ayudó a salir de mi caparazón y darme cuenta de que no tengo que ser una desarrolladora senior para hacer esto, y la comunidad es muy amigable y está dispuesta a ayudar, diciendo `no te preocupes, así es como lanzas un PR` o `no te preocupes, así es como puedes cambiar esto o aquello`. Fue una experiencia que me abrió los ojos y me ayudó a entender más sobre cómo colaborar con otros desarrolladores, algo que iba a necesitar en mi primer trabajo a tiempo completo. También fue una forma de ver que podemos construir cosas geniales juntos. Avancemos hasta 2022. El año pasado, tenía un trabajo de programación a tiempo completo como ingeniera y formaba parte del liderazgo de mi grupo de recursos para empleados LGBTQ+ en Elastic. Básicamente, estábamos organizando un evento. Iba a ser como una mini conferencia donde los diferentes miembros podían dar charlas sobre temas que les interesaban. Así que creé un sitio web utilizando mis habilidades de programación. Hice un sitio web genial que mostraba una agenda y charlas y cosas que íbamos a hacer. A todos les gustó mucho el sitio. Fue increíble. Y pensé, hmm, me pregunto si otras personas podrían querer usar esto. Podría ser una buena plantilla para un sitio web de eventos donde no tengan que programarlo todo desde cero. Solo tienen que cambiar el contenido y listo. Así que, avanzando rápido hasta octubre del mismo año, decidí hacer mi repositorio público para que otros pudieran unirse y ayudar a mejorarlo. Y, con suerte, unirse a Hacktober
2. Expectativas vs Realidad del Mantenimiento de Código Abierto
Short description:
Y así es como terminé aquí hoy. Pero no fue tan simple como eso. Quiero compartir con ustedes algunas de las expectativas frente a la realidad de mantener ese proyecto de código abierto. Mi primera expectativa era que tenía que ser una desarrolladora senior. Tenía que responder todas estas preguntas. Tenía que descubrir, ya saben, qué está pasando cuando las personas tienen errores. Pero en realidad, descubrí que mucha gente estaba dispuesta a ayudar. Por último, pensé que nadie encontraría mi proyecto. Pero especialmente al poder unirme al tren de la emoción de Hacktoberfest, tuve tantas personas que vinieron a ayudarme con mi proyecto. Muchas personas se unieron al repositorio, propusieron ideas de funciones, solucionaron problemas que había creado. Y fue emocionante ver que casi se volvía abrumador. Así que aquí hay un par de beneficios si aún estás indeciso. ¿Debería participar? ¿Debería ser un mantenedor de código abierto? Diría que definitivamente deberías hacerlo.
Cosas de Hacktoberfest y obtener más colaboradores. Y así es como terminé aquí hoy. Pero no fue tan simple como eso. Y estaba sentada aquí pensando, wow, esto no es en absoluto lo que pensé que sería mantener un proyecto, un repositorio público al que otras personas podrían contribuir. Y quiero compartir con ustedes algunas de las expectativas frente a la realidad de mantener ese proyecto de código abierto. Y así que mi primera expectativa era que, oh, tenía que ser una desarrolladora senior. Van a llegar preguntas de programación realmente difíciles y va a ser algo que está por encima de mi nivel. Y tengo que ser una persona importante en el mundo del código abierto. La verdad es que en realidad utilicé más habilidades organizativas y de comunicación que habilidades de desarrollo. Porque realmente estás coordinando a las personas que vienen a ayudar con las cosas. Ellos hacen el trabajo. Tú intentas guiarlos tanto como puedes, seguro. Pero definitivamente hay mucho más de organización y mantener a las personas alineadas. Y luego, pensé que iba a ser un deporte individual. Pensé, vale, voy a ser una mantenedora. Tendré que responder todas estas preguntas. Tendré que descubrir, ya saben, qué está pasando cuando las personas tienen errores. Pero en realidad, descubrí que mucha gente estaba dispuesta a ayudar. Incluso en mi empresa, cuando decía, hey, tengo un colaborador que está trabajando en esto, había personas en mi equipo que ni siquiera estaban afiliadas a mi proyecto y aún así estaban dispuestas a decir, oh, creo que podrían estar atascados con esto, ¿o han pensado en intentar esto? E incluso diferentes colaboradores terminaron uniéndose y ayudándose mutuamente con cosas. Fue realmente increíble ver eso. Y por último, pensé que nadie encontraría mi proyecto. Pensé que sería como personas entrando a una habitación vacía. Como si no hubiera nada allí. Pero especialmente al poder unirme al tren de la emoción de Hacktoberfest, tuve tantas personas que vinieron a ayudarme con mi proyecto. Muchas personas se unieron al repositorio, propusieron ideas de funciones, solucionaron problemas que había creado. Y fue emocionante ver que casi se volvía abrumador, porque constantemente tenía que estar pendiente de, oh, alguien quiere este problema. Oh, alguien necesita un nuevo problema. Creo que eso fue un buen problema para tener. Así que aquí hay un par de beneficios si aún estás indeciso. ¿Debería participar?
3. Beneficios del Mantenimiento de Código Abierto
Short description:
Porque, en primer lugar, te dará confianza. Obtendrás conexiones y harás amigos. Y por último, todos obtendremos más herramientas geniales. Si has construido algo que crees que otros podrían usar y tal vez también mejorar, hazlo público y conviértete en un mantenedor de código abierto. Muchas gracias por unirte. Mi nombre es Brittany. Si quieres charlar, puedes encontrarme en Twitter. Mi nombre de usuario es Brit underscore Joiner.
¿Debería ser un mantenedor de código abierto? Yo diría que definitivamente deberías. Porque, en primer lugar, te dará confianza. Gané mucha confianza en mis habilidades como desarrolladora y simplemente al poder contribuir con otros. Obtendrás conexiones. Harás amigos, ¿verdad? Hay algunas personas que contribuyeron a mi proyecto con las que todavía me mensajeo en Twitter. Y todavía nos reunimos y nos ayudamos mutuamente con cosas. Y por último, todos obtendremos más herramientas geniales. ¿No es genial? Piensa en todas las herramientas que usas. ¿Qué pasaría si alguien hubiera decidido guardarlo en su repositorio privado? Esperaré hasta tener tiempo libre para agregar las funciones que quiero. Sí, no creo que lo comparta aún. Si eso hubiera sucedido, piensa en cuántas menos herramientas geniales tendríamos hoy en día. Así que si puedo dejarte con algo. Si has construido algo que crees que otros podrían usar y tal vez también mejorar, hazlo público y conviértete en un mantenedor de código abierto.
Eso es todo por hoy. Muchas gracias por unirte. Mi nombre es Brittany. Si quieres charlar, puedes encontrarme en Twitter. Mi nombre de usuario es Brit underscore Joiner. Lo tienes justo ahí en la esquina. Espero poder charlar pronto con todos ustedes.
Hello my friend, in this talk, I wanna share with you how to build your own open source project. Building an open source software project can be challenging. I receive a lot of things randomly in a day, like thank you messages for making my life easier, which motivates me. To choose an open source project to work on, pick one you use every day. Your software is being used when people report issues and send pull requests.
Mark Erickson, a Senior Frontend Engineer at Replay, discusses JavaScript libraries and their support for TypeScript, including migration, versioning, and debugging. He also explores the challenges of supporting multiple TypeScript versions and designing APIs for use with TypeScript. Additionally, he shares advanced Redux type tricks and insights into maintaining a TypeScript library. The poll results reveal the widespread usage of TypeScript among developers, with many gradually migrating their codebases. Lastly, he provides tips for upgrading TypeScript and verifying functionality.
Nuxt.js modules are a central part of Nuxt and have had 14 million downloads. Creating Nuxt modules is easy with Nuxt 3. Modules can provide assets, CSS injection, plugins, and auto imports. Learning Nuxt modules gives a deeper understanding of Nuxt and extends its functionalities. The Nuxt community is friendly to newcomers and encourages module creation.
Race conditions can be complex to debug and reproduce, causing frustration for users. The speaker discusses examples of race conditions and ways to fix and avoid them. They demonstrate an example of an auto-completion field in React and how to handle race conditions in API calls. The speaker introduces the FastCheck framework for property-based testing to address race conditions and improve tests. Randomizing inputs and outputs can help uncover bugs specific to certain scenarios. The speaker also discusses mitigating race conditions in React and handling test overhead and reproducibility.
The Talk discusses how an open source library, ReactFlow, was made financially sustainable. Various methods were tried, including Github sponsoring and cross financing, but a price tag was eventually added to the library. Building trust and clear expectations through ongoing support and communication with subscribers was key to gaining financial support. The issue of people not knowing how much to contribute was addressed by providing a clear pricing structure. Additional features like one-on-one support and Pro examples were added to combat the paradox of choice and encourage financial support.
Esta masterclass tiene como objetivo brindarte un módulo introductorio sobre los aspectos generales del código abierto. Sigue a Claudio Wunder de la Fundación OpenJS para que te guíe sobre cómo funciona el modelo de gobierno de Node.js, cómo se toman decisiones de alto nivel y cómo hacer tu primera contribución. Al final de la masterclass, tendrás una comprensión general de todos los tipos de trabajo que hace el proyecto Node.js (desde la clasificación de errores hasta decidir los próximos 10 años de Node.js) y cómo puedes formar parte del panorama más amplio del ecosistema JavaScript.
Las siguientes tecnologías y habilidades suaves podrían ser necesarias: - Comprensión básica de Git e interfaz de GitHub - Conocimiento de inglés profesional/intermedio para la comunicación y para permitirte contribuir a la organización Node.js (ya que todas las contribuciones requieren comunicación dentro de los problemas y solicitudes de GitHub) - La masterclass requiere que tengas una computadora (de lo contrario, se vuelve difícil colaborar, pero las tabletas también están bien) con una configuración de IDE, y recomendamos VS Code y recomendamos la extensión GitHub Pull Requests & Issues para colaborar con problemas y solicitudes directamente desde el IDE.
Se cubrirán los siguientes temas durante la masterclass: - Un repaso de algunas características de la interfaz de GitHub, como los proyectos de GitHub y los problemas de GitHub - Repasaremos los conceptos básicos del código abierto y seguiremos la Guía de código abierto - Repasaremos Markdown - Cubriremos el gobierno del código abierto y cómo funciona el proyecto Node.js y hablaremos sobre la Fundación OpenJS - Incluyendo todas las formas en que uno puede contribuir al proyecto Node.js y cómo se pueden valorar sus contribuciones - Durante esta masterclass, cubriremos problemas de nodejs/nodejs.dev, ya que la mayoría de ellos son de nivel básico y no requieren conocimientos profundos de C++ o de Node.js. - Dicho esto, aún recomendamos a los asistentes entusiastas que deseen desafiarse a sí mismos a los "Good First Issues" de nodejs/node (repositorio principal) si lo desean. - Permitiremos a cada asistente elegir un problema o trabajar junto con otros asistentes para abordar problemas juntos mediante la función de Pair Programming a través de la característica de VS Code Live Share - También podemos hacer salas de descanso en Zoom para las personas que deseen colaborar juntas - Claudio estará allí para brindar apoyo a todos los asistentes y, por supuesto, responder cualquier pregunta sobre problemas y desafíos técnicos que puedan enfrentar - Las tecnologías utilizadas en nodejs/nodejs.dev son React/JSX, Markdown, MDX y Gatsby. (No se necesita ningún conocimiento de Gatsby, ya que la mayoría de los problemas son agnósticos a la plataforma) - Al final de la masterclass, recopilaremos todos los colaboradores que hayan abierto con éxito una solicitud de extracción (incluso si es un borrador) y reconoceremos su participación en las redes sociales.
Comments