Involucrarse con un proyecto de código abierto [cerrado]

19

Me dirijo a mi último año en ingeniería informática y he obtenido una pasantía para este verano y otoño. Como no haré la tarea, me encantaría aprovechar esta oportunidad para involucrarme en un proyecto de código abierto de algún tipo. Soy competente con C, C ++, Java y Python. También estoy bastante familiarizado con Linux, utilizándolo en mi computadora portátil en este momento y todas mis clases este semestre se centraron en él.

Estaba considerando echar un vistazo a Android o Ubuntu, pero en el pasado me sentí un poco abrumado. ¿Alguien tiene algún consejo? Interesado en lo que sería un buen proyecto para trabajar, dónde comenzar y si realmente podré contribuir mucho.

Y al final, ¿con qué frecuencia se aceptan realmente los cambios de las personas? ¿Con qué frecuencia escribiría código solo para rechazarlo?

tl: dr Buscando más experiencia en programación al contribuir a un proyecto de código abierto. Los nuevos en la escena necesitan consejos.

Tarmon
fuente
¡Diría que aterrizar aquí ciertamente vale la pena!
Squillman
66
Suena como una buena idea, pero revise las reglas de "pluriempleo" en la compañía donde realiza su pasantía. Algunos lugares, especialmente si son tiendas de software, serán muy restrictivos en lo que puede hacer, incluso en su propio tiempo y en su propia PC.
Steve
1
quizás considere aprender un nuevo lenguaje de programación que sea más declarativo que el que usted menciona. Como haskell o scala. Luego trabaje en un proyecto de código abierto.
mrsteve

Respuestas:

15

+1 a Steve Haigh por mencionar el pluriempleo.

Si trabaja para una tienda de software, puede encontrarse en una situación en la que su empleador reclama la propiedad del software en el que trabajó en su propio tiempo. Antes de comenzar, consulte a su empleador para aclarar la política de pluriempleo en su empresa.

Un buen lugar para comenzar podría ser OpenHatch . Son un sitio web dedicado a ayudar a las personas a involucrarse en proyectos de código abierto. Podrán darle una lista de errores "pequeños" para comenzar en cualquiera de los proyectos que se han registrado con ellos, y pueden ayudarlo a ponerse en contacto con otros contribuyentes que estén dispuestos a guiarlo en el proyecto y / o idioma de su elección.

La aceptación aguas arriba de sus parches dependerá y casi siempre depende de la calidad del parche, y si tiene casos de prueba acompañantes. De hecho, muchos proyectos no aceptarán parches a menos que incluyan una prueba que verifique el parche.
Dado que la calidad de su código es algo que será juzgado subjetivamente, prepárese para trabajar con críticas constructivas de los encargados del mantenimiento para mejorar su código.

Jeff Welling
fuente
1
Su política de pluriempleo es algo que ni siquiera había considerado. También OpenHatch.org se ve bastante genial. Regístrese ahora para verlo.
Tarmon
2
Otra nota sobre el pluriempleo, si do pedir a su empleador, es posible que desee hacerlo a través de correo electrónico para el rastro de papel. De lo contrario, ¿qué les impide cambiar de opinión más tarde y decir que nunca renunciaron a su reclamo sobre su proyecto? Solo un pensamiento.
Jeff Welling
¡No puedo creer que esta pregunta se haya cerrado, especialmente porque tiene tantas "respuestas" excelentes, basadas en opiniones o no!
Dave Kanter
7

Como gerente de un proyecto de código abierto (FireBreath), sugeriría que simplemente encuentre un proyecto que utilice o que le interese y busque formas de ayudarlo. Hay muchas cosas que puede hacer sin siquiera escribir ningún código. En nuestro proyecto, necesitamos personas para ayudar:

  • Probar e informar errores
  • Actualizar documentación en el sitio web
  • Ayuda a escribir herramientas secundarias
  • Pasar el rato en la sala de IRC y ayudar a los nuevos usuarios
  • Cree complementos de ejemplo usando FireBreath para que los nuevos usuarios los vean

