Consumidor Digital
Digital
Innovación
25 de julio de 2024
Las ventajas del uso de código abierto
El costo es menor, y la comunidad puede contribuir con actualizaciones y mejoras
Para que cualquier software sea ejecutado en el ordenador o móvil, primero es necesario que alguien escriba su código fuente, que entonces será traducido a código de máquina para, finalmente, ser ejecutado en el dispositivo. Generalmente, tenemos acceso solo a ese código de máquina, que es prácticamente imposible de entender. Sin embargo, algunos softwares van más allá y disponibilizan también el código fuente, legible para quien entiende el lenguaje de programación utilizado para escribirlo.
La mayoría de las personas dependen en el día a día de alguna herramienta cuyo código fuente está disponible al público. Inclusive aquellas que no tienen código fuente accesible también se benefician de alguna forma de proyectos que disponibilizan los suyos.

El compartir código fuente siempre ha sido una práctica común en la comunidad científica y entre entusiastas de la computación, ya sea para difusión de conocimiento, para corrección de errores o como forma principal de distribución de software.
La idea de publicar el código fuente con una licencia que permita su modificación y redistribución fue formalizada con la creación de la Free Software Foundation, liderada por Richard Stallman, en 1985.
En 1986, Stallman presentó la primera definición de software libre, que establece que, para ser considerado como tal, el software debe garantizar las libertades de ejecutar, estudiar, modificar y distribuir el código. Según él, “las libertades del software libre están entre los derechos humanos que la sociedad debe establecer y proteger” y son esenciales para el mantenimiento de otros derechos humanos. En 1998, sin embargo, se acuñó un nuevo concepto, de modo a partir del punto de vista estratégico y práctico del desarrollo: el “código abierto” (“open source”).

A diferencia de la definición de software libre, cuyo origen era político y filosófico, la noción de código abierto pretendió definir una estrategia de desarrollo que aportara beneficios a quienes la adoptan, ya que las contribuciones externas ayudan a la reducción de gastos y a una mayor velocidad de desarrollo.
El concepto fue ideado por la recién formada Open Source Initiative (Iniciativa de Código Abierto). Para que una licencia sea considerada de código abierto, debe respetar diez criterios que garantizan, en resumen, que el código pueda ser redistribuido libremente, incluyendo nuevas adiciones y modificaciones, sin restricción ni discriminación entre usuarios, grupos o campos de aplicación.
A pesar de tener filosofías diferentes, ambos conceptos resultaron en una práctica similar, orientada a la contribución y el desarrollo abierto, términos que, hoy en día, se usan de forma indistinta. Una nueva definición, inclusive, viene ganando popularidad: Free Open Source Software (software libre de código abierto), incorporando ambos conceptos, el de código abierto y el de software libre. De aquí en adelante se usará el término “código abierto” para hacer referencia tanto a proyectos considerados como software libre como al código abierto basado en la definición de la Open Source Initiative.
Derechos de autor
Es importante notar que código aberto no se ajusta dentro do conceito de dominio público, uma vez que é protegido por direitos autorais, mesmo que seus termos permitam a redistribuição e a modificação de forma similar ao domínio público. Além disso, na maioria das licenças de código aberto, ainda é necessária a referencia aos autores e a inclusão da licença em todas as cópias distribuídas.
El código abierto tampoco significa que cualquier contribución será aceptada, independientemente de la calidad y los objetivos. Los proyectos de código abierto son liderados por mantenedores, que son los desarrolladores responsables de analizar y discutir las contribuciones de la comunidad y que, en general, también son los mayores contribuyentes de las iniciativas. De esta forma, las nuevas funcionalidades siempre buscan mejoras en el software teniendo en cuenta a sus usuarios y pueden ser sugeridas e implementadas por la propia comunidad.
Bifurcación
Por otro lado, la comunidad no siempre está de acuerdo con el desarrollo del proyecto. Debido a las libertades del código abierto, cualquiera puede crear un “fork” (bifurcación), una versión del código con sus propias modificaciones. Sin embargo, mientras que el código bajo licencia de código abierto permite la publicación de estas versiones, los logos y nombres pueden estar bajo diferentes licencias, lo que generalmente resulta en nombres y logos distintos de los presentados en los proyectos originales.
A menudo, estas bifurcaciones son creadas por miembros de la comunidad que desean continuar con el desarrollo del proyecto, pero en direcciones diferentes, y no es raro que estas modificaciones terminen en el código original después de un tiempo, así como tampoco es raro que una bifurcación termine siendo más popular que el proyecto original en el que se basa.
Recientemente la empresa responsable del desarrollo del software de base de datos Redis comenzó a lanzar las nuevas versiones del proyecto con una licencia más restrictiva, que no se considera de código abierto. Como respuesta, la comunidad creó un fork que seguirá el desarrollo a partir de la última versión disponible con licencia de código abierto. Empresas como Amazon y Google ya están apoyando el nuevo fork financieramente.
Existen softwares abiertos para diversos fines, y muchos proyectos son alternativas a versiones de pago, como Libre Office (alternativa a Office de Microsoft), GIMP (Editor de imágenes, alternativa a Adobe Photoshop) y Zotero (Gestor de referencias, alternativa a Mendeley). Otros proyectos son referencias en sus áreas, como Open Broadcaster Software (OBS), para transmisiones en vivo, VLC, para reproducir medios, y proyectos como Blender, un software de modelado y animación 3D que ha sido utilizado en múltiples cortometrajes de animación premiados, como “Agent 327” y “Spring”.
Esta lista não inclui apenas projetos com poucos desenvolvedores ou empresas pequenas. Os navegadores Edge, Chrome e Opera dependem do Chromium, um projeto de código aberto desenvolvido e mantido pelo Google. Os celulares Android utilizam uma versão modificada do Linux, um sistema operativo de código aberto. Empresas como Netflix e Meta também possuem múltiplos projetos disponíveis em código aberto.
Ventajas
El costo es solo una de las ventajas de usar proyectos de código abierto. Dado que su desarrollo está muy ligado a la forma en que la comunidad lo usa, estas herramientas se desarrollan para funcionar bien con otros softwares, sin que su uso se limite a los softwares de la misma empresa. También es posible encontrar versiones oficiales o adaptadas por la comunidad para cada sistema operativo. Otro beneficio es que a menudo la documentación y los manuales también están disponibles bajo una licencia de código abierto, lo que significa que la comunidad puede contribuir con actualizaciones, mejoras en la escritura y ejemplos de uso.
Debido a que el código está disponible para todos, los problemas de vulnerabilidad son menos frecuentes, ya que quienes dependen de la herramienta pueden revisar y validar el código y, en caso de que se encuentre alguna falla, indicarla a los desarrolladores o incluso implementar una solución propia.
Algunas empresas brindan soporte especializado de pago para los softwares que desarrollan y distribuyen a través de código abierto. Otras ofrecen alojamiento para proyectos de código abierto, como, por ejemplo, WordPress (WP), que admite sitios web que utilizan su herramienta de gestión de sitios web y blogs. Sin embargo, como el código de WP es abierto, es posible alojar un sitio web en otro lugar utilizando la misma herramienta.
En el caso de Chromium y Linux, múltiples empresas que dependen de estos proyectos también les proporcionan recursos, ya sea a través de tiempo de desarrolladores o con donaciones financieras a las fundaciones responsables de gestionar estos proyectos.
Precauciones
Sin embargo, al igual que con el software de código cerrado, siempre es necesario tomar algunas precauciones antes de comprometerse y depender totalmente de algún proyecto de código abierto. Es importante tener en cuenta si el proyecto aún está en desarrollo activo, tiene inversiones o está vinculado a alguna empresa.

