¿Cómo empiezo a contribuir en proyectos de código abierto?

He estado involucrado en el grupo de usuarios de Durgapur Linux durante los últimos cinco años. He estado contribuyendo a varios proyectos de código abierto en algún momento. La razón principal por la que contribuyo al código abierto es la sensación, el disfrute cuando envías un parche o un RP a un proyecto de código abierto. Te hace feliz cuando millones de personas usan tus pocas líneas de código en el día a día.
Después de pasar por Google Summer of Code y obtener cobertura en Super Student, muchas personas se pusieron en contacto conmigo. Todos ellos tenían el mismo conjunto de preguntas.

  1. ¿Cómo empezar?
  2. Sé x, y, z idiomas. ¿En qué proyecto debo contribuir?
  3. ¿Cómo puedo filtrar un error?

Entonces, pensé en escribir una publicación de blog en la que trataré de responder las preguntas. Pero, primero déjenos una visión general sobre qué es el software de código abierto.
¿Qué es el software de código abierto (OSS)?
Open Source Software es un software de computadora cuyo código fuente está disponible públicamente para modificaciones y mejoras lanzadas bajo varias licencias. “¿Qué es código abierto?” Es una buena lectura.
Creo en el hecho de que leer algunas líneas de código vale más que leer 500 páginas de un libro. Cuando sigue el código escrito por grandes programadores, automáticamente tiende a aprender algunas buenas prácticas mientras codifica.
Incluso antes de estudiar la asignatura Ingeniería de software en la universidad, tenía conocimientos prácticos de sistemas de control de versiones, depuradores, rastreadores de problemas, herramientas de integración continua y todo esto se debió a contribuir a un proyecto de código abierto.
Haces un gran currículum que se destaca de la multitud. Contribuir al software de código abierto te ayuda a construir presencia en línea.
Pero, estas alegres palabras realmente no son de mucha ayuda para comenzar.
¿Cómo empiezo?
Lo primero y más importante es elegir un lenguaje de programación de su elección. Una vez que haya terminado de seleccionar un lenguaje de programación, busque un proyecto que le pueda interesar.
Open Hatch es solo para principiantes como tú. La página de búsqueda de Open Hatch filtra los errores basados ​​en

  • Idiomas
  • Proyectos

Mozilla también tiene una amplia gama de filtros de proyectos basados ​​en lenguaje de programación.

¿Cómo filtro un error?
En verdad, encontrar un error para un principiante es realmente un trabajo difícil. Me enfrenté a los mismos problemas. Pero enumeraré cómo encontrar errores fáciles y comenzar a contribuir con una gran organización.

Fedora
La página de Fedora Easy Fix enumera todas las soluciones fáciles con las que puede comenzar. Cada proyecto enumera a quién debe contactar y al responsable del proyecto.
Los repositorios de infraestructura de Fedora contienen algunas soluciones fáciles. Busque la etiqueta EasyFix en la sección de problemas del repositorio Infraestructura de Fedora

Mozilla
Comenzar con Mozilla es muy simple. Mozilla tiene múltiples puertas de enlace para sus nuevos colaboradores.

  1. ¿Qué puedo hacer por Mozilla?

Este sitio sugiere su proyecto en función de la habilidad de programación que seleccione. Una vez que decide que proyecta, lo lleva al proyecto respectivo de Mozilla.

  1. Bichos Ahoy!

Bugs Ahoy es un sitio especialmente para los nuevos contribuyentes. El sitio web clasifica los ‘Errores fáciles’ y los ‘Errores mentorados’ en función de varios proyectos como JS Engine, Devtools, Firefox OS, etc.
Pero, ¿qué pasa si no sabe qué proyecto se basa en qué lenguaje de programación? Errores Ahoy clasifica los errores fáciles en función de los lenguajes de programación, principalmente Python, Java, Shell, JS, C / C ++, HTML / CSS. Uno puede combinar la combinación de filtros para elegir el error perfecto para comenzar.

  1. Mozilla Involucrando páginas.

Mozilla tiene involucrarse, que enumera los proyectos en un equipo en particular. Los proyectos contienen

  • Los mentores con los que se puede contactar
  • Página de Bugzilla
  • Nombre del canal IRC
  • Lista de errores guiados
  • Cómo participar DevTools – DevTools / GetInvolved – MozillaWiki
  • Involucrarse mozilla.org – Webdev / GetInvolved / mozilla.org – MozillaWiki
  • Involucrarse AMO – Webdev / GetInvolved / addons.mozilla.org – MozillaWiki
  • Involucrarse SUMO -Webdev / GetInvolved / support.mozilla.org – MozillaWiki
  • Involucrarse MDN -Webdev / GetInvolved / developer.mozilla.org – MozillaWiki
  • Involucrarse Socorro – Webdev / GetInvolved / crash-stats.mozilla.org – MozillaWiki
  • Involucrándose Mozillians -Webdev / GetInvolved / mozillians.org – MozillaWiki
  • Involucrarse ReMo – Webdev / GetInvolved / reps.mozilla.org – MozillaWiki
  • Involucrarse input.mozilla.org -Webdev / GetInvolved / reps.mozilla.org – MozillaWiki
  • Involucrarse careers.mozilla.org -https: //wiki.mozilla.org/Webdev/…
  • Involucrarse QMO – Involúcrese

Aquí hay otro enlace para la lista de errores de Bugzilla: lista de errores

KDE
Si desea comenzar a contribuir a KDE, busque la etiqueta Junior Jobs . Al igual que cada organización, KDE también contiene una sección sobre cómo comenzar con los proyectos de KDE.

  • Primeros pasos – Contribuir – KDE TechBase
  • Creación de una aplicación de KDE: introducción / creación
  • Guía de KDE para un nuevo contribuyente – Guía de desarrollo de KDE
  • IRC – # kde-devel en Freenode
  • Lista de correo – Página de información de kde-devel

OpenStack
OpenStack también es un gran proyecto para comenzar. El proyecto OpenStack se divide en varios componentes: Swift, Glance, Nova, Horizon, Keystone, etc. Cada uno de estos componentes tiene su propia página. Si te diriges a la página principal de OpenStack Wiki, puedes ver los componentes listados por separado.
Cada página de Componentes contiene el enlace al repositorio, rastreador de errores (Launchpad), Documentación, etc. OpenStack llama a sus errores de principiante como ” Fruta baja “.

  • Primeros pasos: cómo contribuir
  • Si usted es desarrollador -https: //wiki.openstack.org/wiki/…
  • Documentación – docs.openstack.org
  • IRC – # openstack-101, #openstack en Freenode

¿Y para encontrar las frutas bajas? ¡Haga clic aquí!

Wikipedia
La mayoría de las personas en el planeta han oído hablar del nombre Wikipedia, pero alguna vez pensaron en contribuir. Wikipedia es apoyada por la Fundación Wikimedia. Mediawiki etiqueta sus errores fáciles con la etiqueta fácil. ¡Hacer clic!

  • Primeros pasos – Gerrit / Primeros pasos
  • Cómo convertirse en un hacker de Mediawiki – Cómo convertirse en un hacker de MediaWiki
  • Instalación de Mediawiki en el sistema local – MediaWiki-Vagrant – MediaWiki
  • IRC – #mediawiki

