O “código aberto” se torna “meu código”?


8

Se eu fizesse o download de algum código-fonte aberto que faça alguma coisa interessante que eu estou precisando, mas que não possua quase tantas opções ou sinos e assobios que eu preciso ... e faça MUITAS alterações para onde alguns dos O código base ainda existe no projeto de código aberto, mas muita coisa mudou e muita coisa foi adicionada ... esse código se tornará "minha fonte" em vez de "fonte aberta"?

EDITAR:

Aliás, eu não tenho um projeto em mente, isso é apenas em termos gerais - então eu não conheceria a licença. Esta pergunta me passa pela cabeça de vez em quando quando vejo um projeto que eu poderia melhorar ...


6
resposta curta, tudo depende da licença usada .. então, qual licença você está perguntando?
Bob

7
Isso realmente depende da licença para se tornar legalmente sua "fonte". Mas "Open Source" é realmente "Everyone's Source", por isso, se você olhar assim, já é seu! : D
Ryan Hayes

Exatamente o que você quer dizer com "código aberto" e "minha fonte"? Se você deseja adquirir o software sob uma licença certificada pela OSI, altere-o e tenha controle total de qual licença liberá-lo, depende da licença. A Gnu GPL exige que você libere suas alterações sob a GPL, enquanto as licenças no estilo BSD não.
David Thornley

@DavidThornley Por "código aberto", quero dizer qualquer coisa que você possa encontrar para baixar que seja considerada de código aberto e, por "minha fonte", quero dizer algo que eu poderia lançar abertamente como "meu" ou até vender como "meu".
Barry Franklin

@ Barry: Não existe "código aberto" nos termos que você descreve. Cada projeto é fornecido com uma licença específica. Mas geralmente você ainda pode vender código OpenSource (detalhes dependendo da licença). Você também precisa fornecer livremente a fonte (os detalhes dependem da licença). Veja no RedHat um exemplo disso.
Martin York

Respostas:


15

Há poucas coisas que você precisa aprender ao lidar com código de código-fonte aberto. Primeiro, você pode visitar este link da Wikipedia para obter uma visão geral do Opensource

A próxima coisa a considerar é a licença de código aberto com a qual você está lidando. Nem todas as licenças de código aberto permitem fazer o que você está pensando em alcançar. Para uma referência detalhada ao licenciamento, visite a licença Opensource . Combine a licença do seu código com a encontrada neste link e saiba o que pode ser feito com o código que você está usando.


1
+1 Você resposta disse o mesmo que o meu, mas melhor :)
SoylentGray

Não é um problema de licenciamento. Se o seu acesso ao código for através de uma licença, você terá uma licença do proprietário do código. O que, por sua vez, significa que você não possui o código.
Michael Shaw

1
@Ptolemy: Se eu obtiver código licenciado por BSD e incorporá-lo em um projeto, não tenho direitos autorais sobre a coisa toda. Eu tenho a capacidade de liberar tudo em qualquer licença que eu queira e processar os infratores, e isso é quase o suficiente para possuir o código para mim.
precisa

Portanto, se você constatou que essas linhas de código também eram usadas em produtos concorrentes, você poderia processá-las por violar seus direitos autorais? Esse é o verdadeiro teste de possuir código, em vez de ser um mero licenciado
Michael Shaw

@davidthornley Concordo com isso ... isso seria próximo o suficiente para mim também.
Barry Franklin

2

Em suma, não.

O que você está descrevendo é uma obra clara e simples. Pode ser um código de 99,9% que você adicionou, mas como é derivado de outro código, você ainda precisa respeitar os direitos autorais e a licença do código original.

Que outras opções você tem?

Can you look at that code, see how it works and then write your own version from scratch?

Isso não é tão claro. No entanto, você ainda corre um risco substancial de violar os direitos autorais. Se você copiar qualquer código literalmente, é uma violação. Se você recortar e colar código e renomear as variáveis, etc ... É uma violação. Se você copiar uma técnica para resolver um problema específico, escrevendo um novo código à medida que for avançando, isso ainda será uma violação de direitos autorais.

Se você olhar para o código e pensar que é assim que usa essa função e, em seguida, sair e escrever seu próprio programa do zero, sem copiar literalmente essas duas linhas de código, provavelmente será o proprietário do seu código.

To be 100% sure of owning my code, what doctor need to do?

