¿Cómo y dónde comienzas si quieres contribuir a proyectos de código abierto? ¿Cuáles son los requisitos previos? ¿Cuál es el enfoque correcto para un programador aficionado?

Gracias A2A hablará sobre requisitos previos primero!

  1. Una mente abierta para trabajar con libertad.
  2. Una computadora normal (que tiene Linux preferiblemente) con una conexión a Internet.
  3. Conocimiento de al menos un lenguaje de programación si desea desarrollar / probar algo.

¿Cómo empezar a contribuir?

Depende de lo que haya hecho hasta ahora y de cuáles sean sus intereses. Si es un principiante, le sugiero que se una a las herramientas de la comunidad OpenHatch para obtener software gratuito y de código abierto. Este es uno de los mejores sitios web para principiantes para responder a todas sus consultas sobre cómo contribuir a las fuentes abiertas. También te ayudará a elegir un proyecto para ti.
Sin embargo, hay múltiples opciones para elegir:

  1. Clasificación de errores : una vez que haya seleccionado un proyecto, vaya a su sección de errores abiertos, vea si el error se ha archivado en el área correcta, si es posible, sugiera soluciones o muévalas al área adecuada.
  2. Documentación : la documentación desempeña un papel vital para el usuario final de un software. Contribuya a ellos para sus proyectos favoritos.
  3. Pruebas: Conviértase en un probador, obtenga la última versión del repositorio, pruébela en su máquina, errores de archivo, si los hay.
  4. Diseño : solo los codificadores pueden contribuir al código abierto es un mito. Si tiene interés en los gráficos, puede estar diseñando un logotipo o, dando un nuevo aspecto al sitio web del proyecto, también puede convertirse en diseñador.
  5. Nueva función : desea sugerir nuevas funciones para un software existente, adelante. Dígale al propietario del proyecto una buena cantidad de información para justificar sus cosas.
  6. Ayuda a la comunidad : casi todos los proyectos de código abierto tienen una comunidad / tiene foros, canales IRC donde puedes contribuir bien a las consultas publicadas por otros.
  7. Conviértase en traductor : la localización es algo que a todos los proyectos conocidos les gusta aprovechar. Transforme la interfaz de usuario del proyecto en su idioma local para que los locales también lo conozcan.

En primer lugar, el software de código abierto es un software que cualquiera puede usar, cambiar y compartir libremente (en forma modificada o no).

Siendo ese el significado teórico de lo que es el código abierto, el significado más profundo se alinea con la visión de mantener las cosas transparentes para el usuario para que el usuario comprenda totalmente lo que está sucediendo y, por lo tanto, tenga la oportunidad de marcar la diferencia al agregar la función ella quiere más del software / hardware en particular.

El primer paso en código abierto es identificar la organización que le gusta o cuya visión se alinea con lo que realmente quiere devolver al mundo. Cada una de estas organizaciones tiene su propia visión y misión de devolver algo a las personas, yo contribuyo a Mozilla debido a su visión y su misión en las que realmente creo, para dar a las personas un Internet sin límites y mantener la web libre.

Nuestra misión es promover la apertura, la innovación y la oportunidad en la Web.

En Mozilla, somos una comunidad global de tecnólogos, pensadores y constructores que trabajan juntos para mantener Internet vivo y accesible, para que las personas en todo el mundo puedan ser informados contribuyentes y creadores de la Web. Creemos que este acto de colaboración humana a través de una plataforma abierta es esencial para el crecimiento individual y nuestro futuro colectivo.

También hay muchas otras organizaciones, como Fedora, Ubuntu, GCC, Python, OpenCV, KDE. Muchas personas que están en estas organizaciones trabajan únicamente porque la misión / visión se alinea con su pensamiento o cómo creen que sería lo mejor para retribuir a la sociedad en general.

Después de elegir la organización, habrá varios proyectos disponibles para que pueda elegir o contribuir, Firefox es uno de los principales proyectos de Mozilla, hay muchos otros proyectos también como MDN (Mozilla Developer Network), Firefox OS, Persona, etc. .., La organización de su elección podría tener una página web / wiki dedicada a cómo comenzar a contribuir. En Mozilla tenemos algo llamado ¿Qué puedo hacer por Mozilla? [1]. Ayuda a llevar claramente a las personas a sus intereses en función del lenguaje de programación de su elección, etc.
Así que busque algo como eso que pueda ayudarlo a comenzar, el siguiente paso es buscar algunos errores, tomar el código fuente requerido y construir el sistema en su máquina de desarrollo particular y finalmente enviar un parche.

La principal diferencia entre trabajar con la base de código de una organización de código abierto y la base de código utilizada durante las Estructuras de datos de la universidad o cursos similares es el tamaño de la base de código. Averiguar dónde se encuentra el contenido y qué segmento de código hace cuál es el mayor desafío. Inicialmente, también podría ser un desafío comprender la base del código a pesar de que conozca el lenguaje de programación pero valga la pena. Tendrás personas increíbles que te ayudarán en el proceso, quienes podrían tomarse un poco de su tiempo libre para ayudarte si vas en la dirección correcta y sabes lo que estás haciendo exactamente.