Ahora este enlace es importante

  • Pequeños bichos molestos – Pequeños bichos molestos

GNOMO
Gnome-love ‘ es la etiqueta de amor para los errores fáciles que quieren comenzar con GNOME. Si alguna vez visita la página de inicio de GNOME: el enlace ” Involucrarse ” es claramente visible en la barra de menú del encabezado. De todos modos, aquí está el enlace si no quieres buscar 🙂
GNOME mantiene una guía para los recién llegados: GnomeLove / NewcomersTutorial – GNOME Wiki!
Si desea saber cómo enviar su primer parche, lea esto: https: //wiki.gnome.org/GnomeLove/SubmittingPatches
Si desea compilar el código, simplemente compílelo desde aquí: https://wiki.gnome.org/GnomeLove/JhbuildIntroduction
Documentación: Centro de desarrolladores de GNOME

apache
Apache mantiene bastantes proyectos. Apache enumera un catálogo de más de 140 proyectos en los que uno puede comenzar a contribuir. La sección de Recién llegados es una lectura fácil sobre cómo comenzar en Apache, Apache Community Development – Bienvenido, recién llegado.

Involucrarse con Apache Software Foundation: http://www.apache.org/foundation…

Soy un desarrollador activo de Python / Django durante un par de años. Entonces, estoy agregando cómo se puede comenzar a contribuir a Python / Django

Pitón
Para comenzar a contribuir con Python, solo diríjase a la Guía del desarrollador ( Guía del desarrollador de Python). Comienza con la clonación del repositorio en su sistema, luego le indica cómo puede verificar las soluciones fáciles.
La guía del desarrollador menciona que, ¿cómo puede comenzar con la corrección de la documentación y luego avanzar para corregir pequeños errores? Una vez que se familiarice, puede comenzar a eliminar errores fáciles.

  • LEA: http://docs.python.org/devguide/…
  • Rastreador de problemas: lista de problemas – Python tracker
  • Problemas fáciles: Lista de problemas – Problemas fáciles – Python tracker

Django
Django es un marco web basado en Python utilizado por algunas compañías realmente grandes, como Disqus, Instagram, Transifex, etc. Para comenzar a contribuir en Django, dirígete a la página que contribuye a Django.
Esta página enumera los enlaces a la lista de correo, canal IRC, Issue Tracker.

  • Involucrarse en Django: Django

Como la mayoría del proyecto de código abierto, Django también tiene soluciones fáciles para los nuevos contribuyentes.

  • Pequeña mejora fácil – LittleEasyImprovements – Django
  • Recolecciones fáciles – Consulta personalizada – Django

La “Pequeña mejora fácil” también menciona un problema por el cual uno puede enviar parches para documentación, escribir pruebas o mejorar la base de código.
Django mantiene una página para asesorar a nuevos contribuyentes.

Contribuir a Open Source no obliga a contribuir solo a una comunidad conocida. Hay una gran colección de proyectos de código abierto disponibles en sitios web como Github, SourceForge, Bitbucket, etc. También hago cumplir el hecho de que solo la contribución de código abierto no ayuda. Uno necesita trabajar en proyectos paralelos para que las ideas sigan saliendo de su cerebro.

También me gusta citar algunas líneas de una buena publicación de blog.

No debes convertirte en un artista para ser famoso, pero porque hay arte dentro de ti que te matará si no lo dejas salir. No deberías encontrar una startup para ganar dinero, sino porque es el trabajo de tu vida. Y no deberías hackear proyectos de código abierto porque alguien te dijo que tu perfil de GitHub es tu nuevo currículum, sino porque quieres codificar socialmente.

Una vez que comienza a contribuir, comienza a interactuar con las personas a través de IRC, listas de correo. Le sugiero encarecidamente que siga la etiqueta que sigue una organización. En general, pase los ojos por esta presentación para obtener un resumen de la misma: http://www.shakthimaan.com/downl…

Incluso después de leer esto si tienes algún problema. No dude en comunicarse conmigo en Twitter o enviarme un correo electrónico a sayan DOT chowdhury2012 en gmail DOT com . También me gustaría agradecer a Chandan Kumar, quien me ayudó a escribir esta publicación de blog, se le puede contactar en chandankumar DOT 093047 AT gmail DOT com.

También puede dejar un comentario, para una organización de código abierto, intentaré actualizar la sección Cómo involucrarse para esa organización.

[Publicación cruzada de la publicación del blog Cómo comenzar con el código abierto]

1. Comience a usar GNU / Linux

En primer lugar, cambie a GNU / Linux (si aún no lo está usando) y conviértalo en su sistema operativo predeterminado, no salte entre GNU / Linux y Windows o Mac a menos que sea realmente necesario.

Elección de distribuciones:
Ubuntu ha sido el jugador más grande en el mercado desde hace un tiempo, pero no lo recomendaría a menos que sea nuevo en Linux. Han agregado muchas campanas y silbatos para facilitar a los antiguos usuarios de Windows / Mac recién migrados, pero esto es patéticamente lento. En el lado positivo, les da mucha base de usuarios y casi cualquier problema que enfrenten (incluso los más tontos), pueden pegar la cadena de error en Google y definitivamente recibirían alguna pregunta sobre el problema en sus foros en línea.

La principal diferencia viene con los paquetes, las distribuciones como Debian / CentOS se centran más en la estabilidad, por lo que obtendría paquetes de software relativamente antiguos en su repositorio, Ubuntu tiene paquetes relativamente más nuevos en comparación con ellos, pero aún no son los últimos. Arch Linux se encuentra en el otro extremo, tiene paquetes de última generación, la mayoría de las actualizaciones lanzadas para los softwares se sincronizan con el repositorio en unos pocos días. Pero con ese lujo viene el costo de la inestabilidad. Así que vamos a la mitad del camino aquí, ya que recién está comenzando, recomendaría Fedora: Decentemente estable, Proceso de instalación fácil, Paquetes de vanguardia. Más adelante, puede cambiar a Arch Linux si lo necesita.

¿Por qué estoy haciendo hincapié en los paquetes de vanguardia?
Porque cuando comience a contribuir al código abierto, tendrá que trabajar con la fuente de versiones inestables (aún no lanzadas) del software, que tendrá dependencias (otros softwares como) y si su sistema no proporciona la versión mínima requerida de dependencias, entonces tendrá que compilar incluso las dependencias de la fuente.

2. Stick a la terminal

No puedo enfatizarlo lo suficiente. Intente hacer todo lo que pueda con el terminal para que se sienta cómodo con él. Es una curva de aprendizaje empinada, pero una vez que la haya superado, comenzará a disfrutarla.

¡Es poderoso y divertido!
¿Cómo?
Digamos que hay 10000 archivos de texto en un directorio y necesita agregar una línea particular en la parte superior de los archivos que contienen ‘X’ en su nombre y tienen un tamaño> ‘Y’KB?

Si usa GUI, terminará revisando cada archivo que satisfaga los criterios de nombre y tamaño y luego lo abrirá en algún editor de GUI y pegue la línea en la parte superior y guárdelo.

En cambio, puede escribir un script bash de 4 líneas, ejecutarlo y dejar que haga su trabajo y jugar.

3. Familiarícese con algunas herramientas básicas de desarrollo

Para nombrar unos pocos:

