Em um artigo que li recentemente, os autores promovem seu software como código aberto porque foi lançado no GitHub sob a licença Apache 2.0. No entanto, o software é um complemento de um software proprietário (código fechado) e não livre. Além disso, foi desenvolvido em C# e .NET Framework, que, pelo menos historicamente, não é considerado código aberto ou software livre. Com base nisso, é realmente correto rotular esse software complementar de código aberto?
Responder1
A resposta para isso é um tópico bastante debatido... talvez principalmente dentro da comunidade de hardware de código aberto.
Fundamentalmente - "É permitido referir-se a um projeto como código aberto se as ferramentas necessárias para editar/construir as fontes não forem de uso gratuito?"
Exemplos:
- Projetos com dependências de tempo de construção em ferramentas que não são de uso gratuito (por exemplo: projetos de hardware projetados usando Altium)
- Projetos com dependências de tempo de execução e ambientes operacionais que não são de uso gratuito (por exemplo: projetos de software projetados para uso em Windows)
Na minha opinião, se a resposta fosse "Não", então um exemplo extremo seria aquelequalquersoftware que só roda em um sistema operacional não-livre, como o Windowsnão podeser referido como "Código aberto"... Mesmo se istopoderiaser executado em um ambiente emulado comoVinho, ele não foi projetado para esse uso.
No entanto, minha opinião é que se as fontes estiverem abertas para qualquer pessoa inspecionar e revisar, então "Sim"é permitido referir-se ao projeto como"Código aberto".
Tenha em mente que o "Fonte" em "AbrirFonte" refere-se aos arquivos de origem - as partes componentes originais de um projeto que são usadas com várias ferramentas para produzir um resultado final utilizável.
"Fontes" cobre:
- Código fonte do aplicativo
- Construa infraestrutura ou scripts (por exemplo:Makefiles)
- Arquivos de projeto (ex.: VCProj)
- Documentação
- etc...
opensource.com define "Código aberto" como:
algo que as pessoas podem modificar e compartilhar porque seu design é acessível publicamente
Observe que as ferramentas C# e .NET são de fato "de uso gratuito", mas são de "código fechado":
https://visualstudio.microsoft.com/downloads
Comunidade do Visual Studio 2017
IDE gratuito e completo para estudantes, desenvolvedores de código aberto e individuais
Responder2
Com base nas informações fornecidas, o suplemento éabsolutamentegratuito e de código aberto. A parte "gratuita" é o fato de ser licenciado sob a licença Apache. E é de código aberto, pois eles oferecem o código-fonte.
O fato de o complemento ser feito para um aplicativo de código fechado não gratuito é irrelevante. Esse aplicativo é uma entidade completamente diferente e não tem relação com a "gratuidade" dos suplementos ou com sua fonte. O mesmo vale para a linguagem de programação. Você pode pegar o suplemento e redistribuí-lo sob os termos da licença Apache e modificar o código-fonte fornecido.
Responder3
Se alguém disser que algo é "código aberto", você deve se perguntar se consegue ver o código completo em que este produto consiste. Se a resposta for sim, então é realmente "aberto". É claro que o OSI tem uma definição clara de"Código aberto", que lhe dá muito mais direitos e elimina muitas restrições. O "código aberto" é geralmente visto como menos rigoroso do que"software grátis"com base na definição de Richard M. Stallman e da Free Software Foundation. Alguns dos raciocínios de seu ponto de vista podem ser encontradosaqui.
Eu diria que, no seu caso, o software parece ser de código aberto no sentido OSI, porque a licença lhe dá todos os direitos. Que o software não ajuda muito sem o .NET Framework é outra história - você ainda pode usar o software semrestrições legaispara o .NET Framework. Você pode dar uma olhada, talvez o complemento em si possa ser executado com o .NET Standard, quem sabe - mas isso não muda o fato de que provavelmente é "código aberto". Eu não chegaria ao ponto de descrevê-lo como software livre, porque não sei como o programa trata seus usuários. Aí eu não concordo necessariamente com @keltari.