Cómo empezar a contribuir o usar software de código abierto

Este contenido está disponible en inglés (to translate other pages, Contact UsEnglish-Language-Flag-1-icon
 

 Introducción No. 1 – ¿Qué es el Software de Código Abierto?

Esta introducción explicará qué es el software de código abierto por medio de la respuesta a una serie de preguntas. Es posible que desee omitir algunas de ellas dependiendo de su nivel de conocimiento.

¿Qué es software?

Mientras que muchos de los dispositivos y herramientas que encontramos en la vida diaria (por ejemplo: martillos, refrigeradores, reproductores de CD, lápices, hornos de microondas) sirven a una cantidad limitada de propósitos, una computadora es un dispositivo multifunción. Las computadoras se programan para instruirlas en lo que deben hacer. El resultado de tal instrucción es llamado ‘software’ , el cual está compuesto de programas y aplicaciones.

Si tomamos como ejemplo una computadora personal (un dispositivo de escritorio, un portátil, un netbook, etc.), esta se puede usar para ejecutar un navegador web, un procesador de textos, un programa de hoja de cálculo, algunos juegos y otros programas – usualmente ejecutándose al mismo tiempo. También puede descargar de forma gratuita, comprar o incluso acceder directamente a través de Internet (por ejemplo en sitios web que contienen juegos en línea) a otros programas que se pueden ejecutar en el equipo.

Evidentemente el software no sale del aire: tiene que ser escrito por programadores. Una vez escrito se puede distribuir como archivos ejecutables en lenguaje de máquina; como código fuente modificable (que debe ser procesado por otro programa para que pueda ser ejecutado); o utilizando un enfoque intermedio generando un bytecode independiente de la máquina llamado a veces “código P” el cual se crea a partir del código fuente y luego se ejecuta. En cualquier caso, el código fuente del programa siempre existe (o existió) en alguna parte, y se utilizó para preparar el software para su uso y distribución.

¿Qué es el software “genérico”?

Es un software que sus programadores han escrito para que otras personas puedan utilizarlo “para tareas generales”. Puede ser vendido en tiendas, comprado a través de Internet, descargado gratuitamente, o lo que sea, esperando que sea usado por un número sustancial de personas. Se puede encontrar muchos programas de esta categoría en los hubs del desarrollo de software tales como SourceForge, en directorios del software tales como Freecode, y en muchos otros sitios.

Puede parecer sorprendente, pero la mayoría del código fuente en el mundo ‘no es’ ‘para software genérico. Gran parte del código existente se utiliza en soluciones “a la medida” o como código “interno”: en bancos, gobiernos, empresas; y una gran parte se encuentra embebido en dispositivos. Supongamos que ha abierto una hoja de cálculo y ha escrito una fórmula sencilla (como “= $ A1 + B $ 2”). Esta pequeña fórmula es código, y a menos que vaya a compartir la hoja de cálculo con el mundo (la mayoría de la gente no lo hará por diversas razones) seguirá siendo código “a la medida”. Un usuario de línea de comandos de UNIX puede escribir muchos pequeños scripts cada día (como “grep -F hola *” para buscar archivos que contengan la palabra “hola”) y lo más probable es que estos programas nunca sean lanzados al público,y acaben siendo desechados después de que se ejecutó y produjo los resultados correctos. Es probable que la cantidad de código interno o “a la medida” escrito en herramientas programables como la hoja de cálculo o la línea de comandos de UNIX, supere rápidamente la cantidad de código que se utilizó para construir tales herramientas.

Existen varios tipos de “software genérico”. Uno de ellos es el “software de código abierto” que puede ser gratuito ol puede ser comercializado de alguna manera para generar recursos económicos a sus desarrolladores – en tal caso se convertiría en “software comercial”. También está el software comercial que no es de código abierto (a veces llamado “software propietario”), el software no abierto que no cuesta dinero (a menudo llamado freeware ); y el ‘shareware’” que se puede descargar gratuitamente, pero que requiere de pago para habilitar versiones mejoradas, deshabilitar ventanas publicitarias o para que pueda ser utilizado después de finalizado el periodo de prueba.

Ahora se mostrará lo que hace que el software de código abierto sea diferente.

¿Qué es el software de código abierto?

Para facilitar la comprensión, también escuchará que la gente se refiere al software de código abierto como software libre (donde “libre” significa “libre” y no “gratis”), “software libre y de código abierto” (O “FOSS” para abreviar) o incluso “libre de software libre, libre y software de código abierto”. Todos estos nombres se refieren al mismo fenómeno con algunas asociaciones semánticas e ideológicas diferentes.

La “Definición de Software Libre” es posiblemente la definición más sucinta de cómo el software de código abierto necesita ser licenciado para ser considerado de código abierto:

  • La libertad de ejecutar el programa, para cualquier propósito (libertad 0).
  • La libertad de estudiar cómo funciona el programa, y ​​cambiarlo para que haga lo que usted desea (libertad 1). El acceso al código fuente es una condición previa para ello.
  • La libertad de redistribuir copias para que pueda ayudar a su vecino (libertad 2).
  • La libertad de distribuir copias de sus versiones modificadas a otros (libertad 3). Al hacer esto, puede dar a toda la comunidad la oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición previa para ello.

Básicamente, una pieza de software de código abierto tiene su código fuente original legible y modificable disponible, se puede ejecutar y utilizar para cualquier propósito, y puede ser modificado internamente o externamente e incluso “bifurcada” (es decir: spin-off como una competencia proyecto).

Sin embargo, esta definición todavía da cierta margen de maniobra para la concesión de licencias. A veces, las copias descargadas de FOSS pueden ser convertidas en una licencia diferente por cualquier tercero (éstas se llaman licencias permisivas o licencias de estilo BSD), pero a menudo el código que incluye el código FOSS o incluso simplemente llama a las subrutinas que necesita Para ser licenciado bajo una licencia similar, libre. Este último se conoce como “copyleft” y es el fundamento de licencias como la [[wikipedia: GNU General Public License (GPL)] o la GNU Lesser General Public License LGPL), y muchas licencias similares.

En cualquier caso, uno debe entender que ser de código abierto no se opone al comercialismo o al capitalismo. Hay muchas compañías comerciales que publican mucho de su código bajo licencias de código abierto (muchas de las cuales son rentables), y muchas personas están haciendo una vida digna de trabajar en código abierto. Uno puede vender soporte y servicios alrededor del código de código abierto, y como algunas personas les gusta decir “nuestro código es gratis – nuestro tiempo (y el tuyo) no lo es”.

¿Por qué software de código abierto?

Hay varios aspectos que hacen que el software de código abierto sea superior:

  1. Por lo general, se puede legalmente descargar las aplicaciones de código abierto, utilizarlas o incluso modificarlas y adaptarlas para diferentes necesidades, legalmente y de forma gratuita. A pesar de todo, es perfectamente legal vender software de código abierto (o servicios que se relacionan con ellos), pero en este día y edad de Internet barato, común y rápido, muchas personas optan por no pagar por ello.
  2. Muchos proyectos de código abierto hacen un uso inteligente de Internet para obtener información de los usuarios, personalizar el software de acuerdo con él, o incluso aceptar las contribuciones de los co-desarrolladores. (Esto se ha referido como el estilo de Bazaar de desarrollo.)
  3. El software de código abierto puede ser adaptado para superar sus limitaciones (como errores, características perdidas o compatibilidad roto), ya sea por sí mismo, o contratando o convenciendo a alguien para que lo haga por usted. El código fuente tiende a ser mucho más adaptable a los cambios en la plataforma de implementación que los ejecutables binarios.
  4. El software de código abierto fomenta una cultura de “libertad”, “apertura” y compartición, que se opone a la impotencia y el resentimiento que suelen sentir los usuarios de software propietario.
  5. Uno puede señalar a las contribuciones de uno a software de código abierto como una cartera de trabajo anterior que es libre y legal para examinar y ser impresionado de. Además, a menudo otras personas en Internet se pondrán en contacto con usted acerca de su proyecto de código abierto que le permitirá obtener más reconocimiento.

Naturalmente, puede haber muchas desventajas importantes para el modelo de desarrollo de código abierto, pero creemos que es ventajoso en muchos casos.

¿Cómo empezar a usar software de código abierto?

Ahora que hemos entendido lo que es el software de código abierto, y suponiendo que usted piensa que es una buena idea que le gustaría contribuir (o simplemente beneficiarse de), vamos a ver cómo se puede empezar a utilizar, que normalmente es un requisito previo Para contribuir a ello.

Uso del software de código abierto de Windows nativo

Suponiendo que siga usando Microsoft Windows, puede que desee jugar con algún software de código abierto que se puede instalar y ejecutar en Windows. Para esta cabeza a el “Open Source Windows (software)” sitio e instalar y jugar con las aplicaciones allí presentadas, y posiblemente utilizarlas en la producción. Hay muchas otras aplicaciones de código abierto para Windows listadas en La lista de programas de código abierto (LOOP).

Jugando con Linux

Después de instalar muchas aplicaciones de código abierto para Windows, es posible que desee realizar el siguiente paso lógico y jugar con Linux, que es un sistema operativo cercano a ser completamente libre, utilizable como un escritorio cómodo y estable para el usuario ORDENADOR PERSONAL. Linux es un sistema operativo y como tal sirve como un host para otros programas, similar al hecho de que Microsoft Windows es un sistema operativo que aloja muchas aplicaciones cada una como procesos diferentes y como diferentes ventanas.

Linux no es totalmente compatible con Windows, pero la interfaz gráfica de usuario (GUI) es lo suficientemente similar como para estar cómoda con ella. A pesar de los prejuicios comunes, Linux no se destina exclusivamente a los programadores o sólo para “geeks de la computadora” y la gente común puede sentirse cómoda con ella. De hecho, tiende a funcionar mejor y ser más transparente, fiable y seguro que Microsoft Windows.

La buena noticia es que puedes instalar Linux mientras puedes mantener tu instalación de Windows y continuar usando, y cambiar de Linux a Windows (o incluso usarlos al mismo tiempo). Las maneras de instalar Linux de lo más intimidante a lo menos intimidante son:

  1. ‘Repartición de su disco duro’ Esto significa que una instalación del sistema operativo Linux se instalará lado a lado con la instalación de Windows, lo que le permite elegir cuál utilizar durante el arranque. Este proceso normalmente progresa bien, pero puede resultar en pérdida de datos si el equipo pierde potencia o ha hecho algo mal con la instalación, por lo que es aconsejable realizar una copia de seguridad primero.

LiveCD / LiveUSB LiveCD, LiveDVD o LiveUSB es una distribución Linux autónoma que se inicia y se ejecuta directamente desde la unidad de CD o memoria USB sin necesidad de instalación en el disco duro, y al salir El sistema huésped en tacto. La desventaja es que cualquier cambio que no se guarde en el disco duro se perderá después de un reinicio, y al parecer utilizando un LiveCD durante períodos prolongados tiende a arruinar la unidad de CD-ROM.

  1. ‘Virtual Machine (VirtualBox, qemu)’ – en este esquema, se ejecuta Linux dentro de una máquina virtual, lo que significa que un ordenador emulado se ejecuta dentro de una ventana en el sistema host (Microsoft Windows en nuestro caso). La máquina virtual todavía tiene conexión en red y puede comunicarse con el sistema host, pero de lo contrario no interfiere con él. La desventaja es que Linux probablemente correrá más lento de esta manera.

De estos, se recomienda comenzar por instalar Linux dentro de una máquina virtual dentro de un buen emulador de máquina virtual como open-source y VirtualBox gratuito.

¿Qué Linux elegir?

Dado que el sistema operativo Linux y sus componentes individuales son todos de código abierto y pueden ser libremente empaquetados y distribuidos, esto generó una proliferación de ‘distribuciones Linux’ , que después de ser instalados, ofrecen funcionalidad similar, pero con diferentes envases, diferentes Modificaciones específicas de distribución y personalización a los componentes del sistema, y ​​filosofías algo diferentes. La mayoría de las distribuciones de Linux son bastante nicho, o de lo contrario no está listo para uso general (si no ya no se mantiene activamente o pasó de moda). He aquí una breve lista de las distribuciones más recomendadas:

  1. Ubuntu Linux – probablemente la distribución de escritorio más popular, Ubuntu tiene versiones semianuales y tiene como objetivo proporcionar una experiencia de escritorio pulido.
  2. Fedora – una distribución gratuita de Red Hat Inc. con versiones semianuales, y un buen pulido de escritorio.
  3. Linux Mint – una distribución orientada a escritorio basada en Ubuntu, con escritorios personalizados y soporte para más hardware.
  4. Mageia Linux – una distribución orientada a escritorio gratuita con versiones semestrales, una buena integración entre los componentes y el buen pulido de escritorio.

Todos ellos están destinados a ser instalados en el disco duro o en una máquina virtual.

Algunas distribuciones recomendadas de Live CD / Live DVD son:

  1. Knoppix
  2. Mageia Linux
  3. PCLinuxOS

Hagas lo que hagas, asegúrate de evitar el síndrome de “salto de distribución”, donde saltas de una distribución a otra después de encontrarte con algunas dificultades con una distribución. Elija una distribución y palo con ella, ya que es probable que encuentre diferentes problemas en una distribución diferente.

Cómo obtener ayuda

Usted, naturalmente, puede tener problemas al utilizar aplicaciones de software de código abierto, pero por suerte, puede obtener ayuda mediante el uso de medios de Internet. Lo primero que hay que tener en cuenta es que, siempre que sea posible, no debe ponerse en contacto directamente con uno de los autores o mantenedores del programa, sino enviarlo a un foro apropiado. Además, cuando recibas una respuesta, asegúrate de responder a todo el foro, ya sea evitando el comando “/ msg” en IRC (Internet Relay Chat) o usando la función Responder a todos. Una discusión más comprensiva se puede encontrar en Eric Raymond y Rick Moen’s “Cómo hacer preguntas de la manera inteligente”.

Lo primero que debe hacer cuando tiene un problema o pregunta es realizar algunas búsquedas utilizando un motor de búsqueda web como Google o DuckDuckGo. Si eso falla, puedes intentar preguntar en la red Freenode Internet Relay Chat (IRC), que se dedica a charlar sobre proyectos de código abierto. Alberga muchos canales específicos de temas (la terminología IRC para salas de chat), y algunos generales como “## linux” o “## programming”.

Si esto falla, puede intentar publicar en la lista de correo del proyecto apropiado y / o en un sitio apropiado StackExchange.

¿Deberías aspirar a la “santidad”?

Algunos partidarios ardientes del software de código abierto afirmarán que el uso de software no abierto es inmoral, y que uno debe aspirar a la “santidad” mediante el uso de software de código abierto exclusivamente, hasta no usar sistemas operativos no de código abierto como Como Microsoft Windows. Aunque tal postura puede ser atractiva para algunos, le recomendamos que no la siga, al menos no de inmediato. Es probable que todavía necesite su partición de Windows, en parte para que pueda probar que las aplicaciones de código abierto de usted u otros trabajan allí adecuadamente y están bien soportados. Además, el principal problema es el software de código abierto vs. software propietario, no Linux vs. Windows.

Contribuyendo

OK, has estado usando software de código abierto, has jugado con Linux (o incluso lo estás usando a diario), y ahora estás interesado en contribuir a algunas aplicaciones de código abierto que te gustan. En primer lugar, bienvenidos a bordo, podríamos usar toda la ayuda que podamos obtener y esperamos que la encuentren una experiencia agradable.

Alguna Preparación Mental

Contribuir al software de código abierto puede ser divertido y gratificante. Sin embargo, es probable que sea un camino lleno de baches, ya que puede encontrar que algunas personas con las que interactúan son groseros o insultantes. Lo importante a recordar es no darse por vencido.

Está bien ser insultado y desalentado por un tiempo. Lawrence Lessig, un profesor de derecho que ha escrito varios libros sobre la cultura libre de Internet, y ha proyectado la iniciativa Creative Commons , Tenía esto para escribir en su libro Remix :

Me parece increíblemente difícil leer estos comentarios [a mis entradas de blog]. No porque Son malos o equivocados, pero sobre todo porque tengo la piel muy delgada. Existe una correlación directa entre lo que leo y el dolor en mi intestino. Incluso la crítica injusta y equivocada me corta de maneras que son Solo tonto Si leo un mal comentario antes de dormir, no duermo. Si voy de viaje Sobre una cuando estoy tratando de escribir, puedo estar distraído durante horas. yo Fantasear sobre la creación de un alter ego que responda en mi nombre. Pero no tengo el coraje ni siquiera de ese engaño. Así que en vez, Mi debilidad se manifiesta a través de la práctica (extraordinariamente Injusto para el escritor de comentarios) de algunas veces no leer lo que otros ha dicho. </ P>

Entonces, ¿por qué blog todo? Bueno, la mayor parte del tiempo, no tengo Idea por qué lo hago. Pero cuando lo hago, tiene algo que ver con una ética Creo que todos debemos vivir. Lo aprendí por primera vez por un juez El juez Richard Posner. Posner es sin duda el Jurista académico y federal más importante de nuestro tiempo, y Tal vez de los últimos cien años. También fue el juez perfecto para Empleado para A diferencia de la gran mayoría de los jueces de la corte de apelaciones, Posner Escribe sus propias opiniones. El trabajo del empleado era simplemente discutir. Nos daría un proyecto de opinión, y escribiríamos un memorándum crítica. Lo usaría para redactar la opinión. </ P>

Le di comentarios a Posner sobre mucho más que sus opiniones. En Particularmente, poco después de comenzar a enseñar me envió un borrador de un libro, Que eventualmente se convertiría en Sexo y Razón. Gran parte del libro Fue genial. Pero había una parte que me parecía ridícula. Y en una Serie de faxes (yo estaba enseñando en Budapest, y esto fue mucho antes Correo electrónico estaba generalmente disponible), le envié cada vez más escandaloso Comentarios, discutiendo sobre esta sección del libro. </ P>

La mañana después de enviar una de esas misivas, la releí y Sorprendido por su tono abusivo. Escribí un seguimiento tímido, disculpándome, Y diciendo que por supuesto, yo tenía un respeto sin fin por Posner, bla, Bla, y bla. Todo eso era cierto. Así también fue cierto que pensé Mis comentarios eran injustos. Pero Posner respondió no aceptando Mi disculpa, pero regañándome. Y no por regañarme por mi Abusivo fax, pero por mi disculpa. Estoy rodeado de aduladores. el escribio. “Lo último en el mundo que necesito es que filtre su Comentarios por referencia a mis sentimientos “. </ P>

Me asombró la reprensión. Pero a partir de ese momento, Dividió el mundo en aquellos que seguirían (o incluso recomendarían) Posner, y los que no lo harían. Y sin embargo Atractiva la postura anti-Posner era, quería creer que podía Siga su ética: Nunca permita, o anime, a los aduladores Recompensa las críticas. No porque me haya convertido en un juez, o en una figura pública Tan importante como Posner. Pero porque al seguir su ejemplo, Evitaría los peores efectos de la vida protegida (como Profesor) que yo lideraría. </ P> </ Blockquote> Así que incluso si usted, como el Profesor Lessig, tiene una piel delgada, y puede desanimarse por un comentario negativo, es importante no darse por vencido por completo. Está bien sentirse deprimido por un tiempo, pero entiendo que la sensación pasará y que finalmente será reconocido por el trabajo que invierte en contribuir a la fuente abierta. Hay algunos buenos consejos sobre manejar las críticas de Internet en el blog “Desarmado pero aún peligroso”, que se basa en el excelente consejo dado por [[wikipedia: David D. Burns Dr. David D. Burns], que es una guía de autoayuda para la Terapia Cognitiva, y que discute la forma en que se desarrolla la terapia cognitiva. Para manejar la crítica y evitar ser afectado por ella. Considere encontrar un mentor ==== A algunas personas les resultará más fácil sobrevivir como contribuyentes de código abierto al tener una persona con la que puedan consultar y que pueda guiarlas. Hay varias maneras de encontrar un mentor:

  1. Buscar uno en OpenHatch
  2. Ver la Enseñanza de la Iniciativa Open Source de la Lista de proyectos Mentor FOSS

Elija algunos proyectos a los que contribuir a

El siguiente paso es recoger proyectos a los que contribuir. Puede optar por contribuir a los proyectos de código abierto que esté utilizando activamente, como su distribución o sus diversos componentes (el navegador web, la suite de oficina, el cliente de mensajería instantánea, el cliente de correo, el editor de texto favorito, Entorno de escritorio, etc.). Alternativamente, puede monitorear sitios de anuncios de software como Linux y open-source orientado (http://freecode.com/ Freecode.com) (anteriormente conocido como Freshmeat) y encontrar interesantes proyectos para trabajar allí. Más recientemente, el sitio de OpenHatch comenzó como una manera de conectar entre aspirantes a contribuyentes y proyectos.

Usted puede preguntarse cómo puede contribuir. Hay varias maneras:

  1. La primera manera, y la primera que viene a la mayoría de las mentes de la gente está programando. Vamos a aprender cómo aprender más tarde. Sin embargo, no es la única manera, y hay muchas maneras que usted puede contribuir mientras que todavía aprende cómo programar.
  2. La segunda forma es frecuentar los foros en línea de los proyectos (como sus canales de Internet Relay Chat, sus listas de correo, sus foros web, etc.) y responder preguntas o tratar de encontrar personas que puedan.
  3. Otra forma es ayudar a mantener el wiki del proyecto, en caso de que tenga uno.
  4. Algunos proyectos pueden estar interesados ​​en proporcionar traducciones y localizaciones para el proyecto en idiomas no ingleses, por lo que si usted es fluido en una lengua extranjera, puede ser voluntario para ayudar a mantener las traducciones.
  5. También es útil ayudar al proyecto con – .

Hay probablemente otras maneras de contribuir, pero lo importante es escoger algunos proyectos a los cuales usted desea contribuir y comenzar.

Cómo sobrevivir como contribuidor de código abierto

En esta sección, trataremos brevemente de tocar en varias tecnologías que necesitará comprender para contribuir efectivamente a proyectos de código abierto. Le remitiremos al material para su lectura.

La línea de comandos de UNIX / Linux

Mientras que Linux es perfectamente utilizable usando una interfaz gráfica de usuario (GUI), tiene una interfaz diferente llamada la línea de comandos, en la que se escriben comandos usando el teclado y reciben retroalimentación usando una salida de consola / terminal. Para usarlo, puede usar la ventana de consola de KDE llamada “konsole” o el “gnome-terminal” de GNOME. Para trabajar en la mayoría de los proyectos de código abierto, necesitará familiarizarse con la línea de comandos de Linux. Estos son algunos recursos para empezar:

  1. UNIXhelp para usuarios es una guía antigua, pero probablemente todavía pertinente, de la línea de comandos UNIX (y ergo Linux).
  2. Las Guías del Proyecto de Documentación de Linux contienen algunos libros que también pueden resultar útiles.
  3. Hay una página de Wikibook titulada “Linux Guide – Using the shell” y algunos otros recursos en Wikibooks

Lo importante para darse cuenta de la línea de comandos de UNIX es ‘no tener miedo’ de ella. Mientras que puede parecer intimidante al principio, la mayoría de la gente lo encontrará rápidamente para ser muy conveniente y una herramienta muy de gran alcance. Además, a menudo es un requisito para las personas que desean contribuir a proyectos de código abierto, ya que muchas tareas sólo se pueden hacer o se hacen mejor allí.

== Construir sistemas

El software de código abierto normalmente se distribuye como archivos compactados y comprimidos del código fuente, que deben ser construidos para ser instalados e implementados en el sistema host. Los distribuidores downstream tienden a tomar los paquetes de origen y preparar paquetes binarios y listos para instalar fuera de ellos, que son específicos de un solo gestor de paquetes (wikipedia: RPM Package Manager | rpm) o wikipedia: Dpkg | dpkg]]). Sin embargo, si planea contribuir a un proyecto de código abierto, necesitará saber cómo crear su código fuente.