Editores – Vim / Emacs
Control de versiones – Git / SVN
Utilidades para compilar – Make / CMake
Depuración – gdb, Valgrind
Herramientas básicas de Linux como: sed, grep, find, man, diff, etc.

4. Seleccione el software al que desea contribuir

En general, las personas notan algunas fallas en su software favorito o sienten que hay una necesidad de una característica en particular y entran y contribuyen a la aplicación, de esa manera uno se siente más motivado y da un placer inmenso ver a personas de todo el mundo usar esa pieza de código escrito por usted y apreciando la adición de características que hizo y sintió la necesidad de.

De lo contrario, también puede elegir un software en función de dónde se encuentran sus puntos fuertes, por ejemplo, si siente que es bueno en C ++, es posible que desee elegir alguna aplicación que esté escrita en C ++ O de otra manera, puede elegir algún proyecto basado en su dominio de interés (por ejemplo: Desarrollo web) y aprenda las habilidades necesarias para el mismo.

Lista de algunos proyectos de código abierto: Lista de paquetes de software gratuitos y de código abierto.

5. Contribuir

Revise el código fuente y obtenga una idea de cómo los diferentes módulos interactúan entre sí y cómo se han implementado las cosas.
Puede usar herramientas como grep o algún IDE para facilitarle la vida si el proyecto tiene una base de código relativamente grande.

La mayoría de los proyectos tendrán rastreadores de errores donde la gente archiva errores, revisa si no tienes nada en mente que quieras arreglar / implementar, y ve cómo puedes solucionarlos.

Hable con los encargados / encargados del proyecto sobre la función que desea implementar o el error que desea solucionar y cómo planea hacerlo y ellos lo guiarán desde allí … 🙂

Supongamos que desea contribuir a la organización X. Vaya a su wiki.

¿Conoces las tecnologías que utilizan?

  • ¿Si? La mayoría de las organizaciones de software libre tienen mucho para ayudar a un novato a contribuir a su software. Clonar el código fuente. Casi todas las organizaciones de software libre tienen algo para archivar un error, intente enumerarlas en un orden fácil o difícil. Muchas organizaciones de software libre tienen ayudas específicas para los novatos. Por ejemplo: GNOME (software) tiene GnomeLove, Linux Kernel tiene Linux Kernel Newbies, Mozilla tiene Qué puedo hacer por Mozilla, todo por novatos.

    Si te quedas atascado en algún lugar, lee blogs, lee tutoriales, haz ping a los colaboradores, pregunta en irc. Acechan en sus canales de IRC. Pedir. No lo dudes. Ni una sola vez. Si lo preguntas, te sentirás estúpido (si) solo por un segundo, pero no por toda tu vida.

  • ¿No? No hay problema. Comienza a aprenderlos ahora. Aprenda Git (control de versiones) o cualquier otro sistema de control de revisiones que use la organización de su proyecto favorito.

    Leer blogs La mayoría de los contribuyentes de código abierto mantienen un blog y tienen un perfil de GitHub.

    Necesitas entender que todo es difícil, hasta que lo aprendas. Comienza a aprender lo que te interesa. De nuevo acechan en los IRC. Pregunta a la gente si te quedas atascado en algún lado.

    Es muy fácil comenzar con las contribuciones de código abierto. Créalo y comience.

Algunos sí y no.

Hace:

  • Añádete a su lista de correo.
  • Hacer preguntas.
  • Lea los wikis correctamente, antes de hacer cualquier pregunta. La mayoría tiene ayuda increíble y páginas wiki.
  • Acecha en los canales de IRC (IRCHelp.org – Un tutorial de IRC).
  • Leer blogs.
  • Se honesto.
  • Aprende si no lo sabes, pero te interesa.

NO HACER:

  • No actues.
  • No mostrar.
  • No mientas mientras pides ayuda.
  • No asumas que no podrás aprender X.
  • ¡No apagues tu internet y tu mente!
  • Obviamente no abuses, si no recibiste la ayuda que esperabas.

Otros enlaces útiles:

  • Herramientas comunitarias para software libre y de código abierto.
  • Desarrolle un software mejor, juntos
  • Bountysource
  • Software de código abierto
  • Proyectos de código abierto
  • Google Summer of Code (GSoC)
  • Pasantías de software libre y de código abierto para personas de grupos subrepresentados

Escribí algunas publicaciones de blog sobre cómo contribuir al kernel de Linux y a otros proyectos de código abierto.

  • Kernel de Linux | Tamiz
  • Contribución de código abierto

Avísame si te quedas atascado en alguna parte. 🙂

La mayoría de las cosas son súper fáciles. Todo lo mejor.

Aquí encontrará buenos recursos, sesiones, descripciones detalladas paso a paso sobre cómo comenzar con un proyecto de código abierto de colaboradores, mantenedores y administradores de proyectos de código abierto. Puedes unirte al canal Slack si tienes más preguntas. Esta es la versión alfa de esta plataforma, avíseme si desea contribuir a este proyecto en su repositorio GitHub.

  1. Aprende Git
  2. Crear una ‘cuenta github’ Desarrollar software mejor, juntos
  3. Leer Configurar Git – configurar git
  4. Lea Crear un repositorio: crear repositorios
  5. Lea el repositorio de Fork A: cómo contribuir
  6. Lea Be Social: cómo interactuar con otros
  7. Elige un proyecto que te guste y comienza a contribuir

En cuanto a la segunda pregunta, sugeriría comprender el propósito del software. Que hace. Con qué interactúa y cuáles son los casos de uso. Y después de eso, profundizar en el código para comprender CÓMO lo hace.

Tengo una solución ad-hoc que descubrí cuando entré en OSS. De hecho, sospecho que casi todas las buenas respuestas a esta pregunta son ad-hoc .

  1. Vaya a la lista “Organizaciones aceptadas” de Google Summer of Code. Elija algunas organizaciones que le interesen. El enlace a la lista de 2011 está aquí http://www.google-melange.com/gs
  2. Para cada uno de estos proyectos, mire la “Página de Ideas” relacionada. Debería verse así:
  3. Encuentra ideas que te gusten. Los detalles variarán aquí: algunas organizaciones tienen un wiki, otras tienen una hoja de cálculo de Google. Sin embargo, cada idea debe tener una descripción, y posiblemente (con suerte) un posible mentor.
  4. Flotar correos electrónicos; trabajar en una buena idea respaldada por una buena comunidad. En mi caso, le envié un correo electrónico a una de las personas que figuran como “posible mentor”. El correo electrónico fue algo como esto:

Hola, soy Alex, y aunque NO ESTOY DE NINGUNA MANERA interesado en GSoC, estoy interesado en desarrollar $SOME_IDEA , y me preguntaba si estarías dispuesto a ayudarme a pasar por el proceso de no hacer redundancias y / o trabajo no útil

Gracias Alex “.

Por supuesto, si no hay un mentor posible, puede enviar un correo electrónico similar a, por ejemplo, una lista. Simplemente deje en claro que no está tratando de ingresar a GSoC y que desea ayudarlos. El objetivo no es solo examinar los proyectos, sino también las comunidades: desea trabajar en un lugar donde tenga una alta probabilidad de obtener código en el tronco. Si la comunidad parece estúpida, ve a otro lado.

