¿Cómo se debe activar una licencia de código abierto? ¿Solo incluye el texto de la licencia en todos los archivos?
No sé cuál es el requisito legal exacto, pero la práctica normal es incluir un pequeño comentario de encabezado al comienzo de cada archivo:
- que indica quién posee los derechos de autor, y
- eso establece que el archivo está cubierto por tal o cual licencia, indicando al lector el nombre del archivo que contiene el texto de la licencia y diciéndole dónde encontrar el texto si falta el archivo.
¿Qué más tengo que hacer? ¿Necesito comprar algo correcto?
No.
¿Incluye un archivo readme.txt en todos los directorios?
No. Un solo archivo README en la raíz del árbol de directorios es una buena idea, pero no es obligatorio.
Quiero decir, ¿qué debo hacer si deseo que mi código esté protegido por la prueba legal de una licencia?
Para estar absolutamente seguro, hable con un abogado.
En cuanto a sus requisitos de licencia.
(1) No me importa lo que la gente haga con mi código, con fines educativos, para ganar dinero, no me importa lo que quieran hacer con él.
Eso no es un requisito. Muy pocas licencias prohíben a las personas ganar dinero, usarlas en educación, etc.
Sin embargo, "hacer lo que quieran con él" literalmente contradice algunos de sus otros requisitos.
(2) Si cambian mi código y alguien solicita esas modificaciones, le dan el código con las modificaciones.
El requisito de que proporcionen el código fuente de cualquier modificación que hagan está presente en GPL, LGPL, AGPL, pero no en Apache, BSD y otras licencias comunes.
(3) Pero quiero que las personas no eliminen mi nombre del código, y si usan mi código, obligarlos a mencionarme.
La mayoría de las licencias requieren atribuciones en el código para permanecer en el código.
Sin embargo, "obligarlos a mencionarme" es difícil, y pocas o ninguna licencia lo dicen. De hecho, la posición de la FSF es que tal requisito hace que su código no sea libre ...
(4) Pero no quiero obligar a las personas a publicar el código de sus aplicaciones, incluso si están usando mi código.
Pocas licencias obligan a las personas a publicar el código de su aplicación como algo natural. Incluso el más radical de la familia GPL le permite usar y modificar software con fines puramente privados.
Sin embargo, GPL y otros obligan a las personas a publicar la fuente si las personas distribuyen una aplicación basada en la suya. (Las condiciones precisas dependen de la licencia. Por ejemplo, LGPL permite a las personas vincular su código con el suyo sin obligarlos a publicar el suyo. Por otro lado, GPL les exige que publiquen su código en esas circunstancias, y AGPL lo extiende a otras áreas .)
Tenga en cuenta también que los requisitos (2) y (4) son literalmente contradictorios.
En resumen, debe poder expresar claramente sus requisitos para una licencia. Si no puede hacerlo, tiene pocas posibilidades de encontrar una licencia que coincida con sus requisitos.
O tal vez deberías hablar con un abogado. (Obviamente, él / ella necesitará hacerle un montón de preguntas para obtener cuáles son sus requisitos reales).