He aquí una cobertura de algunos sistemas de compilación populares y cómo crear código desde ellos:

Módulo-Construir de perl

Module-Build es el sistema de compilación más reciente de Perl 5, que no depende de las idiosincrasias de la shell del sistema y su implementación de make. Para usarlo uno debe hacer algo como:

$ Perl Build.PL $ ./Build Prueba de $ ./Build $ ./Build install # como root o usando local :: lib o algunos argumentos Build.PL para instalar localmente.

perl’s ExtUtils :: MakeMaker

ExtUtils-MakeMaker es el sistema de generación más antiguo de Perl 5, que genera makefiles y scripts de shell específicos del sistema. Para usarlo se deben ejecutar los siguientes comandos:

$ Perl Makefile.PL Hacer Prueba de $ make $ Make install # como root o usando local :: lib o algunos argumentos Makefile.PL para instalar localmente.

GNU Autotools

GNU Autotools son ​​una opción popular para crear sistemas de compilación multiplataforma para C / C ++ y programas similares, pero son bastante viejos y causan muchos problemas y mucha gente recomienda usar algo más . Para crear un programa que utilice GNU Autotools necesita ejecutar:

$ ./autogen.sh # O similar – si se crea desde la fuente cruda. $ ./configure –prefix = “$ HOME / apps / myapp” # Y posiblemente otras banderas. Hacer $ Make install

