El software open source o de código abierto es mucho más que un simple software accesible al público y que puede ser apro­ve­cha­do, copiado y mo­di­fi­ca­do por terceros. En el tra­n­s­cu­r­so de las últimas décadas, el código abierto también se ha co­n­ve­r­ti­do en un estilo de trabajo y un mo­vi­mie­n­to colectivo de re­so­lu­ción de problemas. Sin embargo, al tratarse de un modelo de pro­du­c­ción de­s­ce­n­tra­li­za­do, depende de la revisión por pares (pro­ce­di­mie­n­to de control de calidad in­de­pe­n­die­n­te) y de la co­n­tri­bu­ción de las co­mu­ni­da­des de pro­gra­ma­do­res. El trabajo co­la­bo­ra­ti­vo es una de las pri­n­ci­pa­les ca­ra­c­te­rí­s­ti­cas del software abierto. En este artículo definimos el término open source y co­m­pa­ra­mos el software abierto y libre frente al software de código cerrado.

¿Qué es el código abierto?

El origen del código abierto se encuentra en el concepto del open source software, abreviado OSS por sus siglas en inglés. En este tipo de software, el código fuente es público y está di­s­po­ni­ble para ser mo­di­fi­ca­do: tanto pro­gra­ma­do­res como usuarios pueden adaptarlo y di­s­tri­bui­r­lo. En co­m­pa­ra­ción con el software pro­pie­ta­rio, la ad­qui­si­ción de productos de código abierto es más flexible y económica, puesto que el producto no tiene pro­pie­ta­rio concreto ni pertenece a una empresa. En su lugar, cuenta con una gran comunidad de de­sa­rro­lla­do­res que mejora el producto gracias a una co­la­bo­ra­ción continua. En algunos casos, algunas or­ga­ni­za­cio­nes o empresas se unen para llevar a cabo proyectos de código abierto y así ahorrar en costes de de­sa­rro­llo.

Este modelo de pro­du­c­ción en el área del de­sa­rro­llo de software no es ninguna novedad: el código abierto es tan antiguo como el propio Internet. Ya en los años 50 y 60 se de­sa­rro­lla­ron los primeros pro­to­co­los de red de te­le­co­mu­ni­ca­ción en un entorno abierto. La red ARPANET (Red de Agencias de Proyectos de In­ve­s­ti­ga­ción Avanzada) sentó las bases del Internet moderno y se basaba, igual que el software de código abierto actual, en el trabajo co­la­bo­ra­ti­vo y la revisión por pares. El mo­vi­mie­n­to hacker de los años 70 y el mo­vi­mie­n­to de software libre en los años 80 afia­n­za­ron la idea del in­te­r­ca­m­bio libre de co­no­ci­mie­n­tos en el de­sa­rro­llo de software. En la ac­tua­li­dad, el concepto de código abierto no solo describe el software en sí, sino también una actitud de co­la­bo­ra­ción en el mundo de las te­c­no­lo­gías.

De­fi­ni­ción

Open source: el concepto de open source es el principio central del software de código abierto. Se trata de software a cuyo código fuente se puede acceder li­bre­me­n­te para mo­di­fi­car­lo o copiarlo. En el concepto de código abierto de­s­ce­n­tra­li­za­do arraiga una idea de co­le­c­ti­vi­dad: la co­la­bo­ra­ción de una gran comunidad de de­sa­rro­lla­do­res que soluciona, mantiene y mejora el producto para todos los usuarios a través del libre in­te­r­ca­m­bio de co­no­ci­mie­n­tos.

¿En qué se di­fe­re­n­cian el software libre abierto y el software cerrado?

Antes de que se asentara el concepto de código abierto, los modelos de software ac­ce­si­bles al público recibían el nombre de software libre (free software). Esta de­no­mi­na­ción se le atribuye es­pe­cia­l­me­n­te al proyecto GNU, un sistema operativo que se creó durante el mo­vi­mie­n­to de software libre y que pretendía ga­ra­n­ti­zar a los usuarios finales la máxima libertad en el uso del código fuente. Con él, el concepto de software libre se co­n­tra­po­nía di­re­c­ta­me­n­te al software pro­pie­ta­rio o software cerrado, en el cual úni­ca­me­n­te el pro­pie­ta­rio re­gi­s­tra­do (la empresa) está au­to­ri­za­do a acceder al código fuente y a mo­di­fi­car­lo o di­s­tri­bui­r­lo. Los usuarios, en cambio, solo pueden utilizar el software de acuerdo con su fin es­ta­ble­ci­do y, por lo general, previo pago.

