Conviértete en programador de software abierto

Autor: Morris Wright
Fecha De Creación: 24 Abril 2021
Fecha De Actualización: 1 Mes De Julio 2024
Anonim
Conviértete en programador de software abierto - Consejos
Conviértete en programador de software abierto - Consejos

Contenido

Escribir y usar software abierto no es solo una forma de programación (también llamada "piratería" en el mundo de los programadores), es una especie de filosofía. Si bien solo necesita conocer un lenguaje de programación para poder codificar, este artículo trata sobre cómo unirse a la comunidad, hacer amigos, colaborar en grandes proyectos y convertirse en un especialista respetado con un perfil que no puede obtener en ningún otro lugar. En el mundo del software abierto, se le pueden asignar fácilmente tareas que solo los programadores de élite y de alto nivel pueden realizar en una empresa. Piense en cuánta experiencia puede aportarle esto. Sin embargo, una vez que haya decidido convertirse en programador de software abierto, debe estar dispuesto a invertir tiempo en este objetivo. Esto también se aplica si ya eres un estudiante de informática. Eso sí, este artículo no trata sobre cómo convertirse en hacker o cracker.

Al paso

  1. Descarga una buena distribución de Unix. GNU / Linux es uno de los más populares para la programación, pero GNU Hurd, BSD, Solaris y (hasta cierto punto) Mac OS X también se usan comúnmente.
  2. Aprenda a usar la línea de comandos. Puede hacer mucho más con sistemas operativos similares a Unix si usa la línea de comandos.
  3. Aprenda algunos lenguajes de programación populares hasta alcanzar un nivel más o menos satisfactorio. De lo contrario, no puede contribuir con código (la parte más importante de cualquier proyecto de software) a la comunidad de software abierto. Algunas fuentes sugieren comenzar con dos lenguajes a la vez: un lenguaje de sistema (C, Java o similar) y un lenguaje de scripting (Python, Ruby, Perl o similar).
  4. Para ser más productivo, necesita NetBeans o un entorno de desarrollo integrado similar.
  5. Aprenda a usar un editor avanzado, como vi o Emacs. Tienen una curva de aprendizaje más alta, pero puedes hacer mucho más con ellos.
  6. Más información sobre el control de versiones. El control de versiones es probablemente la herramienta más importante de la colaboración para el desarrollo de software compartido. Comprenda cómo crear y aplicar parches. La mayor parte del desarrollo de software abierto en la comunidad se realiza mediante la creación, discusión y aplicación de varios parches.
  7. Encuentre un pequeño proyecto de software abierto adecuado en el que pueda participar fácilmente para ganar experiencia. La mayoría de estos proyectos se pueden encontrar en SourceForge.net en estos días. Un proyecto adecuado debe incluir:
    1. Usa el lenguaje de programación que conoces.
    2. Manténgase activo, con lanzamientos recientes.
    3. Ya consta de tres a cinco desarrolladores.
    4. Para usar el control de versiones.
    5. Tenga una parte con la que pueda comenzar de inmediato, sin tener que cambiar demasiado el código existente.
    6. Además del código, un buen proyecto también tiene listas de discusión activas, informes de errores, obtiene e implementa solicitudes de mejora y actividades similares.
  8. Póngase en contacto con el administrador del proyecto seleccionado. En un proyecto pequeño con pocos desarrolladores, su ayuda generalmente será aceptada de inmediato.
  9. Lea atentamente las reglas del proyecto y sígalas más o menos. Las reglas de estilo de programación o la necesidad de documentar sus cambios en un archivo de texto separado pueden parecer ridículas al principio. Sin embargo, el propósito de estas reglas es permitir el trabajo compartido, y la mayoría de los proyectos funcionan con ellas.
  10. Trabaja en este proyecto durante varios meses. Escuche atentamente lo que el administrador y otros miembros del proyecto tienen que decir. Además de la programación, tienes muchas cosas que aprender. Pero si realmente no le gusta algo, simplemente deténgase y cambie a otro proyecto.
  11. No se quede atrapado en el proyecto subterráneo por mucho tiempo. Una vez que pueda trabajar con éxito en ese equipo, es hora de comenzar a buscar algo más serio.
  12. Busque un software abierto serio de alto nivel o un proyecto de código abierto. La mayoría de estos proyectos pertenecen a organizaciones GNU o Apache.
  13. Debido a que estamos dando un gran salto aquí, hay que tener en cuenta una recepción mucho menos cálida. Lo más probable es que se le solicite ejecutar sin acceso de escritura directo al repositorio de código por primera vez. Sin embargo, el proyecto subterráneo anterior debería haberle enseñado mucho, por lo que después de varios meses de hacer una contribución productiva, puede reclamar los derechos que cree que debería tener.
  14. Asuma una tarea seria y resuélvala. Es la hora. No tengas miedo. Continúe incluso si encuentra que la tarea es mucho más difícil de lo que pensó inicialmente; en este paso es importante no darse por vencido.
  15. Si puede, solicite "Summer of Code" de Google para invertir algo de dinero en esta aventura. Pero no se preocupe si la solicitud no es aceptada, ya que tienen muchos menos puestos financiados que programadores realmente buenos.
  16. Encuentre una conferencia adecuada que se celebre cerca ("días de Linux" o similar) e intente presentar su proyecto allí (todo el proyecto, y no solo la parte que programa). Después de mencionar que representa un proyecto serio de código abierto / gratuito, los organizadores a menudo lo indemnizarán con la tarifa de la conferencia (si no, la conferencia probablemente no sea adecuada de todos modos). Traiga su computadora portátil Linux (si tiene una) y ejecute algunas demostraciones. Pregúntele al director del proyecto sobre los materiales que puede utilizar para preparar su presentación o póster.
  17. Busque en Internet anuncios sobre un evento de instalación cercano e intente participar como usuario primero (tenga en cuenta todos los problemas que surjan y cómo los piratas informáticos los solucionan) y ofrezca instalar programas la próxima vez.
  18. Complete la tarea, verifique su trabajo con pruebas automáticas y contribuya al proyecto. ¡Estás listo! Sin duda, trate de conocer a algunos de los programadores del proyecto en persona y levante un vaso de cerveza sobre el resultado.
  19. Para una mejor comprensión, mire un ejemplo real del historial de desarrollo de un proyecto de software abierto (ver arriba). Cada curva ascendente representa una contribución (líneas de código) de un solo desarrollador. Los desarrolladores tienden a volverse menos activos con la edad, pero el proyecto a menudo se acelera incluso cuando se unen nuevas personas. Entonces, si llega con algunas habilidades útiles en su bolsillo, no hay razones por las que el equipo no deba invitarlo.