Ahora, más importante, ¿POR QUÉ DEBE HACER ESTO? En pocas palabras, porque hay varias barreras importantes para comenzar a trabajar con OSS, y para la mayoría de las personas, son realmente difíciles de superar sin ayuda:

  1. Es difícil saber en qué proyectos trabajar.
  2. Es difícil saber en qué se debe trabajar en esos proyectos.
  3. Es difícil saber cómo acercarse a una comunidad o cómo enviar parches (especialmente si eres nuevo, la gente inteligente da miedo).

Usando la solución descrita anteriormente, estos problemas se abordan prácticamente: tiene una lista de proyectos para elegir, y tiene una lista de cosas que necesitan trabajar para cada uno de ellos, y en general, tiene una lista de personas que están dispuestos a ayudarlo a través del proceso de contribución. ¿Qué te deja esto? La codificación!

TEN EN CUENTA QUE SOY NUEVO AQUÍ. Si ve algo que podría mejorar, no dude en hablar.

Bueno. Entonces, ¡has decidido contribuir a un proyecto de código abierto! Felicidades ¡El viaje por delante será increíble y te transformará para siempre!

Esta es una pregunta bastante común que veo entre las personas que desean contribuir pero no tienen idea de cómo comenzar … Permítanme comenzar con las formas en que pueden comenzar a contribuir.

0. ¿Eres un codificador kickass? (bueno, no tienes que ser uno para ser franco)
Hay muchos softwares en varios dominios de la informática que requieren su experiencia en codificación. No necesitas ser un ninja codificador para contribuir. Si ya es usuario de FOSS, vea si alguna de las herramientas que utiliza a diario necesita ayuda. Suscríbase a su lista de correo. Vea si tienen un canal IRC. Cuelgue el IRC y asista a un par de reuniones. Esto le ayuda a comprender cómo funciona la comunidad y cuál es el objetivo que intentan alcanzar. o tal vez busque los proyectos en github (¿Dónde puedo encontrar proyectos de código abierto para trabajar?) que le parezcan interesantes. Una vez que decida a qué proyecto contribuir, comience a mirar la lista de errores. OpenHatch (herramientas de la comunidad para software gratuito y de código abierto) es uno de los pocos buenos lugares para buscar tales cosas. Hable con los desarrolladores sobre el error que ha decidido solucionar y analice cómo solucionarlo. codifícalo. Enviar una solicitud de extracción. Si los desarrolladores están satisfechos, fusionan su código en la rama maestra. ¡Y felicidades, te has convertido en un colaborador de código abierto!

1. ¿Eres increíble en la escritura técnica?
Muchas comunidades quieren personas que sean buenas en la escritura técnica. Como puede saber, hay muchas comunidades de código abierto que tienen poca / poca documentación y a las personas a menudo les resulta difícil comenzar con algunos proyectos. Puede comenzar a escribir manuales de inicio, fragmentos de código, tal vez un libro de cocina basado en su experiencia con ese software. Cualquier cosa y todo lo pequeño que sea será útil para una comunidad de código abierto.

2. ¿Eres increíble en el diseño?
Muchos softwares de código abierto carecen de una buena interfaz de usuario intuitiva debido a la falta de diseñadores de interfaz de usuario / diseñadores de interacción en el equipo. Comienza a ayudarlos. Comunidades como elementaryos (Get Involved | elementary OS) tienen un segmento especial para las personas interesadas en el diseño.

3. ¿Conoces varios idiomas?
Muchos proyectos de software requieren traducción para llegar a personas de todo el mundo. ¿Eres el que es bueno en un lenguaje oscuro para el cual la comunidad está buscando a alguien para traducir su software … adelante y ayúdalo!

Hay muchas comunidades que buscan personas que puedan contribuir a sus proyectos. Tómate un tiempo. ¡Decide el proyecto según tu gusto y comienza a contribuir!

Feliz contribuyendo!

Recuerda … no eliges la comunidad a la que contribuyes … la comunidad te elige a ti … ¡asegúrate de ser la persona adecuada y de encajar en su equipo! 😛

Otras personas ya describieron bastante bien cómo hacerlo . Intentaré ayudarte a elegir qué hacer .

Lo primero que debes hacer es preguntarte qué tipo de colaborador quieres ser. Hay varios aspectos que debe considerar en su decisión. Desarrollé, a lo largo de los años, un pequeño marco que utilizo cuando quiero elegir mi nuevo proyecto de código abierto:

  • Frecuencia: ¿Cuánto tiempo quieres pasar contribuyendo? ¿Unas pocas horas por semana? ¿Unas pocas horas al mes? ¿O solo una contribución muy adicional de vez en cuando?
  • Lenguaje de programación : ¿Desea contribuir a un proyecto con algún lenguaje de programación específico? Ruby, JavaScript, Java, lo que sea, la mayoría de los idiomas tienen toneladas de proyectos de código abierto. Contribuir a un proyecto de código abierto es una excelente manera de mejorar sus habilidades con un idioma que no sabe mucho al respecto.
  • Tipo de proyecto: ¿Hay algún tipo de proyecto que le guste más? Nuevamente, hay toneladas de diferentes tipos de proyectos por ahí. Algunos ejemplos son: herramientas de desarrollo, navegadores, sistema electrónico de registros médicos, pruebas de seguridad y muchos, muchos otros.
  • Por qué : ¿Cuál es su objetivo principal para contribuir a un proyecto de código abierto? ¿Quieres mejorar tus habilidades técnicas? Aprender un nuevo dominio? ¿Ayuda a construir un proyecto que pueda afectar la vida de otras personas?

Si tiene una respuesta para las preguntas anteriores, será más fácil tomar una decisión en el proyecto al que contribuirá. Te daré un par de ejemplos que me sucedieron en diferentes partes de mi vida:

Ejemplo 1 – OpenMRS

Frecuencia : unas pocas horas por semana. Lenguaje de programación : Java, al que estaba más acostumbrado. Por qué : Contribuir a un proyecto que pueda afectar la vida de las personas. Tipo de proyecto : Asistencia sanitaria.

En este caso, elegí contribuir a OpenMRS. OpenMRS era la elección correcta en ese momento, su código base está en Java e impactan a personas de todo el mundo. Sin embargo, no es muy fácil comenzar, debe dedicar un tiempo a comprender el modelado de datos, la arquitectura y otras cosas. Es muy difícil contribuir a OpenMRS si no está dispuesto a pasar una buena cantidad de tiempo en él.

Ejemplo 2: complementos de Grunt

Frecuencia : Pocas contribuciones a lo largo del tiempo. Lenguaje de programación : JavaScript. Por qué : quería mejorar mis habilidades de JavaScript. Tipo de proyecto : Cualquiera, siempre que el proyecto sea simple.

En este caso, elegí contribuir a algunos complementos de Grunt. Grunt es un corredor de JavaScript que mucha gente lo usa. Además, la mayoría de los complementos de Grunt son bastante simples y su código es bastante pequeño. Esta fue una buena opción para mí, ya que no estaba dispuesto a pasar demasiado tiempo trabajando en ellos y podía entender el proyecto con bastante facilidad porque son muy pequeños.

Ejemplo 3 – ZAP

