Qual é a maneira correta / educada de herdar de um projeto de código aberto abandonado para um novo projeto de código aberto?


13

Minha equipe tentou entrar em contato com algumas pessoas de um projeto antigo de código aberto hospedado no code.google.com. Dissemos a eles que gostaríamos de participar do projeto e nos comprometer com ele - pelo menos em algum ramo dele - mas ninguém nos respondeu. Tentamos todos, proprietários e colaboradores; ninguém estava de forma alguma ativo e ninguém respondeu.

Mas temos algum código a ser confirmado e realmente adoraríamos continuar trabalhando nesse projeto. Então, precisamos criar um novo projeto. Chegamos a um nome que é próximo, mas não uma duplicata, do nome do projeto do qual queremos herdar. Como devemos fazer nosso primeiro commit e qual deve ser a mensagem de commit? Deveríamos apenas copiar o código para o nosso repositório com um comentário como "herdamos esse código, o encontramos aqui sob tal e tal licença ... agora estamos atualizando-o para esta licença mais / menos rigorosa ..."? Ou devemos apenas usar o código deles como nosso primeiro commit, com atualizações dizendo "herdamos de ... fizemos tais e tais alterações ..."?


7
A menos que você obtenha permissão do projeto original, dependendo da licença original, você provavelmente não poderá torná-lo menos rígido. Se é uma licença permissiva o suficiente para permitir isso, provavelmente não há muita necessidade de mudar para uma licença ainda mais permissiva.
Matthew Scharley

Respostas:


13

Idealmente, você o bifurcaria no Google Code, o que manteria toda a história antiga. Não sei se isso é explicitamente suportado no Google Code, mas se o projeto antigo estiver usando git como controle de versão, você poderá fazê-lo manualmente clonando o projeto antigo em um diretório local, modificando o origincontrole remoto para apontar para o seu novo repositório e depois enviando sua cópia local.

Tenho certeza de que um método semelhante pode ser usado com o subversion ( svnsynctalvez?), Mas não tenho experiência prática com o subversion, portanto não posso comentar lá.


2
O código do Google suporta Mercurial, mas não git. Para mercurial, o procedimento é muito semelhante, apenas modifique o defaultalias em .hg\hgrc.
Wim Coenen

@ Wim obrigado pela informação. Realmente não usei muito o Google Code, fornecendo o máximo de informações possível sobre o que sei.
Matthew Scharley

8

O crucial é se a licença do código original e o que ele permite que você faça. Uma coisa com a qual você deve ter muito cuidado é alterar a licença, pois você simplesmente não pode fazê-lo - lembre-se de que você não possui direitos autorais.

Mas, supondo que tudo esteja em perfeita ordem, a mensagem de confirmação inicial pode ser "Imported 2011-02-25 from http: // .... version XYZ", além de uma explicação importante no arquivo README.txt.

Seja muito claro sobre o que você fez e, se possível, escreva seu código usando o código original como uma biblioteca. Isso facilita muito a separação de preocupações.


8

Esta é, na verdade, uma FAQ do código do google , consulte "O que devo fazer se quiser assumir um projeto que parece abandonado por seus proprietários?".

Aparentemente, você pode assumir projetos abandonados, perguntando ao Google com agrado.


4

Se você entrou em contato com o projeto antigo, acho que eles não podem reclamar, apenas seja aberto e claro sobre o que você está fazendo e não leve crédito pelo trabalho de outras pessoas. Eu provavelmente tentaria explicar a situação no seu site e na primeira mensagem de confirmação. Também seria educado garantir que a importação inicial do código seja exatamente igual ao projeto anterior, para que todas as alterações estejam nos logs de confirmação.

Como já foi dito, você só pode alterar a licença para uma compatível e NÃO PODE alterar os proprietários dos direitos autorais, mesmo que a licença seja alterada. É importante manter todos os nomes dos proprietários de direitos autorais existentes e em todos os arquivos em que eles trabalharam.



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.