Termos de licença ao transportar software livre para outro idioma

17

Estou explorando a idéia de portar um pacote de software existente para outro idioma. É lançado sob a Licença Apache 2.0 e é distribuído gratuitamente; mas há uma grande diferença entre usar uma biblioteca e criar uma cópia dela. É claro que eu daria crédito total e seria honesto sobre a origem, e certamente não pretendo ganhar dinheiro com o porto, apenas usá-lo em outros projetos.

Eu li a licença, é claro, que diz:

  1. Concessão de licença de direitos autorais. Sujeito aos termos e condições desta Licença, cada Colaborador concede a Você uma licença de copyright perpétua, mundial, não exclusiva, gratuita, irrevogável e sem direitos autorais para reproduzir, preparar Trabalhos Derivados, exibir publicamente, executar publicamente, sublicenciar e distribuir o Trabalho e Trabalhos Derivados na forma Origem ou Objeto.

[...]

  1. Redistribuição. Você pode reproduzir e distribuir cópias da Obra ou Obras Derivadas em qualquer meio, com ou sem modificações, e na forma Origem ou Objeto, desde que cumpra as seguintes condições:

    uma. Você deve fornecer a qualquer outro destinatário da Obra ou Obra Derivada uma cópia desta Licença; e

    b.Você deve fazer com que os arquivos modificados apresentem avisos importantes, informando que você alterou os arquivos; e

    c. Você deve reter, na forma Fonte de quaisquer Obras Derivadas que distribuir, todos os avisos de direitos autorais, patentes, marcas comerciais e de atribuição da forma Fonte da Obra, excluindo os avisos que não pertencem a nenhuma parte das Obras Derivadas; e

    d. Se o Trabalho incluir um arquivo de texto "AVISO" como parte de sua distribuição, todos os Trabalhos Derivativos distribuídos por você deverão incluir uma cópia legível dos avisos de atribuição contidos no arquivo AVISO [...]

    Você pode adicionar Sua própria declaração de direitos autorais às Suas modificações e pode fornecer termos e condições de licença adicionais ou diferentes para uso, reprodução ou distribuição de Suas modificações, ou para quaisquer Obras Derivadas como um todo, desde que Seu uso, reprodução e distribuição de caso contrário, a Obra cumpre as condições estabelecidas nesta Licença.

O que parece muito com uma porta (como uma "Obra Derivada") é totalmente permitido com ou sem a permissão do autor, desde que retenha diligentemente cópias da licença, avisos de direitos autorais existentes, atribuição etc.

Mas isso não significa que eu entenda todas as implicações disso. Por exemplo, a porta precisaria necessariamente compartilhar a mesma licença que a original?

Ainda não iniciei nenhum dos trabalhos nem entrei em contato com os autores do pacote (embora o inicie). Quero estabelecer se existe algum risco de muito trabalho ser desperdiçado. Também preciso saber se precisaria fazer uma implementação de sala limpa com base apenas na API ou se poderia basear meu trabalho no código-fonte existente (que ainda não examinei).

Marcus Downing
fonte
Caso tenha alguma dúvida, o código que eu quero portar não é trivial e alcança coisas que eu dificilmente conseguiria sozinho.
Marcus Downing

Respostas:

10

Traduções (para uma linguagem natural diferente e para uma linguagem de programação diferente) são consideradas Obras Derivadas.

Ao criar um trabalho derivado tão radicalmente diferente do original como uma tradução para uma linguagem de programação diferente (não intimamente relacionada), é realmente muito difícil entender como os requisitos da licença Apache devem ser aplicados. Eu recomendo fortemente que você discuta com os mantenedores do pacote original como eles gostariam de ver os direitos autorais tratados e você também pode discutir isso com um advogado.

A parte problemática é a cláusula 4c:

c. Você deve reter, na forma Fonte de quaisquer Obras Derivadas que distribuir, todos os avisos de direitos autorais, patentes, marcas comerciais e de atribuição da forma Fonte da Obra, excluindo os avisos que não pertencem a nenhuma parte das Obras Derivadas; e

O problema aqui é que, com uma mudança tão radical, é quase impossível dizer quais avisos (direitos autorais e atribuição) da obra original legalmente também pertencem à versão traduzida e, portanto, quais avisos devem ser mantidos e quais devem ser removidos.

Bart van Ingen Schenau
fonte
7
"conversar com um advogado" é na verdade uma barreira bastante íngreme para alguém que planeja trabalhar e doá-lo de graça.
Marcus Downing
2
@ MarcusDowning: Sim, é, mas às vezes é o melhor conselho que podemos dar.
Bart van Ingen Schenau
@BartvanIngenSchenau Não encontrei nada indicando que uma reescrita em outro idioma constitua um trabalho derivado. Estou assumindo que uma tradução automática não é possível. Forneça alguns links para apoiar sua declaração. Encontrei o seguinte: rosenlaw.com/lj19.htm . Essa questão toda é importante para mim por outros motivos.
21415 Frank Hileman
Outro link interessante: law.washington.edu/lta/swp/Law/derivative.html
Frank Hileman
1
@FrankHileman: Que tal "Trabalhos derivados comuns incluem traduções, [...] de trabalhos preexistentes" ( copyright.gov/circs/circ14.pdf ). Uma tradução para uma linguagem de programação diferente ainda é uma tradução.
Bart van Ingen Schenau
-2

Os direitos autorais se aplicam apenas ao código fonte original. Não posso fornecer aconselhamento jurídico (legalmente :)) no meu país, mas quando você usa um idioma diferente, é um corpo diferente de código-fonte. Considerações éticas são uma questão diferente. Eu tentaria usar uma licença que seja agradável aos autores originais, para preservar o espírito da contribuição original de código aberto para a comunidade. Além disso, os autores originais devem ser creditados.

Frank Hileman
fonte
Fiquei com a impressão de que uma porta que não fosse da sala limpa para outro idioma constituía um trabalho derivado, pois o novo código usaria implementações específicas do original, não apenas inspiração ou semelhança de API. Caso contrário, fugir das licenças transportando com uma pequena alteração seria fácil e aconteceria o tempo todo. (Eu não tenho certeza que você downvoted, não era eu)
Marcus Downing
Temos que lembrar que um direito autoral se aplica ao texto do código fonte; não é como uma patente.
21815 Frank Hileman #
Também geralmente, quando você codifica em outro idioma, não pode reutilizar nenhum código original. Essa foi a suposição na minha resposta.
21815 Frank Hileman #
1
Os direitos autorais @FrankHileman certamente também se aplicam ao conteúdo nocional criativo; cf. (para escolher um exemplo) Anderson vs. Stallone, no qual o réu escreveu uma sequência de Rocky e foi considerado culpado de infração, mesmo que ele não usasse nada literal do texto de qualquer outro roteiro ou gravação de Rocky . Certamente o "quão semelhantes são as obras?" O teste como parte da determinação de uma infração não inclui apenas comparações textuais textuais.
Apsillers
@FrankHileman: para obras literárias, traduções (para outra língua natural) são consideradas obras derivadas de direitos autorais, mesmo que as duas línguas usem sistemas de escrita completamente diferentes (por exemplo, inglês x japonês). Como as leis de direitos autorais são as mesmas para obras literárias e softwares, seu argumento não se sustenta.
Bart van Ingen Schenau 02/04