A chave é evitar o risco de reivindicações de direitos autorais em primeiro lugar. Não olhe o código protegido por direitos autorais para obter exemplos. Portanto, não escreva código quando outra pessoa (como seu empregador) puder reivindicar seu código). Use o controle de origem para registrar alterações regulares no código. (isso prova que você o escreveu e demonstra o desenvolvimento do código em vez de copiá-lo por atacado) e não reutilize seu código em um ambiente em que o destinatário tenha motivos para acreditar que agora possui o código.

So why is everyone else talking about licenses?

A maioria dos códigos disponíveis na Internet está disponível sob licença. Essa licença permite que você acesse esse código nos termos escolhidos pelo proprietário do código. Como você pode usar esse código e seus direitos e direitos são definidos na licença do software e podem criar obras derivadas, vendê-las com fins lucrativos e não precisar fornecer seu código-fonte a ninguém. Da mesma forma, não pode. Tudo depende dos termos da licença. No entanto, alguém possui os direitos autorais do código original e você não pode impedi-los de licenciar o mesmo código para seus concorrentes.


1
Você levantou algumas boas perguntas ... Eu me pergunto como alguém seria capaz de dizer que você copiou uma técnica de qualquer lugar - realmente não existem muitas técnicas únicas por aí. E todo mundo teve que aprender sua codificação de algum lugar - eu me pergunto onde está a linha de como aprender algo a partir do código de alguém em vez de rasgá-lo.
Barry Franklin

Há uma linha muito clara. A intenção de alguns é ensinar uma técnica e, em seguida, você pode usar essa abordagem em seu próprio código com bastante segurança. Se você copiar o código, então é copiado código, e você não criá-la ou obter a propriedade dos direitos autorais a partir de sua atual proprietário
Michael Shaw

1
Mas o que acontece se Bob me ensina algo e então Bob ensina a Joe a mesma coisa e Joe ensina Ron e Ron ensina Bill ... então Bill lança um programa que funciona exatamente como o meu - quem vence lá? Nem Bill nem eu sabemos que nós dois aprendemos a mesma coisa com Bob ... e Bob poderia ser qualquer pessoa ou qualquer coisa (como um site ou livro). Como Bill poderia dizer que eu roubei o código dele, se ele não pode provar que eu não aprendi da mesma maneira que ele? Como eu poderia me defender se não podia provar que aprendi? Bob é o proprietário de todo o código que eu, Bill, Joe e Ron escrevemos?
Barry Franklin

1
Dependendo do ambiente, até a percepção de uma possibilidade de violação dos direitos autorais pode ser prejudicial. A Microsoft utilizou o reivindicação de direitos autorais sco linux há alguns anos para impulsionar as vendas do Windows CE
Michael Shaw

Olá Barry, no seu exemplo, os direitos autorais do código pertenceriam a cada uma das pessoas que escreveram o código. Cada um deles criou o código independentemente, usando a mesma abordagem. Cada um deles possui os direitos autorais dessas linhas de código e, se puderem estabelecer que alguém copiou suas linhas específicas, poderão reivindicar compensação pela violação de direitos autorais.
Michael Shaw

1

Depende da licença que o projeto Open Source está usando. Se for uma licença GPL, se você pretender liberar seus binários ou fontes para o público, deverá usar uma licença compatível com GPL. Isso significa que o código nunca será inteiramente seu.

Se a licença for a licença Free-in-Free-Beer, você poderá fazer o que quiser com ela e provavelmente liberá-la como seu código, a menos que especifique o contrário.


2
mesmo que obtenha o código com uma licença muito permissiva, ele ainda não é seu, você está licenciado para fazer (quase) qualquer coisa com ele
jk.

0

Como outros já descreveram NÃO, pelo menos não com a GPL padrão como a conheço, para não bater em um cavalo morto.

Supondo que este projeto de código aberto esteja ausente e você inicie um projeto completamente separado que UTILIZE os binários do projeto GPL'ed em questão e forneça seu próprio comportamento para compensar o comportamento ausente, esse projeto separado seria a SUA fonte.

Por exemplo, "O projeto LGPL de baixa qualidade chamado Bamboozle é bom em criar widgets, mas não pré-processa o RoughArgs primeiro. Você cria um produto proprietário chamado Flamboozle que passa por um OR RoughArgs regular e cospe Widgets. Nos bastidores, ele usa o Bamboozle , mas faz outra coisa além disso e é isso que você está vendendo.

Isso pode ser perfeitamente legal, supondo que você não viole explicitamente o contrato de licença e, em uma LGPL típica, você não seria desde que inclua o contrato de licença Bamboozle com todas as cópias distribuídas do Flamboozle.


Existem muitas licenças de código aberto - GPL e LGPL são apenas duas em um mar de licenças.
Bryan Oakley
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.