Frecuencia : pocas horas por semana. Lenguaje de programación : Java. Por qué : quiero mejorar mis habilidades en materia de seguridad. Tipo de proyecto : herramientas de seguridad

Muy, muy recientemente comencé a contribuir a ZAP. Zap es una herramienta de prueba de penetración de herramientas y es perfecta para mi objetivo de aprender más sobre seguridad.

Hay una cosa más importante. Independientemente del proyecto al que contribuya, debe ser confiable y confiable. Sé honesto contigo mismo en cuanto esfuerzo estás dispuesto a gastar en el proyecto y comunícate claramente cuando hables con la comunidad de código abierto. Por mucho que tenga expectativas sobre la comunidad, la comunidad tiene expectativas con sus contribuyentes. Además, asegúrese de leer toda la información relevante sobre cómo contribuir en el sitio web del proyecto.

¡Feliz pirateo!

Primero, necesitas encontrar un lugar para alojarlo:

  • Sourceforge
  • GitHub
  • tu propio sitio
  • etc.

Luego, debe presentar los términos de la licencia. Cuanto más permisiva sea su licencia (es decir, Apache vs GPL), es más probable que las personas la usen y contribuyan a ella.

Ayuda si tiene una buena idea útil, y algún código existente con pruebas unitarias y muestras para que las personas puedan usar y jugar. Tener casos de uso claros y claros también ayuda

Recomiendo tener lo siguiente:

  • Documentación clara: acceda a Atlassian para obtener su software gratuito (de código abierto) JIRA / Confluence (Atlassian) / Fisheye que puede alojar en su propio sitio (o el de ellos). Nada mata un proyecto de código abierto más rápido que la falta de documentación
  • Foro (lo recomiendo en una lista de correo, especialmente si tiene usuarios no tecnológicos que no quieren verse inundados por una avalancha de correo electrónico en una lista)
  • Mapa vial

Construir una comunidad de código abierto es mucho trabajo y requiere mucho tiempo y esfuerzo. Debe ser muy bueno para responder preguntas de manera oportuna y tener una hoja de ruta y casos de uso.

Tener una demostración (tal vez incluso un pequeño video de YouTube) que muestre cómo usar su código y qué hace también es muy útil.

En cuanto a “marketing” e involucrar a otros, vea si puede agregarse a los enlaces en cualquier proyecto de código abierto relacionado o complementario.
Por ejemplo, cuando comenzamos Marketcetera, nos involucramos mucho en las comunidades QuickFIX / J y FIX, y obtuvimos mucho tráfico desde allí.

Agregue un lema que apunte a su proyecto en su firma de correo electrónico, eso también ayuda.

Sugeriría ir a una reunión local en el idioma que elija, para conocer a otros entusiastas. El aprendizaje de la codificación puede ser divertido y social cuando te encuentras en un grupo de personas de ideas afines, y puedes aprender mucho más rápido si hay personas a tu alrededor para ayudarte cuando te quedas atrapado.

Si te gusta Python, prueba http://python.meetup.com/ para encontrar una reunión en un área cerca de ti. Además de presentaciones ocasionales que son excelentes para aprender cosas nuevas, también hay noches de proyectos o talleres de fin de semana para aficionados de todos los niveles. Asistí a uno de estos eventos en Boston ( http://meetup.bostonpython.com/ ) y descubrí que es una excelente manera de comenzar y conectarse a la comunidad.

A partir de ahí, puede trabajar en proyectos en los que otros miembros de la comunidad están trabajando, lo que ayuda si no está seguro de dónde comenzar y desea elegir un proyecto que tenga algún nivel de interés y actividad.

Esta pregunta me parece un poco extraña: ¿por qué quieres trabajar en código abierto? Sin especificar sus objetivos, es difícil sugerir la mejor manera de comenzar. Aquí hay algunos pensamientos diferentes, bajo el supuesto de que usted es un estudiante universitario que ha escuchado que el código abierto se ve bien en un currículum, y desea trabajar en algunos en su tiempo libre para mejorar la “programación del mundo real” y ayudarlo a obtener su primer trabajo fuera de la escuela. (NB: no tengo idea si este es el caso para el remitente de la pregunta)

Esto es genial, pero también será difícil saltar a ciertas comunidades. Por ejemplo, muchos proyectos de código abierto de alto perfil son aportados principalmente por ingenieros de tiempo completo, la mayoría de los cuales tienen bastante experiencia. Como estudiante aficionado, probablemente sea un poco difícil entrar en un proyecto como este con cualquier tipo de contribución importante: por un lado, porque el ritmo del desarrollo será más rápido de lo que realmente puedes seguir, y para dos porque será difícil para los desarrolladores encontrar mucho tiempo para brindarle la tutoría que necesitará. A menudo, en el caso de los desarrolladores a tiempo completo que trabajan en Open Source, ya están dedicando tiempo a asesorar a los nuevos empleados en sus propias empresas, por lo que ayudar a un extraño saldría del “tiempo libre” que siempre es escaso.

En un proyecto como este (perfil alto, en su mayoría desarrolladores de tiempo completo), es mejor intentar encontrar soluciones específicas muy pequeñas para comenzar. Por ejemplo, intente configurar el producto como usuario y envíe parches a la documentación que facilite su puesta en marcha. Intente especificar algunas configuraciones falsas y asegúrese de que los mensajes de error sean razonables. Si encuentra mejoras, envíe parches. Si bien esto no lo ayuda a obtener excelentes habilidades de ingeniería de software, le brinda habilidades igualmente valiosas sobre cómo usar cadenas de herramientas comunes, cómo hacer un desarrollo basado en parches, cómo interactuar con una comunidad, etc. Sé que me veré favorablemente sobre tal experiencia en un currículum, incluso si los parches son triviales, ya que muestra iniciativa y competencia básica con una computadora. (milagrosamente, muchas personas en la industria no tienen ninguno)

Si está más interesado en trabajar en una contribución “carnosa” como una nueva característica, es mejor encontrar un proyecto al que contribuyan principalmente otros aficionados. Dado que están trabajando también en su tiempo libre, es probable que estén más dispuestos a ser mentores de un novato, y también pueden tener una barra más baja para aceptar contribuciones. El viejo dicho “los mendigos no pueden ser elegidos” se aplica un poco más con los proyectos impulsados ​​por aficionados, lo que funciona en su beneficio aquí. Sin embargo, aún recomiendo comenzar con algo pequeño como el anterior, para que aprendas la cadena de herramientas y les des tu nombre a los otros desarrolladores. Entonces vendrá de un lugar mejor cuando proponga por primera vez su nueva función.

En cuanto a elegir qué proyecto, mire a su alrededor qué código abierto ya utiliza. Si hay software que ya conoces bien, es el mejor lugar para comenzar a contribuir. Si es un software que usa a diario, estará más motivado para realizar mejoras o corregir errores. Bajo ninguna circunstancia debe elegir un proyecto solo porque tiene mucha expectación: realmente no mantendrá el interés, y eso demostrará cuánto esfuerzo realmente puede dedicar para contribuir.

Respeto la respuesta de Andrew Cooke. También estoy completamente en desacuerdo con eso.

