Software de código abierto (OSS) es software cuyo código fuente es visible y modificable por el público, o abierto de otro modo. Cuando el público no puede ver ni modificar el código fuente, se considera cerrado o propietario.
El código fuente es la parte de programación detrás de escena del software que los usuarios no suelen mirar. El código fuente establece las instrucciones sobre cómo funciona el software y cómo funcionan todas las diferentes características del software.
Cómo se benefician los usuarios del OSS
OSS permite a los programadores colaborar para mejorar el software al encontrar y corregir errores en el código (corrección de errores), actualizar el software para que funcione con nueva tecnología y crear nuevas funciones. El enfoque de colaboración grupal de los proyectos de código abierto beneficia a los usuarios del software porque los errores se solucionan más rápido, se agregan y lanzan nuevas funciones con mayor frecuencia, el software es más estable con más programadores para buscar errores en el código y las actualizaciones de seguridad se implementan más rápido. que muchos programas de software propietarios.
Licencia pública general
La mayoría de los OSS utilizan alguna versión o variación de la Licencia Pública General GNU (GNU GPL o GPL). La forma más sencilla de pensar en una GPL es similar a una foto que es de dominio público. Tanto la GPL como el dominio público permiten que cualquier persona modifique, actualice y reutilice algo como lo necesite. La GPL otorga a los programadores y usuarios el permiso para acceder y cambiar el código fuente, mientras que el dominio público otorga a los usuarios el permiso para usar y adaptar la foto. La parte GNU de GNU GPL se refiere a la licencia creada para el sistema operativo GNU, un sistema operativo libre/abierto que fue y continúa siendo un proyecto importante en la tecnología de código abierto. La principal diferencia entre la GPL y el dominio público proviene de la única restricción de la GPL; todo lo que se haga mediante la modificación del código GPL debe permanecer abierto. Por lo tanto, no puede modificar un programa GPL y venderlo.
Otra ventaja para los usuarios es que el OSS generalmente es gratuito; sin embargo, puede haber un costo adicional, como soporte técnico, para algunos programas de software.
¿De dónde viene el código abierto?
Si bien el concepto de codificación colaborativa de software tiene sus raíces en el mundo académico de los años 1950 y 1960, en las décadas de 1970 y 1980, problemas como las disputas legales hicieron que este enfoque de colaboración abierta para la codificación de software perdiera fuerza. El software propietario se apoderó del mercado del software hasta que Richard Stallman fundó la Free Software Foundation (FSF) en 1985, volviendo a poner en primer plano el software libre o abierto. El concepto de software libre se refiere a la libertad, no al costo. El movimiento social detrás del software libre sostiene que los usuarios de software deben tener la libertad de ver, cambiar, actualizar, corregir y agregar al código fuente para satisfacer sus necesidades y poder distribuirlo o compartirlo libremente con otros.
La FSF desempeñó un papel formativo en el movimiento del software libre y de código abierto con su Proyecto GNU. GNU es un sistema operativo libre (un conjunto de programas y herramientas que instruyen a un dispositivo o computadora sobre cómo operar), generalmente lanzado con un conjunto de herramientas, bibliotecas y aplicaciones que en conjunto pueden denominarse versión o distribución. GNU se combina con un programa llamado kernel, que administra los diferentes recursos de la computadora o dispositivo, incluidas las comunicaciones entre las aplicaciones de software y el hardware. El kernel más común emparejado con GNU es el kernel de Linux, creado originalmente por Linus Torvalds. Esta combinación de sistema operativo y kernel se denomina técnicamente sistema operativo GNU/Linux, aunque a menudo se lo conoce simplemente como Linux.
Por una variedad de razones, incluida la confusión en el mercado sobre el verdadero significado del término 'software libre', el término alternativo 'código abierto' se convirtió en el término preferido para el software creado y mantenido mediante el enfoque de colaboración pública. El término "código abierto" se adoptó oficialmente en una cumbre especial de líderes intelectuales en tecnología en febrero de 1998, organizada por el editor de tecnología Tim O'Reilly. Más tarde ese mes, Eric Raymond y Bruce Perens fundaron la Open Source Initiative (OSI) como una organización sin fines de lucro dedicada a promover el OSS.
La FSF sigue siendo un grupo de defensa y activista dedicado a apoyar las libertades y los derechos de los usuarios relacionados con el uso del código fuente. Sin embargo, gran parte de la industria de la tecnología utiliza el término "código abierto" para proyectos y programas de software que permiten el acceso público al código fuente.
El software de código abierto es parte de la vida cotidiana
Los proyectos de código abierto son parte de nuestra vida diaria. Es posible que esté leyendo este artículo en su teléfono celular o tableta y, de ser así, es probable que esté utilizando tecnología de código abierto en este momento. Los sistemas operativos para iPhone y Android se crearon originalmente utilizando componentes básicos de software, proyectos y programas de código abierto.
Si está leyendo este artículo en su computadora portátil o de escritorio, ¿está utilizando Chrome o Firefox como navegador web? Mozilla Firefox es un navegador web de código abierto. Google Chrome es una versión modificada del proyecto de navegador de código abierto llamado Chromium; aunque Chromium fue iniciado por desarrolladores de Google que continúan desempeñando un papel activo en la actualización y el desarrollo adicional, Google ha agregado programación y funciones (algunas de las cuales no están abiertas). fuente) a este software base para desarrollar el navegador Google Chrome.
Internet se construyó con tecnología de código abierto
De hecho, Internet, tal como la conocemos, no existiría sin OSS. Los pioneros de la tecnología que ayudaron a construir la red mundial utilizaron tecnología de código abierto, como el sistema operativo Linux y los servidores web Apache, para crear nuestra Internet moderna. Los servidores web Apache son programas OSS que procesan una solicitud para una determinada página web (por ejemplo, si hace clic en un enlace de un sitio web que le gustaría visitar) al encontrar y llevarlo a esa página web. Los servidores web Apache son de código abierto y son mantenidos por desarrolladores voluntarios y miembros de la organización sin fines de lucro llamada Apache Software Foundation.
El código abierto está recreando y remodelando nuestra tecnología y nuestra vida diaria de maneras que a menudo no nos damos cuenta. La comunidad global de programadores que contribuyen a los proyectos de código abierto continúan ampliando la definición de OSS y agregando valor a nuestra sociedad.