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.
fuente
Respuestas:
+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.
fuente
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:
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!
fuente
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.
fuente
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
Para entrar en proyectos de código abierto, eche un vistazo a OpenHatch , esa es toda su misión:
fuente
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.
fuente