Capítulo 16 de 33 9 secciones 7 min

Qué te deja hacer una licencia

Que sea público no significa que sea tuyo, y viceversa

<strong>Un repositorio sin archivo LICENSE es "todos los derechos reservados": puedes mirarlo, no puedes usarlo.</strong> Que esté público no lo hace libre. Las tres licencias que vas a encontrar el 95% de las veces son MIT (haz lo que quieras, solo conserva el aviso), Apache 2.0 (igual, más protección de patentes) y GPL (puedes usarlo, pero lo que construyas encima también tiene que ser abierto). Para lo tuyo, MIT.

Este capítulo lo escribo con una advertencia por delante: no soy abogada y esto no es asesoría legal. Es lo que necesitas saber para no meter la pata con un cliente, que es distinto 👩‍⚖️

Y la pata más común es esta: "está en GitHub, es público, lo uso".

Público no es libre

Cuando alguien escribe algo, ese algo es suyo desde el momento en que lo escribe. No hace falta registrar nada. Publicarlo en internet lo hace visible, no gratis.

Por eso, si un repositorio no tiene licencia, la respuesta por defecto es "todos los derechos reservados". Los propios términos de GitHub dicen que subiendo algo público le das a los demás el derecho de verlo y de bifurcarlo dentro de GitHub, y nada más. Ni usarlo en tu trabajo, ni copiarlo dentro de un proyecto que cobras.

La licencia es justamente el permiso que el autor da por adelantado, para no tener que contestar correos uno por uno 📜

Las tres que vas a encontrar

LicenciaPuedo usarlo en algo que cobroTengo que abrir mi códigoLa reconoces por
MITNoEs cortita, cabe en una pantalla
Apache 2.0NoLarga, habla de patentes
GPL v3Sí, si lo distribuyesHabla de "copyleft"
Sin archivoNo-No hay LICENSE en la raíz

MIT y Apache dicen básicamente "haz lo que quieras, no me demandes si se rompe, y deja mi nombre en el aviso". GPL dice "haz lo que quieras, pero si entregas algo construido encima de esto, ese algo también tiene que ser abierto".

Esa última fila es la que importa en el trabajo: si vas a entregarle a un cliente algo que lleva dentro una librería GPL, esa es una conversación que hay que tener antes y no después ⚠️

Mirar la licencia desde la terminal

Armamos un proyecto con licencia para verlo:

mkdir reporte-ventas
cd reporte-ventas
git init -q
printf 'ciudad,monto\nLima,1200\nArequipa,890\n' > ventas.csv
printf '# Reporte de ventas\n' > README.md
git add .
git commit -q -m "Primera version del reporte de ventas"
ls
test -f LICENSE && echo "tiene licencia" || echo "sin licencia, ojo"
README.md
ventas.csv
sin licencia, ojo

Ese test -f LICENSE es la revisión de cinco segundos que hago antes de usar cualquier cosa ajena en un proyecto de cliente 🔎

Ponerle una a lo tuyo

En GitHub hay un asistente (Add file > Create new file, escribe LICENSE y aparece un botón para elegir). Desde la terminal es un archivo de texto y ya:

printf 'MIT License\n\nCopyright (c) 2026 Gera Flores\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the "Software"), to deal\nin the Software without restriction.\n' > LICENSE
git add LICENSE
git commit -q -m "Se agrega la licencia MIT"
head -3 LICENSE
git log --oneline
MIT License

Copyright (c) 2026 Gera Flores
6d14e7e Se agrega la licencia MIT
3d1883c Primera version del reporte de ventas

El texto completo de MIT son unas veinte líneas y se copia tal cual desde opensource.org. Lo único que se cambia es el año y el nombre 📝

Cuando el archivo se llama de otra forma

git mv LICENSE LICENCIA.txt
git commit -q -m "Se traduce el nombre del archivo de licencia"
ls
git log --oneline -1
LICENCIA.txt
README.md
ventas.csv
10b7e35 Se traduce el nombre del archivo de licencia

Funciona, pero no lo hagas. GitHub reconoce el archivo por el nombre LICENSE y es lo que muestra en la barra lateral del proyecto. Con otro nombre, tu licencia existe y nadie la ve.

git mv LICENCIA.txt LICENSE
git commit -q -m "Vuelve a llamarse LICENSE, que es lo que GitHub reconoce"
ls
LICENSE
README.md
ventas.csv

Qué hacer si el proyecto que quieres no tiene licencia

Preguntar. Se abre un issue de tres líneas, sin drama:

Hola! Me gustaría usar esto en un proyecto de trabajo.
¿Podrías agregarle una licencia para saber qué está permitido?
Gracias por publicarlo 🙌

La mitad de las veces es un olvido y lo resuelven el mismo día. Y si nadie contesta en dos semanas, esa también es una respuesta 🤷‍♀️

