How do you have to activate an open source license? Just including the text of the license in all files?
Non so quale sia il requisito legale esatto, ma la pratica normale è includere un piccolo commento di intestazione all'inizio di ogni file:
- che indica chi possiede il copyright e
- che afferma che il file è coperto da tale e quella licenza, dicendo al lettore il nome del file che contiene il testo della licenza e indicando dove trovare il testo se il file è mancante.
What else do I have to do? Do I need to buy some right?
No.
Include a readme.txt in all the directories?
No. Un singolo file README nella radice dell'albero delle directory è una buona idea, ma non obbligatorio.
I mean, what do I have to do if I want my code is protected by the legal test of a license?
Per essere assolutamente sicuro, parla con un avvocato.
Per quanto riguarda i requisiti di licenza.
(1) I don't care what people do with my code, educational purposes, to make money, I don't mind whatever they want to do with it.
Questo è un tipo di non-requisito. Pochissime licenze vietano alle persone di guadagnare denaro, utilizzare nell'istruzione, ecc.
Tuttavia "fai quello che vogliono" contraddice letteralmente alcuni dei tuoi altri requisiti.
(2) If they change my code and someone ask for those modifications, they give the code with the modifications.
Il requisito di fornire il codice sorgente di qualsiasi modifica apportata è presente in GPL, LGPL, AGPL, ma non in Apache, BSD e altre licenze comuni.
(3) But I want people don't delete my name from the code, and If they use my code force them to mention me.
La maggior parte delle licenze richiede che le attribuzioni nel codice rimangano nel codice.
Tuttavia, "costringeteli a menzionarmi" è difficile, e poche se nessuna licenza lo dice. In effetti, la posizione della FSF è che un tale requisito rende il tuo codice non libero ...
(4) But I don't want to force people to publish the code of they applications, even if they are using my code.
Poche licenze costringono le persone a pubblicare il codice della propria applicazione come ovvio. Anche la più radicale famiglia GPL ti consente di utilizzare e modificare software per scopi puramente privati.
Tuttavia GPL e altri obbligano le persone a pubblicare l'origine se le persone distribuiscono un'applicazione basata sul proprio. (Le condizioni precise dipendono dalla licenza: ad esempio, LGPL consente alle persone di collegare il proprio codice con il proprio senza costringerlo a pubblicare le proprie. D'altra parte GPL richiede che pubblichino il proprio codice in tali circostanze e AGPL lo estende ad altre aree .)
Nota anche che i requisiti (2) e (4) sono letteralmente contraddittori.
In sintesi, devi essere in grado di esprimere chiaramente i tuoi requisiti per una licenza. Se non puoi farlo, allora hai poche possibilità di trovare una licenza che soddisfi i tuoi requisiti.
O forse dovresti parlare con un avvocato. (Avrà ovviamente bisogno di farti un sacco di domande per scoprire quali sono le tue reali esigenze.)