Como você precisa ativar uma licença de código aberto? Apenas incluindo o texto da licença em todos os arquivos?
Não sei qual é o requisito legal exato, mas a prática normal é incluir um pequeno comentário no cabeçalho no início de cada arquivo:
- que declara quem possui os direitos autorais e
- declara que o arquivo é coberto por uma licença desse tipo, informando ao leitor o nome do arquivo que contém o texto da licença e informando onde encontrar o texto se o arquivo estiver ausente.
O que mais eu tenho que fazer? Preciso comprar algo certo?
Não.
Incluir um readme.txt em todos os diretórios?
Não. Um único arquivo README na raiz da árvore de diretórios é uma boa ideia, mas não é obrigatória.
Quero dizer, o que devo fazer se quiser que meu código seja protegido pelo teste legal de uma licença?
Para ter certeza absoluta, converse com um advogado.
Em relação aos seus requisitos de licenciamento.
(1) Não me importo com o que as pessoas fazem com meu código, propósitos educacionais, para ganhar dinheiro, não me importo com o que elas querem fazer com ele.
Isso é uma espécie de não-requisito. Muito poucas licenças proíbem as pessoas de ganhar dinheiro, usar na educação etc.
No entanto, "faça o que bem entender" contradiz literalmente alguns de seus outros requisitos.
(2) Se eles mudarem meu código e alguém solicitar essas modificações, eles fornecerão o código com as modificações.
O requisito de que eles forneçam o código-fonte de qualquer modificação feita está presente na GPL, LGPL, AGPL, mas não no Apache, BSD e outras licenças comuns.
(3) Mas quero que as pessoas não excluam meu nome do código e, se usarem meu código, forçam-nas a me mencionar.
A maioria das licenças exige atribuições no código para permanecer no código.
No entanto, "forçá-los a me mencionar" é difícil, e poucas ou nenhuma licença diz isso. Na verdade, a posição da FSF é que esse requisito torna seu código não livre ...
(4) Mas não quero forçar as pessoas a publicar o código de seus aplicativos, mesmo que estejam usando meu código.
Poucas licenças obrigam as pessoas a publicar o código de seu aplicativo normalmente. Até o mais radical da família GPL permite que você use e modifique o software para fins puramente particulares.
No entanto, GPL e outros forçam as pessoas a publicar a fonte se as pessoas distribuírem um aplicativo com base no seu. (As condições precisas dependem da licença. Por exemplo, a LGPL permite que as pessoas vinculem seu código ao seu sem forçá-lo a publicá-lo. Por outro lado, a GPL exige que publiquem seu código nessas circunstâncias, e a AGPL o estende a outras áreas .)
Observe também que esse requisito (2) e (4) é literalmente contraditório.
Em resumo, você precisa poder expressar claramente seus requisitos para uma licença. Se você não puder fazer isso, terá pouca chance de encontrar uma licença que atenda aos seus requisitos.
Ou talvez você deva apenas conversar com um advogado. (Ele / ela obviamente precisará fazer várias perguntas para obter quais são seus requisitos reais.)