Consejos

  • Antes de hacer una pregunta sobre los requisitos prácticos dentro del proyecto, busque la respuesta en la documentación del proyecto y en los archivos de la lista de correo.
  • Siempre siga intentando terminar cualquier trabajo de programación que haya comenzado. ¿No se puede construir, no se puede ejecutar, el sistema falla? Allí ser - estar razones para todo, y si tiene el código fuente, generalmente significa que tiene el sistema bien puede obligarte a hacer lo que quieras, especialmente con la ayuda de algunas investigaciones en línea. Esta regla tiene límites, por supuesto, pero de hecho es importante nunca darse por vencido con demasiada facilidad.
  • Llámese programador (o pirata informático) solo después de haber sido reconocido como tal por parte de la verdadera comunidad de piratas informáticos.
  • Al principio, elija una clase, módulo u otra unidad en la que nadie esté trabajando muy activamente en este momento. Trabajar juntos en la misma clase o incluso en un puesto requiere más habilidades y cuidado por parte de todos.
  • Los empleadores de algunos hackers / programadores parecen lo suficientemente motivados como para permitir contribuciones durante las horas de trabajo (generalmente porque la institución usa el programa de código abierto / gratuito que el programador está desarrollando). Piense, tal vez pueda obtener al menos parte del tiempo necesario de esta manera.
  • Si aún no tiene suficiente confianza en sí mismo, comience con alguna parte del código que crea que falta y que se puede escribir desde cero. Es mucho más probable que se critiquen los cambios en el código existente.

