Eu trabalho em um instituto de pesquisa acadêmica fortemente dependente da computação de alto desempenho. Nos 10 anos, desenvolvemos nosso próprio código Fortran, que é muito bem visto e pode ser executado em clusters muito grandes. Para que a grande comunidade de pesquisa se beneficie do código, estamos pensando em torná-lo de código aberto. No entanto, como nosso financiamento é altamente dependente da pesquisa que podemos realizar com o código, estaríamos meio que dando um tiro no pé.
Uma das idéias é limitar o número de CPUs em que o código pode ser executado, por exemplo, no máximo 1000 CPUs, em vez das 100.000 que usamos. Dessa forma, a comunidade global de pesquisa pode se beneficiar do código, mas estaríamos tendo uma vantagem no tamanho dos problemas que podemos executar.
Esse recurso é conceitualmente possível? E como esse recurso poderia ser implementado? Essencialmente, gostaríamos de código-fonte aberto do código completo, mas limitamos a paralelização (usando MPI) a um número fixo de encadeamentos MPI, por exemplo, usando um módulo (código-fonte fechado).
fonte
Respostas:
Você está tentando deixar a comunidade de pesquisa se beneficiar, permitindo que eles façam o que você faz, sem que eles possam fazer o que você faz. Parece que você ainda não fez uma escolha de princípios.
É provável que soluções de software como as do software de código aberto não funcionem: afinal, o código é de código aberto. A primeira coisa que outras instituições farão é extrair o bit de código fechado, substituí-lo por um bit de código aberto sem essa limitação, e todos usarão isso.
Não pode ser um compromisso possível: não abra fonte do software, mas as licenças de venda. As instituições com licenças também têm o direito de ler e modificar o código, mas não de distribuí-lo. Cobrar anualmente. Dessa forma, talvez você possa compensar a perda de financiamento pegando alguns deles.
Outra opção é lançar uma versão mais antiga, que você mantenha atualizada, mas sempre atrasada em alguns anos. No entanto, uma comunidade de código-fonte aberto pode assumir o projeto e desenvolver novos recursos mais rapidamente do que você (ou talvez não; a maioria das pessoas superestima o interesse que outras pessoas têm em seu software).
Ou apenas solte-o e faça uso do trabalho que outros fazem nele. Você sempre será o melhor especialista em software.
fonte
Isso realmente não pode ser feito.
A idéia por trás do código aberto é que o código é aberto , ou seja, as pessoas terão acesso a ele. Da Wikipedia :
Ao fornecer acesso universal ao design ou planta, mesmo que a versão lançada seja limitada apenas a 1000 núcleos, seria muito fácil alterar esse número para 100000 ou algo assim.
Aqui estão algumas opções do que você poderia fazer:
fonte
Há muito pouco que você pode fazer para limitar o que os outros farão com seu código-fonte. Eles podem criar outro módulo a partir do zero que pode desbloquear a capacidade de multiprocessamento, ou até melhorá-la: custará tempo e experiência, mas se for importante para eles, eles o farão.
Com dez anos de vantagem, você ainda terá a oportunidade de usar sua experiência e conhecimento do código para continuar a fazer a melhor pesquisa, mesmo se você fornecer a outras pessoas o código fonte que lhes permite replicar suas experiências. Seus financiadores podem até ter mais motivos para procurá-lo, pois seu impacto na pesquisa pode ser maior se você é líder de um projeto de código aberto usado em várias universidades.
Em vez de código aberto, você pode tentar restringir outras pessoas legalmente, publicando seu código-fonte, mas colocando restrições de propriedade na licença de código-fonte. Posso pensar em vários projetos que fizeram isso: Ghostscript, AT&T Unix, Microsoft .NET e Xerox PARC Smalltalk-80. Enquanto esses acabaram sendo totalmente de código aberto, espero que existam outros menos conhecidos que ainda impõem restrições sobre como os licenciados usam o código-fonte. É claro que, embora publicar sua fonte signifique que aqueles com menos respeito à lei podem violar os termos, isso deve impedir que pesquisadores acadêmicos de boa fé executem seu código em supercomputadores tão poderosos quanto o seu.
fonte