Pre­ci­sa­me­n­te esta de­no­mi­na­ción inicial en inglés, free software, fue la que llevó a confusión, pues la palabra free no solo significa libre, sino también gratis. No obstante, el concepto se refería úni­ca­me­n­te a las li­be­r­ta­des de los usuarios y no a su gratuidad ni a ningún carácter co­mu­ni­ta­rio. Como sucede con las licencias Creative Commons, en el software de código abierto no todo está permitido: los usuarios están sujetos a ciertas co­n­di­cio­nes. Para alejar el foco de la idea comercial y desviarlo hacia la uti­li­za­ción libre, en 1998 el Foresight Institute acuñó el término open source, que significa li­te­ra­l­me­n­te fuente abierta, es decir, software de código abierto.

Nota

El software de código abierto no es lo mismo que el software de dominio público, a menudo llamado freeware o software gratuito. Puesto que las de­sig­na­cio­nes no permiten deducir cla­ra­me­n­te el si­g­ni­fi­ca­do de cada uno, pueden darse co­n­fu­sio­nes entre los dos tipos de software.

Co­n­si­de­ra­cio­nes respecto al código abierto

Sobre todo en las fases iniciales, las empresas se mostraban es­cé­p­ti­cas respecto a la uti­li­za­ción de software de código abierto. Por un lado, no querían volverse vu­l­ne­ra­bles en materia de licencias, y por otro, temían tener que exponer partes de su propio software. Ac­tua­l­me­n­te, la mayoría de estos pre­jui­cios ha des­apa­re­ci­do y muchas grandes empresas apuestan por so­lu­cio­nes de código abierto. Para poder contar con un espectro de de­sa­rro­lla­do­res lo más amplio posible a nivel mundial, se han creado di­fe­re­n­tes modelos de licencia. Por lo general, la mayor parte de sus di­s­po­si­cio­nes tienen que ver con la obli­ga­ción de los usuarios en relación con la do­cu­me­n­ta­ción y la pu­bli­ca­ción de la uti­li­za­ción de proyectos de código abierto.

Antes de decidirte por co­m­po­ne­n­tes de código abierto, comprueba las co­n­di­cio­nes de sus licencias. Para evitar problemas legales es im­po­r­ta­n­te utilizar siempre los co­m­po­ne­n­tes de acuerdo con las mismas y ase­gu­rar­se de do­cu­me­n­tar su apli­ca­ción. Además, debes estar dispuesto a publicar tus he­rra­mie­n­tas y códigos fuente si te lo pidiesen. Las pla­ta­fo­r­mas de de­sa­rro­lla­do­res como GitHub, que se usan para la gestión de versiones de proyectos de de­sa­rro­llo de software, y las he­rra­mie­n­tas de licencia facilitan co­n­si­de­ra­ble­me­n­te el trabajo con software de código abierto. A menudo te permiten crear una lista de co­m­po­ne­n­tes de software con la que tener bajo control los tipos de licencia de cada co­m­po­ne­n­te que estés uti­li­za­n­do.

Ejemplos de software de código abierto

Pro­ba­ble­me­n­te sin ser co­n­s­cie­n­tes de ello, la mayoría de los usuarios de Internet utiliza con re­gu­la­ri­dad software divulgado como código abierto. A co­n­ti­nua­ción, pre­se­n­ta­mos tres proyectos de fuente abierta conocidos a nivel mundial y que han influido en gran medida el mo­vi­mie­n­to OS.

PHP: este lenguaje de pro­gra­ma­ción se de­sa­rro­lló para crear sitios web dinámicos. Desde su aparición en 1995, se considera uno de los lenguajes de pro­gra­ma­ción más uti­li­za­dos en todo el mundo. PHP ofrece a apli­ca­cio­nes como Slack o Spotify una gran fle­xi­bi­li­dad en lo referente al soporte de bases de datos y a la in­te­gra­ción en pro­to­co­los de Internet.