CMake

Wikipedia: CMake es un nuevo sistema de compilación multiplataforma que pretende ser una mejor alternativa a GNU Autotools y que incluye muchas mejoras. Para crear un proyecto basado en CMake, utilice algo como:

$ Mkdir build $ Cd build Cmake-gui Hacer $ Make install

Sistemas de control de versiones

Lectura de un artículo anterior escrito por uno de los contribuyentes a este artículo:

Un sistema de control de versiones permite a los desarrolladores mantener versiones históricas de los archivos en desarrollo y recuperar versiones anteriores. Almacena información de versión para cada archivo (y toda la estructura del proyecto) en una colección normalmente llamada repositorio. </ P>

Dentro del repositorio, pueden existir varias líneas paralelas de desarrollo, normalmente llamadas ramas. Esto puede ser útil para mantener una rama de mantenimiento para una versión estable y lanzada mientras se sigue trabajando en la versión de sangrado. Otra opción es abrir una sucursal dedicada para trabajar en una función experimental. </ P>

Los sistemas de control de versiones también permiten al usuario dar etiquetas a una instantánea de una rama (a menudo referida como etiquetas), para facilitar la extracción posterior. Esto es útil para indicar las versiones individuales o la versión de desarrollo más reciente. </ P>

El uso de un sistema de control de versiones es una necesidad absoluta para un desarrollador de un proyecto de más de un centenar de líneas de código, y aún más para proyectos que implican la colaboración de varios desarrolladores. El uso de un buen sistema de control de versiones es ciertamente mejor que los métodos ad-hoc que algunos desarrolladores usan para mantener varias revisiones de su código. </ P> </ Blockquote> Por lo tanto, si el proyecto al que está intentando contribuir no utiliza un sistema de control de versiones, debe comenzar de inmediato. Puede leer más sobre la motivación para el control de versiones en el artículo mencionado y en una presentación que Sawyer X dio. Aquí hay algunos materiales introductorios sobre los diversos sistemas de control de versiones populares en uso hoy en día:

  1. Para CVS, que es una versión antigua de los sistemas de control, y que ahora es en gran medida no amada (pero que aún se puede encontrar en uso), consulte el libro en línea Open Source Desarrollo con CVS.
  2. Para Subversion, un sistema de control de versiones centralizado que pretende ser un CVS mejorado y corregido, consulte el libro en línea Version Control with Subversion .
  3. Para Git, un sistema de control de versiones distribuido que ha ido ganando popularidad, vea Git tutorial
  4. Para Mercurial, un sistema de control de versiones distribuido escrito en Python, consulte el libro en línea Mercurial: The Definitive Guide .
  5. Para obtener ayuda con Bazaar, otro sistema de control de versiones distribuido escrito en Python, consulte su documentación.

