En este momento estás viendo Cómo funciona el software de código abierto

El software de código abierto (OSS) es cualquier software de computadora que se distribuye con su código fuente disponible para su modificación. Eso significa que generalmente incluye una licencia para que los programadores cambien el software de la forma que elijan: pueden corregir errores, mejorar las funciones o adaptar el software para satisfacer sus propias necesidades.

Criterios de software de código abierto

La Open Source Initiative (OSI), una organización global sin fines de lucro fundada en 1998, actúa como una autoridad líder en OSS. Su definición de software de código abierto incluye diez criterios, relacionados con asuntos tales como:

  • Redistribución de software
  • Disponibilidad e integridad del código fuente
  • Distribución y propiedades de las licencias
  • Obras derivadas
  • Antidiscriminación

Licencias

Las diferentes licencias permiten a los programadores modificar el software con varias condiciones adjuntas. Según Black Duck KnowledgeBase, una base de datos de unos dos millones de proyectos de código abierto, cinco de las licencias más populares son:

  • Licencia MIT
  • Licencia pública general GNU (GPL) 2.0
  • Licencia Apache 2.0
  • Licencia pública general GNU (GPL) 3.0
  • Licencia BSD 2.0 (3 cláusulas, nueva o revisada)
  • Cuando cambia el código fuente, OSS requiere la inclusión de lo que modificó, así como sus métodos. El software creado después de las modificaciones del código puede o no estar disponible de forma gratuita.

    Software comercial

    El software disponible comercialmente, también conocido como software comercial o propietario, no da acceso a su código fuente porque el software es propiedad intelectual de otra persona. Como resultado, los usuarios suelen pagar por ello. OSS, por otro lado, es un esfuerzo colaborativo; El software es propiedad intelectual compartida entre todos los que han ayudado a desarrollarlo o modificarlo.

    Software libre

    Aunque los términos se usan a menudo indistintamente, OSS es ligeramente diferente del software libre. Ambos se ocupan de la capacidad de descargar y modificar software sin restricciones ni cargos. Sin embargo, el software libre, un concepto desarrollado en la década de 1980 por un investigador en ciencias de la computación del MIT, Richard Stallman, está definido por cuatro condiciones, como lo describe la Free Software Foundation, una organización sin fines de lucro. Estas «cuatro libertades» enfatizan la capacidad de los usuarios para usar y disfrutar del software como mejor les parezca.

    Por el contrario, los criterios de OSS, que la Open Source Initiative desarrolló una década después, ponen más énfasis en la modificación del software y las consecuencias de alterar el código fuente, las licencias y la distribución.

    Los dos se superponen; algunos dirían que las diferencias entre OSS y software libre son más filosóficas que prácticas. Sin embargo, ninguno debe confundirse con el software gratuito. Freeware generalmente se refiere al software propietario que los usuarios pueden descargar sin costo, pero cuyo código fuente no se puede cambiar.

    Ventajas

    Si bien su falta de costo es una ventaja clave, OSS tiene varios beneficios adicionales:

    • Su calidad se puede mejorar fácilmente y en gran medida cuando su código fuente se transmite, se prueba y se corrige.
    • Ofrece una valiosa oportunidad de aprendizaje para los programadores . Pueden aplicar sus habilidades a los programas más populares disponibles en la actualidad.
    • Puede ser más seguro que el software propietario porque los errores se identifican y solucionan rápidamente.
    • Dado que es de dominio público y está constantemente sujeto a actualizaciones, hay pocas posibilidades de que deje de estar disponible o quede obsoleto rápidamente, una ventaja importante para los proyectos a largo plazo.

    Tipos populares

    Las tecnologías de código abierto ayudaron a establecer gran parte de Internet. Además, muchos de los programas que se utilizan todos los días se basan en tecnologías de código abierto. Ejemplos de ello: el sistema operativo Android y el sistema operativo X de Apple se basan en las tecnologías de código abierto kernel y Unix / BSD, respectivamente.

    Otro software popular de código abierto es:

    • Navegador web Firefox de Mozilla
    • Cliente de correo electrónico Thunderbird
    • Lenguaje de programación PHP
    • Lenguaje de programación Python
    • Servidor web Apache HTTP

    Desarrolladores

    Los proyectos de OSS son oportunidades de colaboración que mejoran las habilidades y crean conexiones en el campo. Las áreas en las que los desarrolladores pueden trabajar incluyen:

    Herramientas de comunicación

    El correo electrónico, la mensajería en tiempo real, los foros y los wikis ayudan a los desarrolladores a encontrar soluciones o intercambiar ideas.

    Sistemas de control de revisión distribuidos

    Cuando varios desarrolladores en diferentes ubicaciones geográficas modifican datos y archivos, estos sistemas administran las diferentes versiones y actualizaciones.

    Rastreadores de errores y listas de tareas

    Estas características permiten que los proyectos a gran escala controlen los problemas y realicen un seguimiento de sus correcciones.

    Herramientas de prueba y depuración

    Estas funciones automatizan las pruebas durante la integración del sistema y depuran otros programas.

    La línea de fondo

    El software de código abierto es una alternativa al software propietario. La participación en un proyecto de OSS puede ser un camino para construir una carrera en el desarrollo de software, lo que permite a los programadores perfeccionar sus habilidades trabajando en los programas de software más grandes del mundo. Facebook, Google y LinkedIn lanzan OSS, por lo que los desarrolladores pueden compartir conocimientos, innovar soluciones y contribuir a productos estables y funcionales.