Cómo funciona el software de código abierto

Cómo funciona el software de código abierto

El software de código abierto (OSS) es cualquier software de computadora que se distribuya con su código fuente disponible para la modificación. Eso significa que generalmente incluye una licencia para que los programadores cambien el software de cualquier manera 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 Iniciativa de código abierto (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 como:

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

Licencias

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

  1. Licencia de MIT
  2. Licencia pública general de GNU (GPL) 2.0
  3. Licencia de Apache 2.0
  4. GNU Licencia pública general (GPL) 3.0
  5. Licencia BSD 2.0 (3 cláusula, nuevo o revisado)

Cuando cambia el código fuente, OSS requiere la inclusión de lo que alteró y 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 patentado, no da acceso a su código fuente porque el software es la propiedad intelectual de otra persona. Como resultado, los usuarios a menudo lo pagan. OSS, por otro lado, es un esfuerzo de colaboración; El software es propiedad intelectual compartida entre todos los que han ayudado a desarrollarlo o alterarlo.

Software libre

Aunque los términos a menudo se usan indistintamente, OSS es ligeramente diferente del software libre. Ambos tratan con la capacidad de descargar y modificar el software sin restricción o cargo. Sin embargo, Free Software-A Concept desarrolló en la década de 1980 por un investigador de informática del MIT, Richard Stallman, se define por cuatro condiciones, como lo describe la base de software sin fines de lucro Free Software Foundation. Estas "cuatro libertades" enfatizan la capacidad de los usuarios para usar y disfrutar del software como mejor les parezca.

Por el contrario, el criterio OSS, que la iniciativa de código abierto desarrolló una década después, pone más énfasis en la modificación del software y las consecuencias de alterar el código fuente, la licencia y la distribución.

Los dos se superponen; Algunos dirían que las diferencias entre OSS y el software libre son más filosóficos que prácticas. Sin embargo, ninguno debe confundirse con Freeware. Freeware generalmente se refiere al software patentado 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ácil y en gran medida cuando su código fuente se pasa, se prueba y fija.
  • Ofrece una valiosa oportunidad de aprendizaje para los programadores. Pueden aplicar 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 se solucionan rápidamente.
  • Dado que está en el dominio público, y constantemente sujeto a actualizaciones, hay pocas posibilidades de que no esté disponible o rápidamente se pasee por una ventaja importante para 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 en uso todos los días se basan en tecnologías de código abierto. Casos en cuestión: Android OS y Apple's OS X se basan en el kernel y las tecnologías de código abierto de UNIX/BSD, respectivamente.

Otro software popular de código abierto es:

  • Navegador web Firefox de Mozilla
  • Cliente de correo electrónico de Thunderbird
  • Lenguaje de secuencias de comandos PHP
  • Lenguaje de programación de Python
  • Servidor web apache http

Desarrolladores

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

Herramientas de comunicación

Correo electrónico, mensajes en tiempo real, foros y wikis ayudan a los desarrolladores a encontrar soluciones o rebotar ideas entre sí.

Sistemas de control de revisión distribuidos

Cuando múltiples 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 supervisen los problemas y realicen un seguimiento de sus correcciones.

Herramientas de prueba y depuración

Estas características 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 patentado. Participar en un proyecto 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 todos los OSS de lanzamiento, para que los desarrolladores puedan compartir conocimiento, innovar soluciones y contribuir a productos funcionales estables.