Posso reivindicá-lo por direito como meu próprio projeto se receber ajuda on-line? [fechadas]

9

Basicamente, eu sou novo na programação de redes em Python, então fiz um tutorial on-line para descobrir sobre isso. Usando o que foi ensinado no tutorial (criando um soquete, conectando-se a portas, etc.), modifiquei o código para criar um programa em que dois computadores podem enviar mensagens um para o outro.

Se eu me candidatasse a um emprego e mostrasse isso aos meus entrevistadores, o código para ele seria tecnicamente meu? É justo dizer que não modifiquei tanto o código; No entanto, e se, por exemplo, eu o modificasse para algo como um jogo da velha, onde dois usuários se jogam de PCs diferentes, o código seria meu? Eu só não quero parecer um plagiador, por isso pergunto.

Brad Guy
fonte
9
Robert está certo, mas apenas para ficar claro: isso não é negativo. "Comecei com algum código desde o início do tutorial em Python e o transformei nisso!" ... da perspectiva do trabalho, isso pode ser visto como bom ou melhor do que se você começasse do zero. Se você começou com o código de outra pessoa, significa que você pode ler o código de outras pessoas, além de expandir, refatorar, redefinir a finalidade etc. Ter algo "próprio" é, para a maioria dos trabalhos, não o grande foco - e se você pode mostrar a eles o que você começou e o que criou com isso, ainda melhor!
BrianH
Quanto código você adicionou ou subtraiu? Se você começou com 100 linhas de código do tutorial e tem 110 linhas - provavelmente não. Se você tem 1000 linhas, sim, é sua, mas fale sobre como as conseguiu e mencione onde conseguiu ajuda. (Sim, eu sei que linhas de código não é uma boa métrica, mas pode dar uma ideia).
11
Estou votando para encerrar esta questão como fora de tópico, porque trata-se de uma questão ética que é fora de tópico para programadores.
durron597

Respostas:

11

Não.

Mas você pode alegar que modificou o código para criar um programa em que dois computadores podem enviar mensagens um para o outro. Ou você pode alegar que o modificou em algo como um jogo da velha, onde dois usuários se jogam de PCs diferentes.

Apenas represente de verdade a quantidade de trabalho que você coloca nele. Você não pode reivindicar a propriedade de um projeto na Internet se outros fizeram parte do trabalho.

Robert Harvey
fonte
1

Eu iria com a linha clássica "depende" .

Como você já disse que não modificou muito, estou totalmente do lado de Roberts. Não é o seu projeto.

Mas por outro lado: todos os desenvolvedores gostamos de discutir, pesquisar e, às vezes, copiar e colar para nossos projetos. Brincar com o código de outras pessoas é bastante comum. Se você modificá-lo bastante, faça algum esforço, fornecendo novos recursos ou uma abordagem diferente para o problema, então é o seu código.

Basta manter a verdade sobre a quantidade de trabalho que você realmente fez por si mesmo e tenho certeza que ninguém o chamará de plagiador.

mhr
fonte
1

Se o que você fez foi modificar o código de alguém para fazer algo que você queria, seria desonesto afirmar que o código era "seu". Em vez disso, é um programa que você criou com base no código existente.

Agora você deve ter notado que muitos programadores usam código de outras pessoas. O tempo todo. Bibliotecas e APIs são essencialmente uma maneira formalizada de usar o código que alguém criou em seu próprio projeto. Embora o que você fez não tenha sido o mesmo que usar uma biblioteca ou API, ele tem o mesmo efeito.

No caso do programa P2P simples, você pode afirmar que escreveu um aplicativo de mensagens que utiliza outra implementação de programadores de protocolos da web simples. Você pode prosseguir e chamá-lo de seu programa; deve dar crédito a quem escreveu as partes emprestadas. E seria melhor adicionar comentários ao código que cita a fonte, para que outros possam encontrá-lo, se necessário.

E no caso do jogo, você escreveu um jogo. Você pode reivindicar isso como seu código. Este jogo utiliza um conjunto de funções que você adquiriu de outra fonte para ativar a funcionalidade multiplayer. Novamente, você provavelmente deve site a fonte desse código pelo menos nos comentários em seu código. No entanto, nessa situação, você provavelmente não poderá contar isso explicitamente para outras pessoas fora do código, como realmente escreveu o jogo.

Muitos desenvolvedores dependem de bibliotecas para lidar com alguns dos problemas mais complexos que enfrentam. Coisas como protocolos de rede, gráficos e matemática avançada são usadas por muitas pessoas; portanto, existem bibliotecas que fazem todas essas coisas variarem bem. A utilização desse tipo de código não é apenas completamente aceitável, mas também normal.

Se você disser "este é um cliente de mensagens instantâneas" ou "este é um videogame", ninguém ficará surpreso se o código de rede for de terceiros. Apenas não afirme que você é o único autor de todas as partes do código e deve estar bem.

No entanto, você deve procurar outra possibilidade: O código em questão está protegido por algum termo de uso? Até este ponto, tenho falado sobre o código que é disponibilizado sem termos ou com termos muito abertos. No entanto, se o autor tiver alguns termos mais específicos, siga-os . Se eles apenas pretendiam que o código fosse para fins educacionais, não seria bom usá-lo em qualquer capacidade além disso. Existem todos os tipos de limitações que eles podem colocar nesse código; portanto, tenha cuidado com o modo como você o usa.

Zeel
fonte
Isso está totalmente além do ponto, exceto no último parágrafo. A reutilização de código por meio de bibliotecas é bem diferente (ética e legalmente) da reutilização de código por meio de copiar e colar.
29513 amon
Na verdade não, já que, em essência, o compilador é apenas copiar / colar de qualquer maneira. Não há diferença real, no final, são apenas sequências de comandos do processador. Tanto quanto "ética e legalmente" é sobre isso que meu último parágrafo é. Desde que o criador original esteja de acordo com o uso do código, é essencialmente o mesmo que usar uma biblioteca.
Zeel 29/10