¿Cómo se convierte uno en un gran contribuyente a un proyecto de código abierto?

10

Sé que el consejo predeterminado para proyectos de código abierto, y para comenzar, es comenzar a corregir errores. Pero tengo la sensación de que es el camino que uno querría tomar si quisieran ser probadores / correctores de errores en el proyecto. ¿Cómo se convierte uno en un contribuyente activo de un proyecto de código abierto? [Es decir, en el nivel de la arquitectura]

monjes
fuente
15
Paso 1 - Conviértete en un gran contribuyente. Paso 2: recorta un poco.
psr

Respuestas:

10

Probablemente esto suene como una tautología, pero si desea convertirse en un importante contribuyente de nuevas características, use el producto por un tiempo, encuentre una nueva característica que lo mejore, escriba el código para implementar la característica y contribuirlo.

La razón por la que se recomienda a las personas que comiencen con las correcciones de errores es que eso les permite explorar la base de código y familiarizarse con la forma en que funcionan las cosas. Eso también lo llevará a participar en la comunidad de discusión del proyecto, sea lo que sea, (generalmente una lista de correo o un foro), para que tenga una idea de la dirección del proyecto. Te sentirías un poco tonto si logras el 80% de tu camino con tu nueva función solo para descubrir que alguien más ha estado trabajando en ello todo el tiempo y ¡solo lo terminaron!

Mason Wheeler
fuente
Lo suficientemente lejos, ¿diría usted que esta táctica es más política o vergonzosa? [Aka. anunciando un parche en un blog, antes de obtener permiso para comprometerse]
monksy
2
@monksy: no lo es, ya que normalmente no lo haría público, pero lo contribuiría a través de cualquier mecanismo apropiado para la base de código. Estás tratando de ganar confianza a través de la experiencia compartida. ¡No consigues cometer privilegios por gente molesta!
sdg
1
@monksy: no anuncies tu parche en un blog; ¿Cómo sabes que alguien del proyecto lo verá? Si tiene un parche, llévelo a la comunidad de discusión y hable sobre eso allí. Ahí es donde es probable que obtenga la respuesta más útil. (Por cierto, si tiene una corrección de errores, prepárese para demostrar que realmente hay un error. Esto significa que entiende lo que se supone que debe hacer el código y puede mostrar un caso reproducible donde hace otra cosa. Asegúrese de saber la diferencia entre un error y el código haciendo algo que se supone que debe hacer que no te gusta.)
Mason Wheeler
4

No hay atajos. Los proyectos de código abierto están extremadamente basados ​​en méritos. Cuando haya demostrado que es capaz de manejar tareas más pequeñas, con el tiempo se le confiará tareas cada vez más grandes. Los proyectos de código abierto también tienen mucho impulso por parte de los contribuyentes que contribuyen con uno o dos parches y luego continúan, e incluso más personas que "contribuyen" con una o dos ideas grandiosas pero no implementadas luego continúan. Si quieres hacer contribuciones más grandes, tendrás que demostrar que estás en él a largo plazo.

Dicho esto, las mejoras arquitectónicas incrementales a menudo son bienvenidas, especialmente si resuelven un error importante o un problema de rendimiento. Por ejemplo, hace varios años, uno de los pocos parches que contribuí al proyecto Cinelerra fue un cambio arquitectónico en la pila de deshacer que redujo significativamente el consumo de memoria y la latencia para las operaciones que no se pueden deshacer.

Encontrarás el mayor éxito si estás resolviendo un problema que estás enfrentando personalmente, en lugar de solo "convertirte en un colaborador de un proyecto de código abierto". Cuando envié ese parche a Cinelerra, no estaba tratando de contribuir con un cambio arquitectónico a un proyecto de código abierto elegido al azar, estaba tratando de descubrir por qué me tomó tanto tiempo mover un punto de entrada / salida al editar mis videos.

Karl Bielefeldt
fuente
¡Agradable! Siempre quise usar Cinelerra, pero siempre fue un fastidio instalarlo en gentoo. Gracias por las contribuciones Pero este es exactamente el tipo de cambio que estoy sugiriendo y preguntando. Es un cambio lo suficientemente grande como para que la gente se preocupe, pero no es una corrección de errores.
Monksy
2

Puede hacerlo conociendo a aquellos que ya están en esa posición y demostrando interés en unirse a ellos, lo cual se logra mejor solucionando errores, encontrando errores y participando en el desarrollo.

Ryathal
fuente
Parece un largo camino para tomar decisiones arquitectónicas / de diseño. [Estoy operando bajo la premisa de que las horquillas son malas]
monksy
@monksy parece que estás comenzando desde una premisa diferente a la que tal vez indica tu pregunta. Si usted cree que usted tiene una mejor mucho manera que un proyecto actual no, tal vez participar en una conversación abierta de bajo perfil para comprender mejor por qué las cosas están como están, y luego ir de allí ...
SDG
55
@monksy subir la escalera lleva tiempo, no puedes decidir comenzar en la parte superior a menos que hagas tu propia escalera.
Ryathal