Estou planejando desenvolver um programa que pretendo vender mais tarde. Estou tentando decidir sobre uma linguagem para codificá-la e reduzi-a a C ++ ou Java.
Passei pelas licenças GPL v2 e v3 usadas para o GCC e o OpenJDK do GNU (sim, eu posso entender algumas coisas legais, mas claramente, nem todas). Mas há um ponto em que todos são obscuros (isso deve ter sido uma das primeiras coisas respondidas, IMO): se eu desenvolver um programa usando C ++ / Java e compilá-lo usando o compilador GCC ou o compilador do OpenJDK, posso vendê-lo sem ter colocar meu programa na GPL também?
Tanto quanto posso entender, tenho plenos direitos para atribuir qualquer licença ao meu programa, mas há um problema: diz na licença que não devo vincular a nenhuma biblioteca que esteja sob a GPL. Nesse caso, terei que liberar meu programa sob a GPL.
Agora, não sei o que em C ++ / Java é considerado uma biblioteca; portanto, se eu usar o material normal em C ++ (iostream, lista, mapa etc.) ou as classes / interfaces Java normais disponíveis como parte do JDK padrão 6 distribuição (String, Lista, Mapa, etc.), isso constitui 'vinculação às bibliotecas'?
Respostas:
Sim. A GPL exclui especificamente a saída da execução do programa:
o que significa que, se você incluir bits de GCC ou outra coisa GPL no seu programa, sim, ele precisará ser GPL, caso contrário não - o fato de seu código de objeto ter sido produzido por um compilador GPL não é relevante para saber se ele deve ser GPL .
Todas as bibliotecas de idiomas padrão às quais você vincularia não são GPL ou são GPL, mas possuem uma exceção especial para permitir que o software proprietário se vincule a elas, se você não as modificar . No caso de C ++, refiro-me à libgcc, glibc e libstdc ++; no caso de Java, quero dizer todas as bibliotecas incluídas no JRE.
Tecnicamente, você pode vender legalmente o software GPL de qualquer maneira, mas quase ninguém lucra com isso.
fonte
O GCC e o OpenJDK têm exceções explícitas:
fonte
Não é obscuro. Há uma exceção à licença que se aplica aqui. Isso pode ser encontrado na pergunta apropriada nas Perguntas frequentes da GPL .
Em suma, o que você quer fazer é permitido.
fonte
O OpenJDK possui GPL, mas com uma exceção para vincular a bibliotecas. http://en.wikipedia.org/wiki/OpenJDK
Usar classes OpenJDK constituiria um link para uma biblioteca que eu pensaria (rt.jar).
Uma biblioteca nesse contexto, do ponto de vista de Java, certamente é um jarro de dependência, guerra, classe etc. De qualquer forma, tenho certeza de que você pode vender legalmente um aplicativo Java - há mais do que alguns por aí que Oracle / A Sun não tomou medidas legais.
fonte
Não se preocupe, esta é uma questão de programação de computadores ou pelo menos uma que diz respeito aos programadores.
Pelo que sei, se você criar um software vinculado a algum código GPL, precisará liberar seu código-fonte se distribuir seu programa.
Isso não significa que você precise liberar seu código para o sourceforge, ou seja, mas se um terceiro solicitar o código, você deverá fornecê-lo.
fonte