Existe um termo para software proprietário de código quase aberto?

8

Digamos que uma empresa queira manter o desenvolvimento de novos recursos de um pedaço de software interno, mas deseje tornar público o código fonte das versões anteriores, incluindo os recursos públicos existentes, inclusive, para que outras pessoas possam se beneficiar do uso e da modificação do software. e, possivelmente, contribuir com alterações que podem ser aplicadas ao ramo de desenvolvimento.

Existe um termo para esse tipo de arranjo e qual é a melhor maneira de realizá-lo usando as ferramentas e plataformas de controle de versão existentes?

mwhite
fonte
1
inovação aberta!
RoflcoptrException
É uma estrutura incomum, e nunca ouvi um nome adequado para isso. Esse tipo de coisa era mais comum quando o software pago em pequena escala era mais comum, e era possível obter a fonte da versão com a qual o desenvolvedor não se importava mais.
Ross Patterson
Isso parece muito com a licença "Business Source" (código aberto com atraso de tempo) e algumas das outras opções mencionadas em "Awesome Open Source pago" .
David Cary

Respostas:

5

Não sei o nome, mas para implementação, a seguinte configuração pode funcionar:

Crie dois repositórios no github (substitua por qualquer outra plataforma que faça o mesmo), um público e um privado. Mantenha a versão mais recente X em particular e vX-1 em pública. Ao liberar nova versão, atualize uma pública da privada. Dessa forma, você poderá usar facilmente o controle de versão e também permitir que os usuários do repositório público enviem suas contribuições por meio de solicitações pull e, em seguida, mesclá-lo ao seu repositório particular, envie problemas etc. Isso também fornecerá a você opções para permitir que usuários pagos façam o mesmo com seu código privado - conceda a eles acesso somente leitura ou mesmo leitura / gravação.

StasM
fonte
5

Parece Fonte Compartilhada, que é um termo usado pela Microsoft para descrever a maneira como eles permitem que os clientes obtenham uma cópia de seu código-fonte por razões como auditoria ou referência de segurança. A Microsoft mantém o controle total da base de código para novos desenvolvimentos.

As licenças associadas às ofertas variam de código fechado, permitindo apenas a visualização do código para referência, até a modificação e redistribuição de códigos para fins comerciais e não comerciais.

dodgy_coder
fonte
Isso é quase exatamente o que eu estava procurando, embora deseje que exista um termo específico para esse arranjo quando o código for lançado sob uma licença de código-fonte aberto. Como minha pergunta infelizmente teve duas partes e o StasM teve uma resposta muito boa para a outra, ainda estou debatendo qual delas aceitar.
fácil
2

Não conheço um termo para isso.

Talvez deva chamar o modelo Padlocked Barn Door. Em vez de "fechar a porta do celeiro depois que o cavalo disparou" (ou seja, tentar recuperar a exclusividade depois de liberar o software sob uma licença muito liberal), você trava a porta do celeiro e espera que o cavalo não morra de fome no estábulo. :-)

Sério, porém, se a gerência da empresa acha que isso é necessário para ganhar dinheiro com o código aberto, você realmente não pode argumentar. Afinal, eles são responsáveis ​​por gerenciar o investimento em recursos que estão fazendo.

No entanto, este não é um modelo que seja bom para o cliente pagador. (Se o cliente não puder obter o código-fonte da versão premium que está executando, qual é o sentido de pagar o prêmio?) Não é provável que incentive contribuições da comunidade de usuários e fará essas contribuições de menos valor ... porque eles sempre serão contra uma versão antiga da base de código. Na verdade, você poderia argumentar que é mais provável incentivar a bifurcação.

Stephen C
fonte
2

Esse padrão é realmente bastante frequente no setor. Um exemplo é quando um produto está disponível como uma edição da comunidade e uma edição corporativa. Normalmente, a edição da comunidade está disponível sem custo e pode até ser um software de código aberto / gratuito e geralmente carece de alguns recursos comercializados como necessários apenas para usuários corporativos. A edição corporativa geralmente está disponível através da compra de uma licença comercial e pode ser opcionalmente fornecida com um pacote de suporte, atualizações de software integradas, mais recursos ou condições de uso mais permissivas. Esse padrão pode ser visto de várias formas e variações no mercado. Um exemplo é a plataforma Eclipse versus os produtos comerciais baseados nela, como o cliente IBM Lotus. Outro exemplo é o início do que agora é conhecido como Mozilla Firefox, que começou como Netscape Browser vs Mozilla Browser.

Outra abordagem é separar o produto em dois produtos independentes separados. Isso é adequado para grandes projetos compostos por muitos subprojetos menores. Um exemplo são as edições Fedora Linux vs Red Hat Enterprise Linux ou OpenSuse vs Suse Linux Enterprise.

npclaudiu
fonte
2

Eu acredito que o termo é duplo licenciamento . (ou multi-licenciamento )

A parte do projeto em que você quer que as pessoas se envolvam com você é lançada sob, por exemplo, a LGPL, que permite chamar material proprietário. A porta do projeto que você deseja manter sob controle é um software proprietário para venda.

Philip
fonte
0

Se todo o código pertencer a você, você poderá confiar como achar melhor. Se mais alguém contribuiu com o código que você deseja fechar o código-fonte, DEVE obter a permissão deles ou fazer com que eles assinem seus direitos autorais. Quanto a um nome, não conheço um licenciamento padrão, talvez duplo? Eu acho que o MySQL está na mesma posição, e talvez QT?

Deanna
fonte