Cómo funciona el software de código abierto

Abadía de Senanque en Provenza con campos de lavanda

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 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 mundial 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 licencias
  • trabajos derivados
  • antidiscriminació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. mit licencia
  2. GNU licencia pública general (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á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 a menudo pagan por ello. 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 modificarlo.

software libre

aunque los términos se usan 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 de ciencias de la computación, Richard Stallman, está definido por cuatro condiciones, como lo describe la fundación sin fines de lucro de software libre. Estas “cuatro libertades” enfatizan la capacidad de los usuarios de usar y disfrutar el software como mejor les parezca.

en contraste, los criterios oss, que la iniciativa de código abierto 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, la licencia 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. El software gratuito generalmente se refiere al software propietario que los usuarios pueden descargar sin costo alguno, 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 enormemente cuando su código fuente se pasa, se prueba y se repara.
  • 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 corrigen rápidamente.
  • Dado que está en el dominio público y está constantemente sujeto a actualizaciones, hay pocas posibilidades de que no esté disponible o que quede obsoleto rápidamente, 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 las tecnologías de código abierto kernel y Unix / BSD, respectivamente.

otro software de código abierto popular es:

  • navegador web firefox de mozilla
  • cliente de correo electrónico thunderbird
  • lenguaje de script php
  • lenguaje de programación python
  • servidor web apache http

desarrolladores

Los proyectos 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. correo electrónico, mensajes en tiempo real, foros y wikis ayudan a los desarrolladores a encontrar soluciones o intercambiar ideas entre sí.
  • Sistemas distribuidos de control de revisiones. 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 a los proyectos a gran escala monitorear problemas y realizar un seguimiento de sus soluciones.
  • 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 propietario. participar en un proyecto oss puede ser un camino para desarrollar una carrera en el desarrollo de software, permitiendo 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.