Estou desenvolvendo uma biblioteca em Java e pretendo disponibilizá-la para todos. O problema é: sob qual licença eu devo disponibilizá-la? Existem várias licenças (Apache, BSD, GPL…) mas não sei qual delas protegeria meu trabalho do modo que eu quero que ele seja protegido:
A pessoa que utilizá-la pode utilizar de maneira comercial ou não-comercial, porém deve incluir em algum lugar no programa o uso da biblioteca (i.e.: No “sobre”). Como eu sei que até mesmo um programa Java compilado pode ser descompilado, seria interessante também que não permitisse engenharia reversa ou, caso não seja possível, impossibilite o uso de maneira comercial com o código modificado
Creio que você mesmo pode estipular as licenças para sua biblioteca, ditando as condições para uso comercial e não-comercial. Acho que o software FMOD é um bom exemplo para você se basear: http://www.fmod.org/fmod-sales.html
Como disse o Ataxexe, as licenças que você citou são para código aberto. Não conheço a licença Apache, mas a licença BSD não impõe restrições ao uso (ou seja, você não pode impedir que sua biblioteca seja modificada, nem que seja usada em programas de qualquer natureza), e a licença GPL não restringe a modificação nem o uso comercial, contanto que o código-fonte das modificações esteja disponível para todos.
Bem… Visto que mesmo compilado o código-fonte da livraria ainda pode ser obtido, pretendo sim disponibilizá-lo. Então, basicamente, eu gostaria de uma licença que diga “Use como quiser, mas me dê créditos!”