Estos son específicos de mi proyecto, por supuesto (¡y puedes ayudar! ;-) pero todos los proyectos tienen cosas como esa que los nuevos usuarios pueden contribuir. Mi contribución más reciente a otro proyecto fue agregar una herramienta para una mejor gestión de los permisos de repositorio comodín en gitolite. ¡Quédese con proyectos que le parezcan interesantes o que pueda usar!

¡Buena suerte!

taxista
fuente
Ni siquiera pensé en cosas así. Gracias por las sugerencias Buscaré un nuevo proyecto que necesite ese tipo de cosas.
Andrew
+1 para documentación. Como coordinador de SharePoint SUSHI, una de las cosas más tediosas y difíciles de escribir son los documentos, pero también son los más importantes para los nuevos usuarios. Ayudar allí también lo familiarizará con las características del proyecto y cómo funciona.
Ryan Hayes
3

No puedo decirte qué proyecto debes elegir, esto depende de ti en realidad. Sin embargo, puedo decirle cómo participar: si siente pasión por algún proyecto, es decir, ha estado utilizando la aplicación durante bastante tiempo (para el sistema operativo puede que no sea tan fácil), siempre puede enviar parches con los cambios sugeridos (mejoras, correcciones de errores) y solicite a los propietarios del proyecto una revisión / integración.
Eso es bastante fácil con proyectos en GitHub: solo cree su parche y envíe la solicitud de extracción.
De todos modos, cuanto más valiosos parches envíes, más probable es que te den la bienvenida al equipo central.

Paweł Dyda
fuente
2

Si no eres experto en un idioma en particular, todavía hay muchas actividades que son altamente valoradas. Incluyen pruebas, escribir tutoriales, escribir documentaciones API, hacer el sitio web para los proyectos, etc. Si tiene un interés especial, busque un proyecto en esa área y contribuya con el conocimiento del dominio. (Por ejemplo, tenemos una comunidad activa de proyectos de sistemas operativos de química).


fuente
2

Para entrar en proyectos de código abierto, eche un vistazo a OpenHatch , esa es toda su misión:

Un proyecto de código abierto con el objetivo de reducir las barreras de entrada a la contribución de código abierto y aumentar la diversidad. Logramos estos objetivos a través de una serie de iniciativas ...

James
fuente
2
¿Le importaría explicar más sobre lo que hace y por qué lo recomienda como respuesta a la pregunta que se hace? "Enlace de sólo responde" no están muy bienvenida en la pila de Cambio
mosquito
1

Por ejemplo, Mozilla siempre está buscando programadores de C ++ para desarrollar y probar sus proyectos. Es abrumador para un recién llegado descargar la base de código masiva y pasar horas construyéndola. Luego, se necesitan alrededor de seis meses en los que pasa un promedio de más de 10 horas a la semana para familiarizarse con él y comprender un error o defecto o algo así. Luego, pronto deberías poder entender cómo lucir reproducir, aislar, arreglar, probar, prueba de regresión, aplicar el parche. A medida que lo haga más, puede obtener acceso directo de escritura a la base del código, supervisar una característica más o menos. Creo que esto es cierto para cada proyecto maduro con mucha gente trabajando en él.

Por otro lado, hay muchos proyectos que se están muriendo porque no hay nadie para desarrollarlos. Puede ser difícil encontrar personas que puedan ayudarlo o documentación sobre este tipo de personas.

Para lograr un equilibrio entre estos extremos, puede encontrar un programa que necesite usar con frecuencia o todos los días. Siga usándolo lo suficiente como para maximizar su conjunto de características pronto. Quizás desarrolle algún tipo de afinidad para usarlo sobre otras opciones. Luego, puede enviar una solicitud de función o asumirla usted mismo, ya que es probable que sea el que comprenda mejor la función que propone. En la superficie, esta opción te hace sentir que nunca vas a maximizar las características de un programa. Si permanece con él el tiempo suficiente, necesitará que el programa haga más de lo que realmente puede hacer. Podría ser una solución de seguridad / privacidad, algo sutil o una mejora de usabilidad.

vpit3833
fuente