No hay absolutamente ninguna razón para que un principiante de programación no pueda comenzar su propio pequeño proyecto de código abierto que rasca algo de picazón. Un pequeño script, un pequeño lenguaje de dominio específico que hace * algo * que quieres automatizar, lo que quieras. Luego, a medida que crecen sus habilidades, desarrolla la herramienta aún más y agrega más funciones que le permiten aprender aún más, en cualquier subsección del idioma que elija. Tienes total libertad y puedes sentirla.

Trabajar con una gran comunidad OSS para un proyecto existente, incluso para la documentación, es como trabajar para una gran empresa con toda la burocracia y la política molesta que conlleva. Las correcciones de errores tienden a ser mundanas, difíciles de encontrar e involucran “procesos” para volver a la línea principal o troncal. Incluso cuando trabaje en la documentación, pasará mucho tiempo en el “proceso” (tenga en cuenta las citas). En mi opinión, si quieres aprender programación, quieres aprender programación; no quieres aprender “proceso”. A partir de las experiencias personales de mí y mis amigos, puedo decir con gran certeza que va a perder mucho el disfrute de la codificación si trabaja con proyectos no triviales existentes.

Para aprender a programar o aprender un idioma, soy un firme defensor del enfoque de “solo haz lo tuyo y pide ayuda en irc”. Crece mucho más rápido y puede iterar mucho más rápido. Guarde el proceso para los burócratas, o al menos hasta que intente vender sus habilidades.

Creo que podría ser de ayuda para ti. Acabo de comenzar mis contribuciones de código abierto, después de serpentear durante casi un año, tratando de comenzar. Estaba enfrentando el mismo problema que usted, principalmente, la falta de información sobre cómo comenzar a contribuir y cómo leer el código.

Lo esencial

  1. Debes estar familiarizado con Github y Git . Muchas organizaciones de código abierto usan Git para administrar el control de código fuente. Debe poder clonar un repositorio, bifurcarlo, extraerlo de un repositorio, enviarlo a un repositorio, enviar una solicitud de extracción y también debe saber cómo manejar los conflictos.
    Mientras sepa tanto sobre Git, podrá comenzar a contribuir.
  2. Conozca el idioma de su elección a fondo. Por ejemplo, si desea contribuir al Spring Framework , es imprescindible conocer Java dentro y fuera. Si desea contribuir al compilador LLVM , es necesario conocer bien C ++ .

Cómo contribuir

  1. Elige un proyecto
    Vea qué proyecto le interesa y elija en consecuencia. ¿Te interesan los juegos? Echa un vistazo a Battle for wesnoth. Es un juego escrito en C ++ y Lua. Sin embargo, tenga cuidado de que no exceda sus habilidades. Por ejemplo, el juego que mencioné requiere un poco de inteligencia artificial para cualquier contribución significativa. Si no está interesado en la IA, entonces puede que no sea el proyecto adecuado para usted.
  2. Únete a la lista de correo
    Cada proyecto tiene una lista de correo. Si vas a su página de Github, o su página de inicio, podrás encontrarla. La mayoría de las veces, puede ser un grupo de google. A veces será una lista de correo en otros sitios como sourceforge o gna. Únete a la lista y preséntate.
    Me acabo de unir a la lista de correo de Wesnoth. Cuando te unas a la lista, escribe una publicación en la lista presentándote y diciéndoles que te gustaría contribuir. Te recibirán con los brazos abiertos y te darán dos o tres enlaces que deberías leer para entender cómo contribuir.
    En mi caso, me dieron el enlace a la página donde se archivaron los errores y me dijeron que comenzara con el más fácil.
  3. Elige un error
    Vaya a la página donde se han archivado los errores. Cada organización tiene errores en su software. Por lo general, los de baja prioridad o los menores no se tocan. Se dejan para principiantes para que puedan leer el código mediante la corrección del error.
    Elige la más fácil. Elegí uno que requería solo modificar una línea en un archivo.
  4. Pedir ayuda
    No pude localizar el archivo donde se suponía que estaba el error, así que publiqué en la lista de correo que detallaba el error que pretendía resolver y el archivo en el que se podía encontrar.
    Recibí una respuesta de inmediato. Me dijeron el archivo donde estaba ubicado y lo resolví.
  5. Enviar una solicitud de extracción
    Una vez que resuelva el error, envíe una solicitud de extracción a la organización. Si aceptan su código se incorporará en el repositorio principal.

Por lo tanto, ha comenzado sus contribuciones de código abierto.

Espero haber sido de ayuda.

Hablo desde la perspectiva de alguien que también está comenzando a navegar por la participación de software de código abierto.

Hay muchas formas de hacerlo. El primero, y el más fácil, es utilizar software y bibliotecas de código abierto. Otra es hablar sobre cómo lo estás usando. Para colmo, la parte del principiante es reportar errores, no solo decir que algo “no funciona”, sino también detallar los pasos para reproducir los errores.

Fue solo recientemente que comencé a aportar código a los proyectos. Mi experiencia es que no solo entras y dices “Quiero contribuir con código”. Sería más fácil usar alguna biblioteca para un proyecto real. Con el tiempo, encontrará agujeros y características faltantes que podrían ser útiles. Por ejemplo, estaba usando D3.js (biblioteca de JavaScript), y encontré alguna característica faltante. Propuse el cambio, y fue aceptado. Pero resultó que sería redactado debido a problemas futuros que no vi. De todos modos, para inspirar a otros principiantes, la conversación se puede encontrar aquí: https://github.com/mbostock/d3/p… . Como verás, es solo una línea de código 🙂

Esa fue mi primera contribución. Finalmente, estaba navegando por la página de Problemas del proyecto y encontré un problema que debería ser muy fácil de resolver. Le envié un correo electrónico al autor, Mike Bostock, y le pregunté si podía abordar ese tema. Bueno, solo estaba actualizando los ejemplos y renombrando las variables. Pero me sentí bien al poder contribuir. Puede ver algunos de mis confirmaciones de código aquí: https://github.com/mbostock/d3/c

Ya deberías saber que soy un principiante orgulloso y feliz 🙂 ¡También ten en cuenta que soy mejor en Python que JavaScript, pero me encontré contribuyendo a JavaScript!

——

Bien, esa fue la parte del “concepto”. Para el procedimiento exacto, sugeriré este entre tantos:

  1. Aprende el sistema de control de versiones Git. Intente usarlo para sus propios proyectos primero.
  2. Regístrese para obtener una cuenta de Github. Empuje sus propios proyectos allí.
  3. Juega con Git. Añadir cambios. Código de compromiso Empuje el código a su repositorio en línea.
  4. Juega con Github. Fork proyectos populares. Desarma el código. Haz tus propios cambios. Cometer cambios en su tenedor. Obtenga actualizaciones de los repositorios originales. Fúndelos en tu tenedor.
  5. Habla con los desarrolladores de Github. Diles qué parte de su código te molesta. Por supuesto, siga con un plan concreto para que su código no le moleste. Hacer cambios. Empújalos hacia tu tenedor. Envíe al autor original una solicitud de extracción para que pueda ver su contribución y fusionarla con el repositorio original.
  6. Hable sobre los proyectos de código abierto en los que participa.
  7. ¡Que te diviertas! 🙂

Debería encontrar un proyecto en Github y hacer algo no trivial con él. Al principio, no se preocupe por hacer algo por alguien que no sea usted. Una vez que esté utilizando el proyecto con éxito, es probable que encuentre algunos errores que podrá corregir y enviar solicitudes de extracción.