La trampa

Encuentras en GitHub un script que hace exactamente el reporte de ventas que te pidió tu cliente. No tiene licencia, pero es público, así que lo usas.

$ ls
README.md  reporte.py  requirements.txt

$ ls LICENSE
ls: cannot access 'LICENSE': No such file or directory
Qué está mal

Sin licencia no es "libre", es todos los derechos reservados ⚖️

Es al revés de lo que parece: publicar algo no lo regala. Por defecto la obra es de su autor, y que esté visible en internet no te da permiso para usarla, ni para copiarla dentro de un trabajo que cobras.

GitHub lo dice en sus propios términos: lo público se puede ver y se puede bifurcar dentro de GitHub, y nada más.

La salida no es dejar de usarlo, es preguntar: se abre un issue amable pidiendo que le pongan una licencia. Casi siempre es un olvido y se resuelve en un día.

Comprueba que se entendió

Comprueba que lo tienes

Encuentras un script público en GitHub, sin archivo LICENSE, que resuelve el reporte que te pidió un cliente. ¿Qué puedes hacer?

  • Usarlo, es público
  • Mirarlo y aprender de él, pero no usarlo sin preguntar
  • Usarlo si lo cambio bastante
  • Usarlo si menciono al autor

Ejercicios

1. Revisa si un proyecto tiene licencia

Crea el catálogo de bodegas sin licencia y hazle la revisión de cinco segundos.

cd ..
mkdir catalogo-bodegas
cd catalogo-bodegas
git init -q
printf 'bodega,ciudad\nBodega Inti,Cusco\n' > bodegas.csv
git add bodegas.csv
git commit -q -m "Catalogo de bodegas de Cusco"
ls
test -f LICENSE && echo "tiene licencia" || echo "sin licencia"
bodegas.csv
sin licencia

Sin licencia. Si fuera de otra persona, tocaría preguntar antes de usarlo.

2. Ponle MIT

Agrega la licencia y guárdala en su propio commit.

printf 'MIT License\n\nCopyright (c) 2026 Gera Flores\n' > LICENSE
git add LICENSE
git commit -q -m "Se agrega la licencia MIT"
git log --oneline
cat LICENSE
061ce9d Se agrega la licencia MIT
ffd8667 Catalogo de bodegas de Cusco
MIT License

Copyright (c) 2026 Gera Flores

Un commit aparte para la licencia, porque es una decisión y no un detalle.

3. Comprueba el año y el nombre

Lo único que se personaliza de MIT es la línea del copyright.

grep Copyright LICENSE
Copyright (c) 2026 Gera Flores

Si copias una licencia y te olvidas de cambiar esa línea, estás declarando que la obra es de otra persona 🙈

4. Mira cuándo se agregó

La historia de un solo archivo, que ya viste en el capítulo 6.

git log --oneline -- LICENSE
061ce9d Se agrega la licencia MIT

Útil en proyectos ajenos: te dice si la licencia estuvo desde el principio o si se agregó después, que cambia qué cubre.

5. Prueba a renombrarla

Cámbiale el nombre y vuelve a dejarla como estaba.

git mv LICENSE licencia.md
git commit -q -m "Se prueba otro nombre para la licencia"
ls
git mv licencia.md LICENSE
git commit -q -m "Vuelve a LICENSE, que es el nombre que GitHub reconoce"
ls
bodegas.csv
licencia.md
LICENSE
bodegas.csv

El nombre exacto importa porque GitHub lo busca literal.

6. Busca licencias en todo un proyecto

Un proyecto puede traer licencias de terceros dentro. Búscalas todas.

mkdir -p vendor/libreria-ajena
printf 'Apache License 2.0\n' > vendor/libreria-ajena/LICENSE
git add vendor
git commit -q -m "Entra una libreria de terceros con su licencia"
find . -name "LICENSE*" -not -path "./.git/*"
./LICENSE
./vendor/libreria-ajena/LICENSE

Dos licencias en un mismo proyecto es normal. Lo que no es normal es no saber que están 🔍

7. Intenta borrar una licencia que no existe

Pídele a Git que quite un archivo que el proyecto no tiene.

git rm LICENCIA-VIEJA.txt
fatal: pathspec 'LICENCIA-VIEJA.txt' did not match any files

Git no borra a ciegas ni inventa: si el archivo no está en la historia, te lo dice y no toca nada 🛡️

Lo que te llevas

Sin LICENSE, todos los derechos reservados. Para lo tuyo, MIT; para lo ajeno, mira el archivo antes de usarlo.

Practica este capítulo 📓

Todo el código de arriba en un cuaderno que corre de principio a fin, y los ejercicios con una celda vacía para que los hagas tú. Se abre en Google Colab y no hay que instalar nada.

¿Tienes alguna duda o consulta?