Código abierto
Software cuyo código cualquiera puede leer, usar, cambiar y compartir.
El software de código abierto (open source) es aquel cuyo código fuente, el texto legible que escriben los programadores, está publicado para que cualquiera lo lea, lo use, lo modifique y lo redistribuya. Las reglas las pone una licencia. Algunas (MIT, Apache) te dejan hacer casi cualquier cosa, incluso venderlo adentro de un producto cerrado; otras (GPL) exigen que si distribuís una versión modificada, publiques tus cambios también.
No es un nicho. Linux corre en la mayoría de los servidores y en todos los Android, Git lleva el registro de casi todo el código del mundo, Python y JavaScript son de código abierto, y también Kubernetes, PostgreSQL y el motor de navegador detrás de Chrome. La mayor parte vive en GitHub, donde cualquiera puede reportar un error o proponer un arreglo en un pull request, y un grupo chico de mantenedores decide qué entra.
Las empresas lo financian porque una infraestructura compartida sale más barata que armar cada uno la suya, y porque un proyecto abierto atrae usuarios y talento. Los modelos de negocio son soporte pago, versiones hospedadas (podés correr PostgreSQL vos gratis, o pagarle a AWS por Amazon RDS) y el "open core", donde la base es gratis y los extras se pagan. En IA, los modelos "de pesos abiertos" como Llama publican el modelo entrenado pero no siempre los datos ni el código que lo produjeron.
Para quedarse
- "Libre" acá es la libertad de leer y cambiar el código; suele ser gratis además, pero eso es otra cosa.
- La licencia decide qué podés hacer: MIT y Apache son permisivas, GPL exige compartir los cambios.
- Lo mantienen tanto voluntarios como ingenieros pagos de empresas grandes.
- Código abierto no significa sin dueño: los mantenedores deciden qué se mergea.
Para seguir leyendo
- La definición de código abierto (OSI, en inglés)
- Guías de código abierto (GitHub)
- Código abierto (Wikipedia)