Participe en las discusiones sobre GitHub. Antes de enviar cualquier código nuevo (que será revisado por los encargados del mantenimiento de la base del código), tendrá que mostrarle al mundo que es un hacker de confianza y que su estilo de codificación supera el límite.

Comience un blog centrado en aplicaciones de software de código abierto. Una gran cantidad de comunicación de código abierto se realiza a través de la web, por lo que su capacidad de comunicar ideas con claridad es a menudo más importante que su capacidad de pensar como un programador.

Comience algunos de sus propios proyectos de código abierto. No se preocupe demasiado por la calidad del código si está comenzando. Solo asegúrese de que haya comentarios adecuados para que las ideas principales se expliquen en inglés simple.

Y lo más importante, diviértete. El código abierto se trata de compartir y conectarse con personas apasionadas.

Para convertirte en una estrella del rock en el mundo del software, tendrás que rodearte de programadores más experimentados. Durante aproximadamente una década, debes tratar de asegurarte de que haya muchas personas inteligentes a tu alrededor. Por cada hora de codificación aislada, debe haber 5-10 minutos de conversación sobre sus proyectos discutiendo patrones de diseño, algoritmos, presentación, documentación y estrategias de depuración.

Bueno, el código abierto es un área amplia. Cualquier cosa puede ser de código abierto, ya sea una biblioteca pequeña o un sistema operativo realmente grande. Primero necesita encontrar a lo que quiere contribuir.
Déjame darte un ejemplo, digamos que uso una distribución de Linux, que tiene Gnome como entorno de escritorio. Encontré algún problema que sigue ocurriendo en el sistema y es reproducible, bueno, se llama error. Puedo presentar un informe del error en el bugzilla de gnome. Incluso puedo tratar de corregir el error, pero para eso necesito identificar dónde ocurre el problema, que es un trabajo difícil. Requiere leer mucha documentación y comprender el código de otra persona, pero si lo he hecho, puedo agregar más funcionalidades al código. Pero el código también debe ser aceptado por la comunidad y debe estar lo más libre de errores posible.

Pasos generales para la codificación de código abierto:
1. Corregir errores. Esa es la mejor ayuda que puedes hacer a la comunidad.
2. Archive tantos errores como sea posible, asegúrese de que algunos se marcarán como Duplicados, pero eso hace que la comunidad sea más consciente del problema.
3. Use más software de código abierto, bueno, este debería haber sido el punto 1. Sin usar ningún software de código abierto, realmente no puede contribuir.
4. Cargue el parche en un error o una mejora y espere a que el administrador lo pruebe y le dé una confirmación o quizás le informe el problema con su solución.
5. ¡Disfruta de la gloria de tu código siendo utilizado por muchas personas en todo el mundo! 🙂

Hay muchos programas que usa todos los días que son de código abierto y ni siquiera se da cuenta. Por ejemplo:
1. Mozilla Firefox
2. Chromium (proyecto padre de Google Chrome)
3. Casi todos los navegadores excepto Apple Safari e IE.
4. OpenSSL
5. GIMP
6. Inkscape
7. Linux
8. VLC
9. Android (AOSP)
10. Git

Existe la posibilidad de que no haya nada que use diariamente a lo que no quiera contribuir, por lo que debe consultar algunos recursos en línea.

1. Github -> https://github.com (mejor para principiantes)
2. Koding -> https://www.koding.com
3. SourceForge–> http://sourceforge.net (Proyectos un poco difíciles de encontrar aquí)

La codificación de código abierto también requiere etiquetas. La mayoría de las conversaciones que tendrá con los desarrolladores serán en IRC o listas de correo. Debes ser cortés con la gente, ya que todos están viendo lo que estás escribiendo y nadie quiere un mal jugador en el equipo. Además, las personas no parecen responder tan rápido en IRC o en las listas de correo, así que espere un momento. Puede demorar algunas horas hasta que vea una respuesta, pero no irrite a las personas enviando correos no deseados o la sala de chat.

Aprendizaje rápido que debes hacer:
1. Algún sistema de control de versiones probablemente Git (el más utilizado ahora).
2. Aprenda a usar IRC, es realmente divertido de usar y una buena manera de hacer nuevos amigos que comparten la misma pasión que usted.
3. La mayoría de los codificadores de código abierto usan un sistema basado en * nix debido al acceso a la terminal, pero Windows también funciona bien. Hay muchos proyectos que se desarrollaron en Windows pero son de código abierto. Pero le recomendaría que cambie a Linux, está más hecho a medida para codificadores, o puede adaptarlo a sus necesidades. Windows carece de ese tipo de personalización. (Solo recomiendo usar Linux, no es obligatorio).
4. Aprenda python o Java o JS. C tiene muchos proyectos, pero al principio son muy complejos de entender. Los proyectos C tienden a tener una documentación más pobre en comparación con Java o Python.

Espero que esta respuesta ayude. Si alguien conoce más fuentes para encontrar proyectos de código abierto, por favor comparta.

También eche un vistazo al programa Google Summer of Code, que es una forma de inculcar hábitos de código abierto en las personas. Es un buen programa con muchas grandes organizaciones como parte de él.

Citaría una de mis respuestas anteriores sobre una pregunta similar:

Q1. ¿Cuáles son algunas de las técnicas que utilizan los desarrolladores experimentados para comprender rápidamente una nueva base de código y comenzar a contribuir a ella?

Mi respuesta, pegada aquí nuevamente:

Esto es lo que hago cuando trato de entender y contribuir a una base de código de código abierto, y me ayuda mucho:

1. Obtenga una visión general: el diseño general.
Identificar módulos y sus funcionalidades. Los proyectos populares con una gran cantidad de clientes, normalmente están muy bien diseñados. Paso 2-3 días en esto, 6-7 horas por día. Utilizo el software de diferentes maneras, tratando de “activar” y “ingresar” en diferentes módulos.
Hay muchos hilos de ejecución posibles, y simplemente jugueteo e intento identificar tantos como sea posible.

2. Vea algunos errores corregidos y cómo se corrigieron:
Primero, identifique algunos errores corregidos del rastreador de errores. Si es posible, identifique un error corregido por el autor o algún colaborador experimentado.
Ahora entra un buen uso del control de versiones. Tire de una versión del código con el error no corregido, en una rama separada. Luego, extraiga la versión del código donde se solucionó el error en otra rama. Identifique qué archivos cambiaron y mire los fragmentos de código modificado. Pase mucho tiempo rebotando entre las dos ramas y analice:
1. Qué hace la solución y cómo.
2. ¿Por qué se implementó la solución de una manera determinada, en cuanto al diseño?

Este paso ayuda a comprender mejor cómo un desarrollador experimentado corrige errores mientras se adhiere a un buen diseño. Nuevamente, paso 2 días en esto: se analizaron 2-3 errores corregidos.

3. Corrige algunos errores:
Una vez que he identificado dónde están la mayoría de las cosas, reviso algunos errores fáciles en el rastreador de errores e intento solucionarlos. Esto implica identificar pacientemente el módulo afectado primero. Si mi primer paso ha sido completo, no necesitaré mucho tiempo aquí. Ahora, la parte más difícil es corregir el error sin desviarse del enfoque de diseño “aceptado” para este programa.
Normalmente, primero escribo una solución muy ingenua, sin mucha consideración para el diseño, solo para ver si funciona. Si es así, trato de replicar el mismo enfoque de diseño que vi en el paso 2 (de algún otro error)

