¿Es aceptable descompilar el código de otra persona para aprender lo que hicieron y cómo lo hicieron? [cerrado]

8

No estoy hablando de robar código o reutilizar el de alguien con fines de lucro. Pero supongo que si un programa o complemento se distribuye en un formato en el que no puedo ver fácilmente la fuente, esa es una acción deliberada por parte del programador.

¿Es aceptable mirar de todos modos, con el propósito de aprender? Y si es así, ¿hay limitaciones a esa libertad?

zenbike
fuente
¿Supongo que no puede "ver fácilmente la fuente" porque ya ha preguntado y ha sido rechazado? El autor podría estar dispuesto a explicar el enfoque general, ¿sería eso lo suficientemente bueno sin código? No lo sabrás hasta que les preguntes.
FrustratedWithFormsDesigner
99
¿Cómo dirá alguien que lo has hecho? ¿El distribuidor del programa o complemento tendrá la capacidad de saberlo? ¿No? Entonces hacerlo. La "propiedad intelectual" es falsa a los hechos: muchas personas a menudo inventan lo mismo. La prohibición de la ingeniería inversa es una consecuencia de la falsa concepción de la idea como propiedad, y no tiene una posición moral real.
Bruce Ediger
1
El caso que estaba considerando es un complemento para Outlook 2010 que escribe una respuesta predeterminada a: dirección de correo electrónico independientemente de la dirección a la que se envió el correo electrónico. Ya lo he comprado y lo estoy usando. Estoy parcialmente interesado en ver lo que se hizo porque quiero saber por qué requiere un complemento, y no es una opción predeterminada. En parte, porque soy un bastardo curioso y me gusta desarmar las cosas. Los datos que busco son periféricos para el complemento. No estoy buscando su código ni duplicar su proyecto.
zenbike
1
Soy un chico, y fuera de su jurisdicción. Pero quiero hacerlo bien. Por eso hice la pregunta. Hay macros que dicen hacer lo mismo, pero no funcionan en respuesta. Solo correo nuevo. Estoy empezando a investigarlo. Si hay una mejor manera, genial.
zenbike
2
@Bruce. +100 para "La prohibición de la ingeniería inversa es una consecuencia de la falsa concepción de la idea como propiedad y no tiene una posición moral real". Lamentablemente tiene una posición legal. Si el software tiene ingeniería inversa y el proveedor se entera, puede recibir una carta de cese y desistimiento, o peor, especialmente si se menciona explícitamente en el EULA. :(
Bratch

Respuestas:

8

Usted indicó en una de sus respuestas que estaba más interesado en saber si el autor estaría molesto por él ... así que si fuera yo, y solo lo hizo con fines educativos y nos conocimos y me lo contó, entonces No. No estaría molesto si descompilaras / aplicaras ingeniería inversa a mi código. Si el código en cuestión fuera muy grosero / hack y feo, podría estar un poco avergonzado, pero dudo que me salga (de hecho, incluso podría sentirme halagado de que alguien encontrara mi código tan genial e interesante que simplemente tenían que hacerlo). descubra cómo funcionó y se esforzó tanto para hacerlo), y oye, ¡incluso podría ser divertido hablar de eso!

FrustratedWithFormsDesigner
fuente
¿Qué pasa si él no hizo todas estas cosas? ¿Y si no lo hizo con fines educativos?
B 22овић
1
VJo: Entonces OP habría estado haciendo una pregunta diferente, y habría dado una respuesta diferente.
FrustratedWithFormsDesigner
66
Le diría que mi código original es muy hermoso, pero su descompilador apesta, por eso parece una mierda. :)
Vitor Py
Recibí muchos comentarios excelentes de esta pregunta. Elijo marcar el tuyo como aceptado porque se votó más y la respuesta siguió más de cerca a mi pregunta original.
zenbike
4

La legalidad del descompilación depende de su jurisdicción. Esta página de Wikipedia tiene algunas notas sobre las leyes de EE. UU. Y la UE en esta área. El resumen es que la legalidad depende de por qué lo estás haciendo:

  • Si lo está haciendo para lograr la interoperabilidad, es posible que se le permita hacerlo.

  • Si lo está haciendo para "aprender" o por curiosidad, probablemente no se le permita hacerlo. (Nunca he oído hablar de ninguna jurisprudencia que diga que la doctrina educativa del uso justo se extiende al software de descompilación. Pero pregúntele a un abogado real)

Si descompilar es una cosa "aceptable" es un juicio de valor, y depende de su perspectiva. La mayoría de los profesionales de TI probablemente dirían que no es un comportamiento aceptable. ¡Y ciertamente el propietario de los derechos de autor probablemente diga que es inaceptable ... y él / ella / ellos son los que podrían decidir demandarlos!

Stephen C
fuente
1
Okay. Ese último es más de lo que estoy tratando de sentir. ¿No tienes que estar haciendo para aprender y lograr la interoperabilidad? ¿O eso significa que debes tener éxito para ser legal?
zenbike
@zenbike: consigue un abogado. Seriamente.
David Thornley
3
@David Thornley: Un abogado no es un ético.
FrustratedWithFormsDesigner
1
@ Frustrado No, pero podría mantener el OP fuera de la cárcel.
Michael Todd
2
poco impreciso, ya que muchas legislaturas permiten la descompilación con fines educativos.
vartec
2

No me estoy metiendo en la moral aquí, ya que ese no es un tema realmente bueno para un sitio de preguntas y respuestas. Personalmente, en todos los casos probables en los que estoy pensando, no me importaría en absoluto si lo hicieras con mi código.

