É aceitável descompilar o código de outra pessoa com o objetivo de aprender o que eles fizeram e como eles fizeram? [fechadas]

8

Não estou falando de roubar código ou reutilizar alguém para obter lucro. Mas estou assumindo que, se um programa ou plug-in for distribuído em um formato em que eu não possa ver facilmente a fonte, isso será uma ação deliberada por parte do programador.

É aceitável procurar de qualquer maneira, com o objetivo de aprender? E se sim, existem limitações para essa liberdade?

zenbike
fonte
Eu suponho que você não pode "visualizar facilmente a fonte" porque você já perguntou e foi recusado? O autor pode estar disposto a explicar a abordagem geral, isso seria bom o suficiente sem código? Você não saberá até perguntar.
FrustratedWithFormsDesigner
9
Como alguém vai dizer que você fez isso? O distribuidor do programa ou plugin terá a capacidade de informar? Não? Então faça. A "propriedade intelectual" é falsa aos fatos: muitas pessoas inventam a mesma coisa. A proibição da engenharia reversa é uma conseqüência da falsa concepção de idéia como propriedade e não tem uma posição moral real.
precisa
1
O caso que eu estava considerando é um plug-in para o Outlook 2010 que grava uma resposta padrão para: endereço de email, independentemente do endereço para o qual o email foi enviado. Eu já comprei e estou usando. Estou parcialmente interessado em ver o que foi feito, porque quero saber por que ele requer um plug-in e não é uma opção padrão. Em parte, porque sou um bastardo curioso e gosto de desmontar as coisas. Os dados que busco são periféricos ao plug-in. Não estou procurando o código dele nem duplicar seu projeto.
zenbike
1
Eu sou um cara, e fora de sua jurisdição. Mas eu quero fazer certo. Por isso fiz a pergunta. Existem macros que afirmam fazer a mesma coisa, mas elas não funcionam na resposta. Apenas novos e-mails. Estou apenas começando a investigar. Se existe uma maneira melhor, incrível.
zenbike
2
@Bruce. +100 para "A proibição de engenharia reversa é uma conseqüência da falsa concepção de idéia como propriedade e não tem uma posição moral real". Infelizmente, tem uma posição legal. Se o software sofrer engenharia reversa e o fornecedor descobrir, você poderá receber uma carta de desistência ou desistência, ou pior, especialmente se isso for mencionado explicitamente no EULA. :(
Bratch

Respostas:

8

Você indicou em uma de suas respostas que estava mais interessado em saber se o autor ficaria chateado com isso ... então, se fosse eu, você o fez apenas para fins educacionais e nos conhecemos e você me contou sobre isso, então não. Eu não ficaria chateado se você descompilasse / fizesse engenharia reversa do meu código. Se o código em questão era muito desleixado / hackish e feio, eu poderia estar um pouco envergonhado, mas duvido que fosse desatento (na verdade, eu poderia até ficar lisonjeado por alguém achar meu código tão legal e interessante que eles só precisavam descubra como funcionou e fez tanto para fazê-lo) - e ei, pode até ser divertido falar sobre isso!

FrustratedWithFormsDesigner
fonte
E se ele não fizesse todas essas coisas? E se ele não fizesse isso para fins educacionais?
BЈовић
1
VJo: Então o OP teria feito uma pergunta diferente, e eu teria dado uma resposta diferente.
FrustratedWithFormsDesigner
6
Eu diria a ele que meu código original é muito bonito, mas seu decompilador é péssimo, é por isso que parece uma porcaria. :)
Vitor Py
Recebi ótimos comentários com essa pergunta. Estou optando por marcar a sua como aceita porque foi mais votada e a resposta seguiu mais de perto a minha pergunta original.
zenbike
4

A legalidade da descompilação depende da sua jurisdição. Esta página da Wikipedia tem algumas notas sobre as leis dos EUA e da UE nesta área. O resumo é que a legalidade depende do motivo pelo qual você está fazendo isso:

  • Se você estiver fazendo isso para obter interoperabilidade, poderá fazê-lo.

  • Se você está fazendo isso para "aprender" ou por curiosidade, provavelmente não está autorizado a fazê-lo. (Nunca ouvi falar de nenhuma jurisprudência que diga que a doutrina do uso justo educacional se estende à descompilação de software. Mas pergunte a um advogado de verdade.)

Se a descompilação é uma coisa "aceitável" a ser feita é um julgamento de valor e depende da sua perspectiva. A maioria dos profissionais de TI provavelmente diria que não é um comportamento aceitável. E certamente o proprietário dos direitos autorais provavelmente dirá que isso é inaceitável ... e ele / ela / eles / ela / eles / ela / eles / eles / ela / eles / eles / eles / eles poderiam decidir processar as calças fora!

Stephen C
fonte
1
Está bem. Esse último é mais o que estou tentando sentir. Você não precisa aprender a aprender para conseguir interoperabilidade? Ou isso significa que você deve ter sucesso para ser legal?
zenbike
@zenbike: Procure um advogado. A sério.
David Thornley
3
@ David Thornley: Um advogado não é um especialista em ética.
FrustratedWithFormsDesigner
1
@Frustrated Não, mas ele pode manter o OP fora da cadeia.
Michael Todd
2
imprecisos, pois muitas legislaturas permitem a descompilação para fins educacionais.
vartec
2

Não estou entrando na moral aqui, já que esse não é um tópico muito bom para um site de perguntas e respostas. Pessoalmente, em todos os casos prováveis ​​em que estou pensando, eu não me importaria se você fizesse isso com o meu código.