Advertencias

  • Su estado de hacker dentro del proyecto comunitario es más un reflejo de su presente que de su pasado.Si desea una recomendación o algo similar del líder del proyecto, pregunte si todavía está contribuyendo activamente.
  • No se meta en pequeñas optimizaciones de código, comentarios adicionales, mejoras de estilo de codificación y otras cosas similares de "pequeña escala". Esto puede recibir muchas más críticas que una contribución seria. En su lugar, puede incluir estos cambios en un único parche de "limpieza".
  • Si planea reunirse con los piratas informáticos de software abierto en persona, deje su computadora portátil con Windows en casa. Mac OS es un poco más tolerado, pero tampoco es bienvenido. Si trae su computadora portátil, debe ejecutar Linux o algún otro sistema operativo que consideren "software abierto".
  • Si su cliente de correo electrónico admite mensajes HTML, debe desactivar esta función. Nunca adjunte documentos que solo el software comercial (como Microsoft Word) pueda abrir correctamente. Los piratas informáticos consideran esto ofensivo.
  • No se ofrezca como voluntario en proyectos de una empresa cuyo código no esté cubierto por una licencia de código abierto aprobada. En tales casos, es probable que las partes realmente importantes del proyecto permanezcan a puerta cerrada del propietario, lo que le impide aprender algo útil.
  • Evite cualquier pregunta sobre los fundamentos de programación o herramientas de programación. El tiempo de un programador de software abierto es precioso. En su lugar, discuta los conceptos básicos de la programación en grupos de programadores principiantes o aficionados.
  • Los proyectos establecidos y altamente exitosos pueden tener políticas escritas o no escritas sobre nunca reembolsar su trabajo (sin dinero, sin capacidad para promocionarse, sin estatus elevado independientemente de su contribución, etc. - vea: Do_not_expect_reward Wikipedia). Si no está de acuerdo con esto, apéguese a proyectos más comunes que no puedan permitirse esa actitud.
  • No inicie su propio proyecto a menos que siempre quiera pasar en una soledad orgullosa. Por la misma razón, es mejor no embarcarse en un intento de revivir un proyecto ya abandonado que su equipo anterior ya perdió.
  • En el caso de una reunión informal sobre el proyecto al que nunca contribuyó con ningún código, tendrá la desagradable sensación de ser completamente ignorado. No se preocupe, algunos piratas informáticos pueden convertirse en buenos amigos después de que usted se gane su respeto con su propio código.
  • Los grandes proyectos de software abierto, especialmente aquellos relacionados con el dominio GNU, no tratan su trabajo como un asunto personal. Después de conseguir el trabajo en una empresa relacionada con el software, le piden a su empleador que firme ciertos acuerdos [1], que la empresa firmará o no. Esto puede obligarlo a seleccionar un proyecto con requisitos menos estrictos.

Artículos de primera necesidad

  • Linux. Muchos proyectos de software abierto son más complicados de construir en Windows o no se construyen correctamente en absoluto. Esto es especialmente cierto para proyectos avanzados dedicados a la programación de teléfonos móviles, llaves USB y otros dispositivos.
  • Una computadora con una conexión a Internet relativamente buena. Si desea mantener el arranque dual con Windows, un segundo disco duro o partición para Linux podría ser una buena solución.
  • Conocimientos básicos de al menos un lenguaje de programación y una fuerte intención de aprender más. Los lenguajes más populares actualmente parecen ser C y Java.
  • Una cantidad significativa de tiempo, al menos cinco horas a la semana (un programador incondicional típico contribuye con la friolera de 14 horas).
  • Si bien la educación formal en TI hará que su camino sea mucho más fácil, esto es lo no un requisito obligatorio y ninguna comunidad de piratas informáticos real te preguntará al respecto. Los programadores / piratas informáticos se juzgan entre sí por la programación de alguien, no por criterios falsos como calificaciones, edad, raza o posición. Eso sí, al menos el 60% de los piratas informáticos de código abierto que evalúan sus parches tienen el título universitario "correcto" y no le permitirán contribuir sin sentido al proyecto.
  • Durante los pasos finales (conferencia y 'fiesta de instalación'), puede beneficiarse de su propia computadora portátil. Pero no está bien trabajar en él en casa, así que solo compre uno si puede pagar la segunda máquina.
  • El camino descrito para convertirse en un "hacker" de software de código abierto tarda al menos dos años en completarse.