Seguimiento de errores

Seguimiento de errores

A medida que los defectos (a.k.a “bugs”) y las solicitudes de mejoras se introducen en el proyecto, es necesario rastrearlos usando un rastreador de errores. “Joel en el software” da la motivación y la forma de seguimiento de errores en un ensayo que probablemente debería leer.

La mayoría de los bug-trackers hoy en día tienen una interfaz basada en web, que se puede utilizar desde el navegador y es en su mayoría auto-explicativo. Así que trate de usarlo y si tiene problemas consulte a sus co-desarrolladores para obtener ayuda. Hay demasiadas implementaciones diferentes de seguidores de bugs para cubrirlas todas aquí, pero al estar basadas en web, no deberían ser demasiado difíciles de usar para la contribución activa.

Aprendiendo a Programar

Una vez que comience a contribuir a open-source, probablemente le gustaría avanzar sus contribuciones al siguiente nivel lógico, aprendiendo a programar. Ahora el tema de lo que debería ser el lenguaje de programación introductorio es un tema de debate en curso (véase por ejemplo este ensayo de Shlomi Fish. Le recomendamos que empiece aprendiendo [wikipedia: Perl | el lenguaje de programación Perl]] o [[wikipedia: Python (lenguaje de programación)] el lenguaje de programación Python] y luego aprenda el otro.

