Eu já vi várias licenças para qualquer tipo de software, como GNU GPL, BSD License, MIT License e LGPL. Qual é o processo para criar uma nova licença de software, como "licença genérica de John Doe"?
Eu já vi várias licenças para qualquer tipo de software, como GNU GPL, BSD License, MIT License e LGPL. Qual é o processo para criar uma nova licença de software, como "licença genérica de John Doe"?
Respostas:
De um modo geral, é só isso. Seriamente.
Não acredita em mim? Confira a licença Don't Be A Dick de Phil Sturgeon (assim como a WTFPL que a inspirou).
Dito isto, é uma falha ou não saber se as licenças de software são legalmente aplicáveis , mesmo que um advogado as tenha escrito (pelo menos nos EUA, e isso depende quase inteiramente do capricho do juiz ou da autoridade de direitos autorais). De modo mais geral, porém, como o autor do software, você já está coberto pelas leis de copyright do seu país (supondo que você tenha tomado as medidas para o seu trabalho a ser protegido por direitos autorais; nos EUA, que é simplesmente realmente fazendo o trabalho).
Tudo se resume ao que você deseja obter com sua licença, acima e além (ou substituindo) das leis de direitos autorais. No caso de tais licenças, como a licença DBaD de Phil, é basicamente uma questão de princípio de honra e respeito mútuo.
Se você deseja que ele seja legalmente aplicável (ou pelo menos tenha uma chance de fazê-lo), como a liberação de um produto de código fechado, é muito provável que você queira conversar com um advogado. Dessa forma, você pode ter certeza de que não existem brechas flagrantes e pode ter uma redação de tal maneira que um juiz / partido no poder tenha mais probabilidade de decidir a seu favor no caso de alguém violá-la.
O EllisLab (a empresa por trás do CodeIgniter) tem uma ótima explicação do licenciamento de software (e de uma semana inteira de blogs sobre o assunto), tanto do ponto de vista jurídico quanto do desenvolvedor de FLOSS e do princípio de honra que mencionei acima.
(Isenção de responsabilidade: eu não sou advogado, isso não é um conselho legalmente vinculativo, blá, blá, blá. Sou apenas um desenvolvedor que teve que andar em torno do campo minado legal que é o desenvolvimento e o licenciamento de software. Em caso de dúvida , converse com alguém que realmente é advogado, de preferência com foco em direitos autorais, patente e / ou licenciamento.)
Responda às seguintes perguntas para o usuário do seu software:
O seu produto é de código aberto, ou seja, posso obter uma cópia do código fonte?
O que posso fazer com o seu produto? Posso usar um computador? Posso usá-lo em mais de um computador? Posso redistribuí-lo ou revendê-lo?
Se eu usar o seu produto como parte de outro aplicativo que escrevo, também tenho que ser de código aberto?
Como você garante o seu produto? Você é legalmente responsável se eu tiver problemas?
Quais são os seus termos de redistribuição? Posso redistribuir seu produto como parte de um produto que eu escrevo? Se você fornecer a fonte, posso modificar sua biblioteca e redistribuir as modificações? Em caso afirmativo, que condições devo atender?
Estude outras licenças e veja como elas responderam a essas perguntas.
Na verdade, é surpreendentemente semelhante ao que os desenvolvedores fazem:
Você fornece a um advogado (ou o departamento jurídico de uma grande corporação) uma lista de requisitos para o que a licença permite e o que não permite (por exemplo, a licença é apenas para um usuário, é temporária, você não pode usar o software para alguns propósitos , etc.) e eles "traduzem" isso em linguagem de advogado, assim como traduzimos requisitos em código.
Por exemplo, "a licença é apenas para um usuário" geralmente é traduzida para algo semelhante a este: "A FooCorp Inc. concede a você uma licença única, não exclusiva e intransferível para instalar e usar o FooSoftware para ...".
Você pode pensar que isso não se aplica às licenças do F / OSS, mas é mais ou menos o mesmo, exceto que os requisitos são diferentes: você pode encontrar a versão mais simples desses requisitos em http://opensource.org/docs/OSD .
Mas a parte do advogado é essencial e não faz sentido tentar escrever uma licença por si mesmo (a menos que você seja um advogado com muita experiência em leis internacionais e relacionadas à PI). Alguém encontrará apenas uma brecha conveniente, que permitirá que ele use seu produto da maneira que desejar (eu iria até o ponto para comparar isso com explorações).
É claro que não afirmo que essa explicação seja completa ou mesmo correta, mas é um esboço do processo, tanto quanto os desenvolvedores de software estão envolvidos (portanto, comparo-a ao trabalho de um programador).
Para responder à sua pergunta, qualquer pessoa pode escrever uma licença - e isso mostra!
Aqueles de nós que usam software para criar coisas e realmente tentam respeitar cada licença estão prontos para arrancar nossos próprios olhos com um poker quente toda vez que alguém fala em fazer uma nova. Já existe um número incontável de licenças de software no mundo. 99% deles são quase duplicatas de licenças existentes e mais populares, exceto que não são tão bem pensadas.
Um site em que eu contribuo possui uma licença doméstica de tipo de atribuição não comercial de criativos comuns, exceto que não diz nada sobre trabalhos derivados. Eles são permitidos? Eles podem ser distribuídos sob a mesma licença? Me bate!
Se outras pessoas contribuírem para um projeto e você quiser ou precisar alterar a licença, faça com que todos concordem em mudar a licença, ou você ficará mais ou menos preso a ela para sempre. Alguns deles podem se tornar inacessíveis ou até morrer. Não sou advogado, mas se você não tiver um contrato de contribuição assinado de todos que lhe permite tomar decisões sobre sua licença, acho que você é SOL.
É realmente difícil escrever uma boa licença. Até as melhores licenças de software estão cheias de buracos. Existem novas versões das licenças Apache e GPL periodicamente. Verifique se consegue encontrar uma licença que atenda a 90% de suas necessidades e use-a. A GPL Linking Exception ou "Classpath Exception" é um ótimo exemplo disso. Estou um pouco preocupado com a afirmação que o pessoal do Hibernate teve em seu site há alguns anos, basicamente interpretando publicamente a GPLv2 para parecer que ela incluía a exceção do caminho de classe. Essa é a exceção do caminho de classe? Não saberemos, a menos que alguém os processe.
Parece-me que ser processado é a maneira mais dolorosa de depurar sua licença. Se você usa uma licença que as pessoas já processaram, há uma garantia de que ela funciona e também uma sensação de como ela funciona. Melhor ainda, escolha uma licença que foi a tribunal em diferentes países. Você pensou em como sua licença seria interpretada em outras partes do mundo?
Se você basear sua licença em uma já existente, as pessoas que se preocupam em cumprir os termos de sua licença podem não precisar estudá-la há anos para descobrir exatamente o que isso significa.
Se possível, encorajo você a dedicar suas energias e talentos para melhorar uma licença existente, em vez de escrever uma nova.
Desculpe ser uma alegria de matar. Se sou amargo, é porque realmente leio e tento respeitar as licenças das pessoas antes de usar suas obras.
Anote os termos, publique-os com seu software. É isso aí.
Uma pergunta, no entanto, é por que você quer? Não é improvável que as condições que você deseja adicionar já estejam presentes em outra licença comumente usada.
Isso adiciona uma etapa preliminar - verifique se você realmente precisa criar uma licença.
Também é provável que algumas das condições que você deseja impor tenham algum defeito; adicionando outra etapa preliminar - leia sobre os termos "exclusivos" que você deseja aplicar. É provável que alguém tenha tentado esses termos e os tenha considerado inexequíveis ou contraproducentes de alguma forma.