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
- Comience a usar sistemas basados en Linux / Unix.
- Quédate en la terminal y disfruta trabajando desde allí.
- 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`)
- 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