Para aprender Perl, refiérase a el sitio de principiantes de Perl que proporciona muchos buenos recursos. Para aprender Python refiérase al libro Cómo pensar como un informático – en Python y hay otros Python Libros introductorios enumerados en el wiki de Python. A continuación, puede ser capaz de contribuir a un proyecto escrito en cualquiera de los dos idiomas, pero seguir aprendiendo otros lenguajes de programación y temas.

Se necesitan muchos años para convertirse en un buen programador, y los buenos programadores están constantemente tratando de mejorar sus habilidades y ampliar sus conocimientos.

Resumen

El uso de software de código abierto puede hacer que su equipo funcione más agradable, le dará más libertad y le proporcionará muchas ventajas tecnológicas importantes, como la falta de bloqueo del proveedor, menores costos y la capacidad de contribuir. Además, contribuir al software de código abierto puede ser divertido, y también tiene la ventaja de que también está ayudando a usted ya otros usuarios de las aplicaciones de código abierto.

Esperamos que este documento le haya dado la información y los indicadores necesarios para iniciar su viaje en el mundo del software de código abierto. Siéntase libre de ponerse en contacto con nosotros si usted siente que algo está mal, por lo que podemos mejorarlo.

A dónde ir desde aquí

Esta sección tiene como objetivo enumerar algunos recursos adicionales sobre la contribución a código abierto. El primero es el ensayo “Open Source, Free Software, and Other Beasts” de Shlomi Fish (quien también escribió la mayoría de la primera versión de Este ensayo), que proporciona una introducción al mundo del software de código abierto para aquellos que no están muy familiarizados con él. Está disponible en línea bajo la licencia Creative Commons Atribution de contenido abierto.

