Pregunta

Me gustaría empezar a contribuir en algunos proyectos de software GNU. Dado que algunas semanas me imagino con un proyecto específico, pero no sé cómo y cuándo comenzar.

Tengo la sensación de que tiene que ser firme con lo siguiente:

  • Un lenguaje de programación
  • gcc
  • gdb
  • make
  • emacs
  • la propia aplicación
  • parches
  • CVS
  • etc.

Así que estoy tratando de aprender a todos lo mejor posible.

Pero: ¿Realmente tengo que dominar todos los programas / herramientas enumeradas antes contribuyo o debo unirse a un proyecto tan pronto como sea posible de modo que voy a aprender a todos "por el camino"? ¿Voy a recibir alguna ayuda con dificultades menores de programadores de GNU o no acaba de tener el tiempo para mis problemas "principio"? Espero que me puedan ayudar!

Todo lo mejor,

Inno

P.S .: Me gustaría unirse como desarrollador no como un documentator o IRC partidario:)

[EDIT]

Gracias por sus respuestas hasta el momento.

Ya consigo la aplicación compilada, depurado y funcionando, ese no es el problema más. Sólo algunas pequeñas cosas que no llegar al trabajo (creo que voy a seguir el consejo con IRC).

Me gustaría unirse al proyecto para familiarizarse con C (y el software libre / software de código abierto en general). Hice C cuando comenzó la programación y siempre le gustó, pero nunca tuvo la oportunidad de trabajar con él en un entorno profesional.

Desde que gano mi dinero de la programación desde hace 5 o 6 años que no soy un novato total de más;).

¿Fue útil?

Solución

La mejor manera es unirse al canal de IRC del proyecto en cuestión - si usted está teniendo problemas con la cadena de herramientas y usted indica que está trabajando en su proyecto , la mayoría de los desarrolladores de F / OSS le ayudará a cabo.

En particular, el proyecto Mono (C # en Linux) es realmente desarrollador amigable en su sala de IRC, y va a ser muy amable y paciente con nuevas personas que quieren ayudar a cabo

Otros consejos

Si ya tiene un conocimiento sólido de los fundamentos de la programación, entonces recomendaría acaba de unirse a un proyecto, encontrando algunas soluciones fáciles de errores o características cree que puede manejar, y el buceo. Una buena comunidad será capaz de ayudar con los detalles de control de código fuente y construir el binario si usted es un apasionado y dispuesto a ayudar. Muchos incluso pueden tener tutoriales que muestran específicamente la forma de hacer esto con su proyecto.

Si todavía están tratando de comprender los fundamentos de la programación, entonces probablemente debería mantener su enfoque en el aprendizaje de los conceptos básicos y la construcción de proyectos / tutoriales personales en primer lugar, a pesar de que no puede hacer daño a la salida una copia de la base de código de experimentar con en su propia máquina.

Además, observe que CVS es sólo uno de muchos VCS (sistemas de control Version) en uso. SVN y Git son otras dos opciones populares, pero todos ellos son relativamente fáciles de aprender -la Lo más importante es saber cómo crear algo digno de versiones. ;)

Es muy bueno que usted está dispuesto a contribuir! En general, se puede empezar con un editor de texto de su elección, aprender a usar diff y patch, y cualquiera que sea el lenguaje utilizado. También puede ser necesario utilizar un sistema de control de versiones (como la subversión, CVS, Git, etc.) para obtener el código fuente, pero no todas las complejidades - la mayoría de los proyectos que he visto que desee enviar un parche antes de dar a comprometerse el acceso.

buscar algo sencillo de solucionar y empezar a contribuir. Ayuda a ver lo que los otros desarrolladores específicamente quieren ayudar, quizá incluso pedir a ellos, diciéndoles lo que es bueno, si no tienen peticiones que figuran en la página web del proyecto. A menudo utilizando el software le dará buenas ideas acerca de lo que hay que mejorar, pero puede que tenga paciencia con los demás desarrolladores que tienen diferentes prioridades.

Para hacer una contribución significativa a cualquiera de los principales proyectos GNU (gcc, gdb, emacs, etc ..), que realmente necesita ser un experto en el área. Estos son todos los proyectos maduros que no ofrecen demasiado margen para un principiante.

Si se está preguntando acerca de software libre de código abierto (FOSS) proyectos en general, entonces usted no necesita saber nada de las herramientas específicas que mencionas. Obviamente, si el proj ect es desarrollar una personalización emacs sofisticados (por ejemplo), necesitará saber emacs. Para todos los proyectos que se necesita saber cómo utilizar el sistema de control de versiones utiliza el proyecto.

La línea de fondo para contribuir a proyectos de software libre es encontrar uno que le interese y profundamente a la que tiene el know-how técnico para contribuir. Si cualquiera de ellos se encuentra, es posible que así se olvide de la idea.

Me sospechar que el mínimo que tendría que aprender a contribuir sería el lenguaje de programación que se utiliza y una comprensión clara del objetivo del aspecto de la aplicación que estaba buscando contribuir también.

Probablemente va a enviar parches o modificaciones al código en primera instancia y luego no directamente en el árbol de fuentes. Sería bueno para al menos poder para que la aplicación de la fuente y ejecutarlo para ver sus cambios antes de enviarlos, pero que en realidad no significa que tenga que entender el archivo make sí mismo, sólo que usted es capaz de ejecutar hacer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top