Legalidade é outra questão, e é algo que não pode ser respondido adequadamente aqui. Se você quiser saber, encontre um advogado especializado em leis de "Propriedade Intelectual" em sua jurisdição ou em qualquer jurisdição com a qual você esteja preocupado. Eu li muitas coisas diferentes sobre isso, e algumas delas conflitam. Você não confia em aconselhamento jurídico você ler de pessoas aleatórias na Internet que não pode mesmo saber onde você mora.

Do ponto de vista prático, é provável que ninguém descubra isso, então a lei de direitos autorais só entraria em cena na medida em que você quisesse permanecer legal nesse aspecto.

David Thornley
fonte
Sim. Por isso que eu disse não estava tão preocupado com questões legais, como eu estava pensando se isso o incomodaria se ele soubesse. Ou codificadores em geral.
zenbike
O mesmo aqui. Eu provavelmente nunca teria um problema com isso e ficaria lisonjeado se soubesse que alguém o fez.
Echo diz Reinstate Monica
2

A engenharia reversa é um método testado e confiável em engenharia. É testado e confiável porque é principalmente legal. Especificamente, com relação ao DCMA, a Wikipedia diz:

Sec. 103 (f) da DMCA (17 USC § 1201 (f)) diz que, se você obtiver legalmente um programa protegido, poderá fazer engenharia reversa e contornar a proteção para obter a capacidade de interoperabilidade de programas de computador (ou seja, , a capacidade de trocar e usar informações).

Quando isso não é legal? Principalmente quando você assina um EULA que é ilegal ou obtém a engenharia reversa ilegal.

Eu não sou um advogado

Fale com um, se a legalidade for importante.

Eu não sou um especialista em ética

A ética geralmente diz respeito a como você foi educado. Converse com sua mãe / pai / irmão / irmã / primo e veja o que eles dizem.

Peter K.
fonte
A lei codificada sempre tem precedência sobre a licença. Partes da licença que dizem algo contrário à lei em sua legislatura devem ser desconsideradas.
22411 vartec
Eu acho que o OP estava perguntando mais na linha de "é ético?", Que é uma pergunta diferente (embora a legalidade deva ser considerada, não é uma resposta completa).
FrustratedWithFormsDesigner
1
@FrustratedWithFormsDesigner: Concordado. Ética é como você foi criado. A lei é onde você mora. Eles são muito diferentes e têm respostas muito diferentes.
Peter K.
@vartec: Sim, mas se você mudar de jurisdição, poderá ter problemas!
Peter K.
posso publicar código de engenharia reversa, por exemplo, no github (com referência de onde ele vem e por que eu o descompilei)?
Marian Paździoch 30/03
0

Isso é aceitável

A palavra "aceitável" é muito confusa. Cada pessoa implica em algo diferente, com base em sua formação cultural, experiência única e conjunto de valores. Portanto, é impossível responder a essa pergunta.

Se reduzimos para:

Isso é legal?

Definitivamente "não" na maioria das jurisdições.

e:

É justo com o autor?

Novamente, não, se o autor deseja manter seu trabalho privado, você deve respeitar isso.


Existe uma política de "uso justo" quando você pode usar partes do trabalho protegido por direitos autorais em um determinado contexto, mas isso implica que você obtenha a saída pública do trabalho, como uma questão de linguagem. A descompilação, ou em outras palavras (engenharia reversa, legalmente falando) é uma atividade totalmente diferente que nada tem a ver com o uso justo. Aqui você está tentando restaurar o trabalho intencionalmente oculto do que foi tornado público. Se eles usaram ofuscação, sua descompilação é um fato da quebra intencional dos mecanismos de proteção. E é punido por lei.


fonte
2
Eu quis dizer aceitável. Ou seja, para colocar em seus termos mais simples, se eu não pudesse lhe perguntar por qualquer motivo, e eu estivesse procurando estritamente por aprender, não reutilizando seu código, para lucro ou projeto, isso o deixaria irritado? Você ficaria ofendido? Você teria uma opinião mais baixa de mim, se nos encontrarmos, e eu digo a você em algum momento. (Como não vejo outra maneira de você saber se eu cumpro as restrições acima mencionadas.) Estou olhando menos para uma questão legal e mais para um nível ético ou socialmente aceitável. E, francamente, eu nem pensei em perguntar ao autor. O que eu deveria ter.
zenbike 22/06
1
Na medida em que legal, existem exceções aos direitos autorais para o uso justo da educação na maioria dos lugares, então não acho que seja tão preto e branco quanto você imagina. Se for, explique o porquê.
zenbike
1
Esta resposta não é muito útil; faz declarações definitivas sobre questões legais e nem sequer sugere a procura de um advogado em sua jurisdição.
David Thornley
1
@zenbike: "OP" significa "Pôster original" - refere-se a você (zenbike) porque você postou a postagem original (a saber, a pergunta que você fez).
FrustratedWithFormsDesigner
1
@ M.Todd: Eu não estou tentando ser obtuso. Mas eu já disse várias vezes que estava preocupado se isso o incomodaria se fosse seu código. Nem as implicações legais, que variam amplamente, não são de todo claras, e seria melhor atendidas por um advogado se eu fosse contornar a margem da lei. O que eu não sou. Você continua voltando ao ponto de vista jurídico, então eu queria saber se você vê alguma diferença ou se está tentando dizer algo que não estou entendendo. Nenhuma ofensa foi intencional, se você tomou uma.
zenbike