Además, una comunidad grande y activa suele resultar en una mejor documentación y en más oportunidades de encontrar ayuda cuando es necesario. Los proyectos populares rara vez se abandonan, con miembros de la comunidad asumiendo el papel de mantenedores y continuando el trabajo de supervisar el desarrollo.
En Skylar, utilizamos múltiples proyectos de código abierto, desde las herramientas para control de versiones (git) hasta tecnologías para desarrollar nuestras aplicaciones (React y Vue). El hecho de que estos proyectos sean de código abierto, además de permitir ser completamente adaptados a nuestro uso, es una garantía de funcionamiento, de desarrollo futuro y de soporte de la comunidad. Cuando otros desarrolladores encuentran fallos en estos proyectos y los reportan o contribuyen con correcciones, nosotros también nos beneficiamos. En el ámbito de Skylar ya hemos realizado correcciones de fallos en proyectos que utilizábamos, compartiendo nuestra solución con la comunidad.
En general, adoptar el uso de software de código abierto puede traer grandes ventajas, como seguridad, calidad, reducción de costos y flexibilidad para futuros cambios. Sin embargo, se deben tomar algunas precauciones: es importante tener en cuenta la comunidad y el soporte disponibles; otro punto importante a tener en cuenta es la madurez del proyecto, para garantizar que pueda mantenerse a largo plazo. Para el proyecto, disponer de un código con licencia de código abierto puede generar beneficios como la contribución de desarrolladores externos a la organización, la identificación y corrección de errores con agilidad y mayor transparencia y confianza por parte de los usuarios, además de la creación de una comunidad en torno a los productos de la empresa.
| Para tener acceso a las referencias de este texto haga clic aquí |
Este contenido fue producido por:

Renato Augusto do Carmo de Lacerda
Renato Augusto do Carmo de Lacerda es desarrollador de software y entusiasta de la comunidad Open Source. Desde 2022 contribuye con documentación y códigos en diversos proyectos. Actúa en Skylar en el área de desarrollo front-end web y posee experiencia con la creación de landing pages y páginas interactivas.
Quién publicó esta columna
Skylar








