← Fundamentos

Software de código abierto: ventajas y desventajas

Qué se gana y qué se arriesga al usar código abierto en una empresa o en un proyecto propio, sin el entusiasmo de los fanáticos ni el miedo de los vendedores.

En este artículo
  1. Ventajas
  2. Desventajas
  3. Cómo decidir
  4. Preguntas frecuentes

El código abierto ya no es una alternativa de nicho. Corre en la mayoría de los servidores de internet, en casi todos los teléfonos (Android parte de Linux) y dentro de buena parte del software comercial. Aun así, elegirlo para algo concreto sigue siendo una decisión con costos. Estos son los dos lados.

Ventajas

No dependes de un solo proveedor

Si el código está disponible y la licencia lo permite, cualquiera puede mantenerlo. Cuando una empresa abandona un producto cerrado, sus clientes quedan sin salida. Cuando abandona un proyecto abierto, otros pueden continuarlo con un fork. Pasó con OpenOffice y LibreOffice, con MySQL y MariaDB, y más recientemente con Terraform y OpenTofu.

Se puede auditar

El código se puede leer. Eso no garantiza que alguien lo haya revisado, pero permite hacerlo: un equipo de seguridad, un cliente exigente o tú mismo pueden verificar qué hace un programa con los datos.

Costo de licencia cero, o casi

La mayoría de los proyectos se descargan y usan sin pagar. Para una pyme la diferencia puede ser grande: un servidor con Linux, PostgreSQL y Nginx no paga licencias por núcleo ni por usuario.

Estándares y formatos abiertos

Los proyectos libres tienden a usar formatos documentados. Tus datos no quedan atrapados en un archivo que solo un programa sabe leer.

Comunidad y conocimiento compartido

Los proyectos grandes tienen documentación, foros, respuestas en Stack Overflow y gente que ya resolvió tu problema. Además, quien aprende una herramienta libre se lleva ese conocimiento a cualquier empleo.

Desventajas

Gratis no es sin costo

La licencia no cuesta, pero instalar, configurar, actualizar y dar soporte sí. Alguien en tu equipo tiene que saber, o hay que pagarle a alguien que sepa. El costo total puede quedar por encima de una solución comercial con soporte incluido.

El soporte no está garantizado

Abrir un issue no es contratar un servicio. Los mantenedores responden cuando pueden, si pueden. Para sistemas críticos conviene un proyecto con respaldo comercial (Red Hat, Canonical, Percona, EDB y muchas otras empresas venden soporte sobre software libre) o capacidad interna.

Proyectos que mueren o cambian de licencia

Muchos proyectos dependen de una o dos personas. Si se cansan, el proyecto se detiene. Y algunos proyectos respaldados por empresas han cambiado a licencias más restrictivas (Elasticsearch, MongoDB, HashiCorp, Redis), lo que obliga a sus usuarios a reevaluar.

Experiencia de uso dispareja

Las herramientas para desarrolladores suelen ser excelentes. Las aplicaciones de escritorio para usuarios no técnicos, no siempre: la interfaz puede ser menos pulida y la integración con el resto del ecosistema de la oficina, más torpe.

Obligaciones de licencia

Usar no obliga a casi nada. Distribuir sí: si incluyes código GPL en un producto que entregas a terceros, tienes que entregar también el código fuente de tu versión. Ignorarlo es un riesgo legal real; los casos típicos están en ¿puedo usar código GPL en un producto comercial?.

Cómo decidir

Un criterio práctico:

Pregunta Si la respuesta es sí
¿Es infraestructura (sistema operativo, base de datos, servidor web)? El código abierto suele ser la mejor opción.
¿Tienes a alguien que pueda operarlo? Adelante. Si no, presupuesta soporte.
¿El proyecto tiene varias empresas o una fundación detrás? Menos riesgo de abandono o cambio de licencia.
¿Lo vas a distribuir dentro de un producto? Revisa la licencia antes de escribir una línea.
¿Lo van a usar personas no técnicas todos los días? Pruébalo con ellas antes de decidir.

El código abierto gana casi siempre en infraestructura y herramientas de desarrollo. En aplicaciones de usuario final hay que evaluarlo caso a caso.

Más sobre el tema: cómo usar software de código abierto y usos del software libre en empresas.

Preguntas frecuentes

¿El software de código abierto es gratis? Casi siempre la licencia no cuesta, pero instalarlo, configurarlo, actualizarlo y darle soporte sí tiene un costo. En algunos casos el costo total supera al de una solución comercial con soporte incluido.

¿El código abierto es más seguro que el software cerrado? No automáticamente. Que el código se pueda leer permite auditarlo, pero no garantiza que alguien lo haya revisado.

¿Qué pasa si un proyecto de código abierto se abandona? Otros pueden continuarlo con un fork, si la licencia lo permite. Así siguió LibreOffice a partir de OpenOffice.

¿Puedo usar software de código abierto en mi empresa? Sí. Usarlo casi no impone obligaciones, y las condiciones de la licencia importan sobre todo cuando lo distribuyes dentro de un producto, como explicamos en ¿puedo usar código GPL en un producto comercial?.

¿Quién da soporte al software de código abierto? La comunidad, sin garantía, o empresas que venden soporte sobre software libre, como Red Hat, Canonical, Percona o EDB. Para sistemas críticos conviene ese respaldo comercial o capacidad interna.