4. Escribe una nueva característica:
Reutilice los objetos / módulos existentes para implementar su propia característica. Si ha identificado los módulos correctamente y sabe cómo funcionan, esto debería ser bastante fácil. Es como trabajar con una API. La parte más difícil es hacer que su módulo de funciones sea reutilizable (para que otros lo usen)

Se tarda unas 3 semanas como esta para comenzar a sentirse cómodo con el código. La experiencia solo se puede obtener después de meses de corrección de errores y práctica.

La mayoría de los proyectos de código abierto se enumeran en Github. Puede contribuir a ellos de la siguiente manera:

1. Bifurca el repositorio y clónalo localmente. Conecte su local al repositorio original “ascendente” agregándolo como control remoto. Con frecuencia, los cambios de extracción de “flujo ascendente” se mantienen actualizados para que cuando envíe su solicitud de extracción, sea menos probable que se produzcan conflictos de fusión. (Consulte las instrucciones más detalladas aquí).

2. Haz una rama para tus ediciones.

3. Haga referencia a cualquier problema relevante o documentación de respaldo en su RP (ej. “Cierra # 37”).

4. Incluya capturas de pantalla del antes y el después si sus cambios incluyen diferencias en HTML / CSS. Arrastre y suelte las imágenes en el cuerpo de su solicitud de extracción.

5. Pruebe sus cambios! Ejecute sus cambios contra cualquier prueba existente si existe y cree otras nuevas cuando sea necesario. Ya sea que existan pruebas o no, asegúrese de que sus cambios no rompan el proyecto existente.

6. Contribuya en el estilo del proyecto a lo mejor de sus habilidades. Esto puede significar usar sangrías, punto y coma o comentarios de forma diferente a como lo haría en su propio repositorio, pero facilita que el mantenedor se fusione y que otros lo entiendan y mantengan en el futuro.

Referencia: cómo contribuir al código abierto


¿Te gusta mi respuesta?

Vota y sígueme para más cosas como esta.

  1. Primero debe elegir un proyecto para trabajar.
  2. Unete a la communidad. La mayoría de los proyectos de código abierto tienen comunidades en forma de foros, listas de correo o simplemente enviando un correo electrónico al contribuyente único.
  3. Estudie el proyecto, la base del código y sus necesidades (es decir, cree el código, ejecute el código, experimente con el código).
  4. Determine en qué área puede contribuir (es decir, garantía de calidad, documentación, limpieza de código).
  5. Comienza a contribuir.

Es genial !

Que ha decidido contribuir en proyectos de código abierto.

Comencemos con la parte del ” Cómo “.

Te recomendaría que sigas el camino de GitHub.

GitHub te permite a ti y a otros trabajar juntos en proyectos desde cualquier parte del mundo.

Permítanme que sea simple, estos son los pasos más importantes:

  • Aprenda el sistema de control de versiones Git. Intente usarlo primero para sus propios proyectos.
  • Cree una cuenta Git Hub . Leer Configurar Git: configuración de git.
  • Crea un repositorio . Añadir cambios. Código de compromiso Empuje el código a su repositorio en línea.
  • Bifurcar un repositorio . Fork proyectos populares. Desarma el código. Haz tus propios cambios. Cometer cambios en su tenedor. Obtenga actualizaciones de los repositorios originales. Fúndelos en tu tenedor.
  • Hacer cambios Empújalos hacia tu tenedor. Envíe al autor original una solicitud de extracción para que pueda ver su contribución y fusionarla con el repositorio original.
  • Sé social: aprende a interactuar con los demás. Habla con los desarrolladores de Github. Dígales qué parte de su código necesita mejoras. Por supuesto, siga con un plan concreto para mejorar su código.

Lee y aprende. Mucho Aprenderá el estilo de codificación de los committers.

La forma en que sangran, nombran sus variables, el tipo de estructuras de datos que usan y cuándo y dónde lo hacen, todo es importante.

Debe sumergirse en la base de código del proyecto para que su cultura de codificación crezca en usted y se convierta en la suya.

Todo lo mejor 🙂

El mejor artículo que he encontrado sobre cómo empezar como novato. Desglosa los pasos:

Empieza a escuchar
Únase a una lista de correo ya que esta será probablemente su fuente principal de comunicación. Sigue un blog relevante porque te dará información sobre lanzamientos futuros. Únase a un canal IRC dedicado para discutir problemas de desarrollo con otros desarrolladores.

Trabajar con entradas
Diagnostique un error para ayudar a otros a reducir el problema. Además, cierre los errores corregidos para ayudar a actualizar el sistema.

Trabajando con código
Pruebe una versión beta para ver si funciona correctamente. Solucione un error y documente si tiene éxito. Escriba una prueba porque nunca está de más hacer más pruebas. Silencie una advertencia del compilador porque podría ser inexacta. Agregue un comentario cuando sea necesario y confuso.

Trabajar con documentación
Cree un buen ejemplo de caso de uso adecuado.

Trabajar con la comunidad
Ayuda a la comunidad respondiendo una pregunta. Escribe una publicación de blog para compartir tus experiencias. Mejore un sitio web donde vea una necesidad.

Para la publicación completa del blog: 14 formas de contribuir al código abierto sin ser un genio de la programación o una estrella de rock

More Interesting

¿Qué deben saber todos los gerentes no técnicos sobre la gestión de desarrolladores de software?

¿Cuáles son los componentes del software y las diferentes fases del desarrollo del software?

¿Hay algún estudiante que sea programador profesional o desarrollador de software sin una computadora o computadora portátil?

¿Puede un desarrollador de software usar stackoverflow en su lugar de trabajo?

¿Cuáles son algunas técnicas "rápidas y sucias" que los principales programadores usan con frecuencia sabiendo que no deberían?

Actualmente estoy trabajando como ingeniero de control de calidad, pero quiero cambiar mi carrera y ser desarrollador de software. ¿Cómo debo proceder para lograr esto? ¿Debo dejar mi trabajo actual y comenzar a trabajar en otro?

¿Qué materias debo elegir para mis niveles A si quiero convertirme en desarrollador de software o ingeniero de software?

Cómo crear un software que use los componentes de un teléfono Android

¿Alguna vez solicitó un trabajo de desarrollador de software donde no conocía el idioma?

Cómo tener éxito como desarrollador de software independiente

¿Qué área de salud no ha afectado el desarrollo de software?

Aspirando a ser un profesional independiente en el desarrollo de software, ¿cómo empiezo?

¿Prefieres hacer una programación competitiva (o) trabajar en tus propios proyectos (o) tomar algunos buenos cursos en Coursera para mejorar tus habilidades de codificación? ¿Por qué?

En India, ¿qué tan difícil es para alguien trabajar como desarrollador de software si los antecedentes familiares de generaciones han estado en el negocio?

Como desarrollador de software con 1.3 años de experiencia, ¿cómo puedo obtener un trabajo como analista de negocios? ¿Qué herramientas necesito para dominar? ¿Qué tipo de preguntas de entrevista puedo esperar?