Puede que también desee leer el ensayo -star / “14 maneras de contribuir a Open Source sin ser un genio de programación o una estrella del rock” por Andy Lester en SmartBear.com.

Otro buen recurso es el documento de Eric Raymond “Cómo convertirse en un hacker” seguido de su / Escritos / catedral-bazar / la “Catedral y el Bazar” serie. Ambos son recursos muy esclarecedores, pero note que ellos sufren de cierta cantidad de arrogancia.

La sección [http://www.gnu.org/philosophy/ Filosofía del sitio de la Fundación para el Software Libre (FSF) contiene algunos artículos interesantes. Mientras que están escritas desde una visión extremista e intransigente, que usted puede optar por no adoptar, siguen siendo útiles como alimento para el pensamiento.

Algunos buenos recursos sobre la administración de software para programadores de código abierto incluyen:

  1. Ensayos de Paul Graham
  2. El “Joel en el sitio de software” por Joel Spolsky.
  3. Recursos de Rick Moen
  4. Programación extrema
  5. Los recursos antes mencionados por Eric Raymond.

Usted puede encontrar muchos recursos adicionales en software de código abierto mediante la realización de búsquedas en la web o por leer los diversos Wikimedia recursos (como la Wikipedia o Wikibooks), y en http: // www .wikia / Wikia].

Autores