Mozilla Firefox: este navegador web de libre co­n­fi­gu­ra­ción ofrece una amplia selección de plug-ins y es uno de los tres clientes-web más uti­li­za­dos a nivel mundial. Llegó al mercado en 2002 y re­vo­lu­cio­nó la industria te­c­no­ló­gi­ca con su concepto abierto. De acuerdo con el sitio web de medios mu­l­ti­me­dia es­ta­dou­ni­de­n­se CNET, Mozilla Firefox tuvo un papel clave en la difusión del código abierto.

WordPress: este sistema de gestión de co­n­te­ni­dos gratuito existe desde 2003 y desde entonces no ha dejado de pe­r­fe­c­cio­nar­se. WordPress se basa en el lenguaje de pro­gra­ma­ción de código abierto PHP y se de­sa­rro­lló ini­cia­l­me­n­te para crear y gestionar weblogs. Gracias a la in­te­gra­ción de plug-ins externos, este CMS ofrece a los usuarios muchas po­si­bi­li­da­des de co­n­fi­gu­ra­ción con el mínimo esfuerzo. Hoy, WordPress es uno de los sistemas de gestión de co­n­te­ni­dos más conocidos y más uti­li­za­dos en el mundo.

Ventajas y de­s­ve­n­ta­jas del software de código abierto

Son muchos los ar­gu­me­n­tos a favor de utilizar software de código abierto. No obstante, no hay que olvidar algunos riesgos asociados a su uso y que se deben co­n­si­de­rar antes de tomar una decisión. Sopesa las si­guie­n­tes ventajas y de­s­ve­n­ta­jas del código abierto para saber si este modelo de software es adecuado para ti.

Ventajas:

  • Bajos costes de ad­qui­si­ción: el código fuente de este tipo de software está di­s­po­ni­ble para los usuarios de manera gratuita, con lo que no hay gastos de ad­qui­si­ción.
  • Fia­bi­li­dad: el hecho de que una comunidad entera de de­sa­rro­lla­do­res se encargue de mejorar el producto le añade una fia­bi­li­dad mayor que la del software pro­pie­ta­rio.
  • Du­ra­bi­li­dad: el software de código abierto no caduca porque no depende del éxito de un solo proveedor cuyo servicio fallaría, por ejemplo, si la empresa se di­so­l­vie­se.
  • Seguridad: la comunidad de de­sa­rro­lla­do­res ide­n­ti­fi­ca errores y brechas de seguridad en cuanto aparecen y los solventan rá­pi­da­me­n­te.
  • Fle­xi­bi­li­dad: el código abierto asegura a los usuarios una gran fle­xi­bi­li­dad, ya que el software se adapta a las ne­ce­si­da­des in­di­vi­dua­les sin necesidad del co­n­se­n­ti­mie­n­to de un proveedor.

De­s­ve­n­ta­jas:

  • Costes a largo plazo: en los proyectos de código abierto pueden darse ciertos costes derivados de, por ejemplo, la ca­pa­ci­ta­ción de empleados o la re­so­lu­ción externa de problemas.
  • Soporte: mientras que los servicios de atención al cliente para resolver problemas están incluidos en el software pro­pie­ta­rio, los usuarios de OSS no cuentan con esta asi­s­te­n­cia.
  • Usa­bi­li­dad: el software de código abierto está orientado a de­sa­rro­lla­do­res y su co­n­fi­gu­ra­ción requiere ciertos co­no­ci­mie­n­tos técnicos.
  • Abandono: aunque la mayoría de los proyectos de código abierto son duraderos, puede darse el caso de que la comunidad de de­sa­rro­lla­do­res pierda el interés por el proyecto.
  • Seguridad: por lo general, el uso de proyectos de código abierto es seguro. Aun así, no hay que olvidar que se de­sa­rro­llan en un entorno no co­n­tro­la­do en el que el malware no se puede descartar.
Co­n­clu­sión

En vista de las muchas ventajas, no es de extrañar que el concepto de código abierto se haya impuesto en las últimas décadas. Gracias a las he­rra­mie­n­tas adecuadas y al co­m­pro­mi­so que ofrece este modelo, los usuarios de código abierto se be­ne­fi­cian de sus ventajas y, al mismo tiempo, forman parte de un mo­vi­mie­n­to digital global que apuesta por la creación colectiva.

Ir al menú principal