Sí, contribuir a proyectos de código abierto requiere que tenga un conocimiento sólido sobre al menos un lenguaje de programación en caso de que esté dispuesto a saltar para contribuir a su base de código. Aparte de esto, bastante buena habilidad de lectura y paciencia para leer la documentación de cada proyecto, comprender uno de los muchos sistemas de control de versiones, ya sea git o mercurial o svn

Hasta donde sé, no hay nada llamado enfoque “correcto”, a veces la contribución de código abierto de un individuo entra porque usa el software en particular y su vida se hace más fácil al integrar una característica específica en este software, por lo que lo integran y contribuyen vuelve a la base de código original, diferentes personas tienen diferentes requisitos y personalizan el software según sus necesidades, algunos contribuyen con sus cambios con la esperanza de que ayude a alguien más, algunos prefieren tomarlo como un proyecto independiente por separado. La mejor manera de comenzar es elegir el proyecto y apasionarse por él.

p.ej. El navegador Tor es un proyecto derivado de Firefox, se ha personalizado para proporcionar anonimato y se ha convertido en un proyecto independiente.

Lo que elija, tiene que ser algo que use de alguna manera, de esa manera sabe lo que está haciendo y también sabe cómo funciona el software, por lo que es más fácil correlacionar el funcionamiento del código con su funcionamiento real.

Algunas sugerencias de mi parte cuando entras en el mundo de la contribución de código abierto serían

  1. Comience a usar sistemas basados ​​en Linux / Unix.
  2. Quédate en la terminal y disfruta trabajando desde allí.
  3. Conozca cosas básicas de la línea de comandos como man, grep y para cada comando tiene un archivo man. (man file = manual, si quieres saber cómo usar un comando específico, di grep, solo haz `man grep`)
  4. Un buen editor vim v / s emacs war siempre está ahí entre los desarrolladores, pero también puedes usar Sublime Text / Notepad ++

Contribuir al código abierto es una sensación increíble como desarrollador porque sabes que esas pequeñas líneas de código que estás escribiendo están afectando la vida de millones de personas que usan el software.

Otra cosa que surgirá en estos tiempos son los fanboys, compartiré una experiencia con ustedes, como colaborador de Mozilla, la pregunta que nosotros como evangelistas [2] enfrentamos es que las personas tercas dicen “¡Utilizo Chrome! como Firefox ”

Genial, no tenemos absolutamente ningún problema con eso. Desarrollamos Firefox solo porque nos encanta y el objetivo principal aquí no se trata de qué navegador realmente usas, nos encantaría si usaras Firefox, pero el objetivo principal es tener una web abierta.

Una web que es gratuita, abierta, segura, privada y, sobre todo, una web nuestra.

Esperamos verte con la comunidad de Mozilla.

[1] ¿Qué puedo hacer por Mozilla?
[2] Fuerza de tarea / Evangelismo

Hace unos meses, Sayan Chowdhury escribió una entrada de blog sobre esto: lea el original aquí: Cómo comenzar con Open Source.

