¿Cómo hacen la transición los programadores del uso de código abierto para crearlo?

Parece que quiere dar un salto desde el uso de código abierto para crear una biblioteca de código abierto. Este es de hecho un gran salto. Te sugiero que comiences con algo pequeño:
1. Tome su herramienta de código abierto favorita.
2. Vaya a su lista de correo / sistema de seguimiento de errores.
3. Encuentra un error.
4. Reproduzca el error.
5. Comprender y corregir el error.
6. Escribe una prueba unitaria.
7. Envíe un parche.
8. Y voila! Has contribuido a un proyecto de código abierto que te gusta.
Después de hacer esto varias veces, tiene una idea del ritmo de un proyecto de código abierto.
A continuación, sugiera una función para un proyecto de código abierto.
Con el tiempo, ganará confianza y podrá construir su propio proyecto de código abierto.
Consulte las 14 formas de Andy Lester de contribuir al código abierto sin ser un genio de la programación o una estrella del rock para conocer otras formas de comenzar a contribuir al código abierto.

Le sugiero que elija el problema más común que las bibliotecas de código abierto intentan resolver (por ejemplo, la validación de formularios) y escriba una biblioteca para ello.

– Pero esto es pérdida de tiempo?

No. Como creará su repositorio, comience a escribir el código y se atasque, luego podrá buscar miles de bibliotecas ya existentes y cómo se ha resuelto el mismo problema. De hecho, puede parecer al principio que todos están equivocados y que conoces una solución mucho más simple . A medida que continúe desarrollándose, a menos que tenga mucha suerte, tendrá la misma deficiencia que el otro desarrollador. Lea el blog The Rule of Three de Jeff Atwood. Te llevará a la mentalidad correcta al definir los requisitos de tu biblioteca.

He escrito algunas bibliotecas ( https://github.com/gajus ) por mi cuenta y las hice de código abierto solo después de un tiempo considerable de desarrollo y uso con diferentes proyectos. Pero también he abierto algunos reinventando las implementaciones de la rueda , no tanto para el beneficio de la comunidad, sino más para alentarme a escribir un código limpio y reutilizable.