La legalidad es otro asunto, y es algo que no se puede responder adecuadamente aquí. Si quiere saberlo, búsquese un abogado que se especialice en leyes de "Propiedad Intelectual" en su jurisdicción, o cualquier jurisdicción que le preocupe. He leído muchas cosas diferentes al respecto, y algunas de ellas entran en conflicto. No , no confiar en el asesoramiento jurídico se lee de la gente al azar en Internet que ni siquiera saben dónde vive.

Desde un punto de vista práctico, es probable que nadie se entere al respecto, por lo que la ley de derechos de autor entraría en escena solo en la medida en que usted quisiera mantenerse legal a ese respecto.

David Thornley
fuente
Si. Es por eso que dije que no estaba tan preocupado por lo legal, sino por si le molestaría si lo supiera. O codificadores en general.
zenbike
Igual que aquí. Probablemente nunca tendría un problema conmigo mismo y me sentiría halagado si supiera que alguien sí.
Echo dice Reinstate Monica
2

La ingeniería inversa es un método probado y confiable en ingeniería. Es probado y confiable porque es principalmente legal. Específicamente, con respecto al DCMA, Wikipedia dice:

Segundo. 103 (f) de la DMCA (17 USC § 1201 (f)) dice que si obtiene legalmente un programa que está protegido, se le permite realizar ingeniería inversa y eludir la protección para lograr la capacidad de interoperabilidad de los programas de computadora (es decir, , la capacidad de intercambiar y hacer uso de la información).

¿Cuándo no es legal? Principalmente cuando ha firmado un EULA que dice que es ilegal, o si ha obtenido la ingeniería inversa de forma ilegal.

yo no soy un abogado

Hable con uno si las legalidades importan.

No soy un etico

La ética generalmente se refiere a cómo te criaste. Habla con tu madre / padre / hermano / hermana / primo y mira lo que dicen.

Peter K.
fuente
La ley codificada siempre tiene prioridad sobre la licencia. Las partes de la licencia que dicen algo contrario a la ley en su legislatura deben ser ignoradas.
vartec
Creo que el OP preguntaba más en la línea de "¿es ético?", Que es una pregunta diferente (aunque debería considerarse la legalidad , no es una respuesta completa).
FrustratedWithFormsDesigner
1
@FrustratedWithFormsDesigner: De acuerdo. La ética es cómo te criaste. La ley es donde vives. Son muy diferentes y tienen respuestas muy diferentes.
Peter K.
@vartec: Sí, pero si te mudas de jurisdicción puedes estar en problemas.
Peter K.
¿puedo publicar código de ingeniería inversa, por ejemplo en github (con referencia de dónde viene y por qué lo descompilé)?
Marian Paździoch
0

Es aceptable

La palabra "aceptable" es muy difusa. Cada persona implica algo diferente, basado en su trasfondo cultural, experiencia única y el conjunto de valores. Por lo tanto, es imposible responder a esta pregunta.

Si lo reducimos a:

Es legal?

Definitivamente "no" en la mayoría de las jurisdicciones.

y:

¿Es justo con el autor?

Nuevamente, no, si el autor quiere mantener su trabajo en privado, debe respetarlo.


Existe una política de "uso justo" cuando puede usar partes del trabajo protegido por derechos de autor en un determinado contexto, pero eso implica que toma la producción pública del trabajo, como una cuestión de discurso. La descompilación, o en otras palabras (ingeniería inversa, legalmente hablando) es una actividad completamente diferente que no tiene nada que ver con el uso justo. Aquí está tratando de restaurar el trabajo oculto intencionalmente de lo que se hizo público. Si usaron ofuscación, entonces su descompilación es un hecho de ruptura intencional de los mecanismos de protección. Y está castigado por la ley.


fuente
2
Quise decir aceptable. Es decir, para ponerlo en sus términos más simples, si no pudiera preguntarle por alguna razón, y estuviera buscando estrictamente aprender, no reutilizar su código, con fines de lucro o proyecto, ¿lo enojaría? ¿Te ofendería? ¿Podría tener una opinión más baja sobre mí, si nos encontramos, y le digo en algún momento. (Dado que no puedo ver otra manera para que usted sepa si me apego a las restricciones mencionadas anteriormente). Estoy mirando menos a un problema legal, y más a un nivel ético o socialmente aceptable. Y, francamente, ni siquiera había considerado preguntarle al autor. Que debería tener.
zenbike
1
En cuanto a lo legal, hay excepciones a los derechos de autor para un uso justo para la educación en la mayoría de los lugares, por lo que no creo que sea tan blanco y negro como se ve. Si es así, explique por qué.
zenbike
1
Esta respuesta no es muy útil; hace declaraciones definitivas sobre asuntos legales y ni siquiera sugiere encontrar un abogado en su jurisdicción.
David Thornley
1
@zenbike: "OP" es sinónimo de "Cartel original" - se refiere a usted (zenbike) debido a que publicó el post original (es decir, la pregunta que se le pida).
FrustratedWithFormsDesigner
1
@ M.Todd: No estoy tratando de ser obtuso. Pero he dicho repetidamente que me preocupaba si le molestaría si fuera su código. No son las implicaciones legales, que varían ampliamente, no están del todo claras de todos modos, y sería mejor atendido por un abogado si iba a bordear la ley. Lo cual no soy. Sigues volviendo al punto de vista legal, así que quería saber si ves una diferencia o si estás tratando de decir algo que no entiendo. No se pretendía ofender, si tomaste uno.
zenbike