Para aquellas personas perezosas que aún necesitan un resumen rápido, lean las siguientes líneas:
1. Seleccione uno o dos idiomas con los que se sienta cómodo (solo para principiantes; si es muy hábil con la programación, entonces el idioma no importa.
2. Encuentre proyectos en github, sourceforge, bitbucket que le interesen.
3. Vea las listas de problemas e intente encontrar un error que pueda resolver
4. Si falla en el paso 3 por primera vez, repita el paso 3 nuevamente; de ​​lo contrario, póngase en contacto con el responsable de mantenimiento que desea trabajar en el problema utilizando listas de correo o IRC.
5. Si no sabe cómo resolver el error / problema o cómo contribuir al proyecto que le interesa, haga una pregunta al mantenedor al respecto.
6. Si no responden, no se rindan, los desarrolladores siempre están ocupados.
7. Nuevamente, no te rindas . Primero intente contribuir a través de pequeños parches / soluciones fáciles. A los desarrolladores del proyecto Upstream no les gusta la alimentación con cuchara, así que asegúrese de probar algo y luego haga ping con el resultado. Feliz contribuyendo.

Aquí hay algunas URL, siga estas para contribuir:
encontrar errores relevantes de Mozilla
Solucionando problemas “fáciles” (y más allá)
GnomeLove / SubmittingPatches – GNOME Wiki!
Espero eso ayude. Si aún necesita ayuda, no dude en enviarme un ping.

Elija una comunidad (recomiendo Mozilla, Mediawiki, Chromium, Drupal o Ubuntu), ¡y simplemente acérquese a ellos! ¡Es tan fácil como eso!

La mayoría de estas comunidades tendrán “fruta baja” (“buenos primeros errores”) para que usted pueda hackear. La mayoría será útil cuando solicite ayuda con un error: todos recordamos nuestras dificultades iniciales, e incluso un programador experimentado puede tener problemas para sumergir los dedos de los pies en la gran base de código de algunos proyectos de código abierto.

Prerrequisitos
Debe conocer la programación básica y, preferiblemente , el control de versiones (más sobre este último punto más adelante). En la comunidad de Mozilla, he visto casos en los que un mentor finalmente le dará las líneas de código y dónde ponerlas a un novato, después de tratar de explicarlo por un tiempo. El punto es que, con esta excursión, el novato aún aprendió sobre la base de código, y cualquier complicación que le impidiera comprender claramente los comentarios anteriores del mentor se aclarará ya que ahora tienen la solución frente a ellos.

Además, no es tan probable que su habilidad de programación sea un obstáculo inicial. Trabajar con una base de código grande y con una comunidad es una habilidad completamente diferente, y los programadores de la mayoría de las aptitudes encuentran los mismos obstáculos aquí. Es bueno sumergirse en código abierto después de convertirse en un buen programador. Pero puede ser al revés convirtiéndose en un buen programador de sus contribuciones de código abierto. Básicamente, no lo mire como algo con requisitos previos que necesita estudiar antes de siquiera pensar en comenzar. Solo comienza 🙂

El enfoque correcto
El enfoque correcto … es acercarse! ¡Sé interactivo, pide ayuda, sé curioso!

Consejos generales

  • Aprende a usar IRC. La mayoría de las comunidades discuten cosas sobre IRC, y es aquí donde obtendrá ayuda.
  • ¡No tengas miedo de pedir ayuda!
  • Aprenda un sistema de control de versiones, como Git o Mercurial. La mayoría de las organizaciones de código abierto usan Git o Mercurial (la mayoría usa Git, en realidad). Estos sistemas son útiles para administrar el historial de código y para colaborar. A nivel local, le permiten realizar un seguimiento de sus cambios y corregir errores, así como trabajar en varias cosas a la vez sin tener que guardar copias del código. Además, son buenos para trabajar en colaboración en cosas, lo que los hace excelentes para proyectos de código abierto. Aprenda a usarlos, le ahorrará un paso cuando intente y envíe sus cambios.
  • Si está interesado en participar en Mozilla, lea Introducción a la corrección de errores para Firefox. Si bien la mayor parte de esa publicación es específica de Firefox, el “Paso 1” se aplica también a otros proyectos de Mozilla. Me gusta Mozilla porque tiene un buen sistema de errores de mentoría para facilitar la entrada de nuevos contribuyentes, y en general la comunidad es increíble.

Bifurcación – Copiar – Código – Enviar – Obtener apreciado – Repetir.

Hay muchos proyectos de código abierto alojados en github. Puede ver aquí una vista visual muy agradable de los proyectos. Desarrolle un software mejor, juntos

Crear cuenta en github. Descargue e instale git: el sistema de control de versiones que es una base de github y sus actividades. Puede leer la documentación completa sobre cómo configurar y vincular su cuenta de github con git aquí Configurar Git – Documentación del usuario.

Una vez que establezca proyectos simples de fork y pruebe el código en su máquina local, y si cree que vale la pena agregarlo a la base de código, cárguelo sin dudarlo. Si al administrador del proyecto le gusta, él / ella confirmará su cambio y se agregará al repositorio principal.

El código abierto es la mejor plataforma para principiantes. El software de código abierto es un software cuyo código fuente puede ser modificado por cualquier persona. El código fuente es la parte de la programación de software que el usuario de la computadora no ve.

Si comienzas con el código abierto, no es tan difícil.

  • En primer lugar, aprendes Git. Git está diseñado para manejar todos los proyectos, le permite tener múltiples sucursales independientes.
  • Regístrese en Github, Cómo las personas crean software, Github es un portal donde están disponibles todos los códigos de proyectos de código abierto populares y cualquiera puede ver su código.
  • Encuentre un interesante proyecto de código abierto en Github, para trabajar.
  • Si encuentra algún error en su código, puede hablar con otras personas en comunidades de código abierto como OpenHatch, OpenPOWER Foundation y Linux Foundation. ¡Eso es!

Es un trabajo muy agitado encontrar un proyecto de código abierto en línea, incluso si es un proyecto pequeño.

Finalmente, obtuve un sitio llamado OpenKube donde puedes encontrar miles de proyectos con un solo clic y si deseas contribuir a algún proyecto, puedes hacerlo también.

Espero que esto ayude.

Bueno, si alguien está buscando algo para hundir sus dientes, libreoffice.org es uno de mis favoritos.

Investigué un poco sobre este error / http://ask.libreoffice.org/en/question/24872/custom-cubic-spline-smoothing-equation-for-line-in-chart/ https: // www. libreoffice.org/bugzilla/show_bug.cgi?id=71799 , ¡pero no tengo tiempo para arreglarlo! Me pareció un proyecto divertido.