¿Puedo legalmente aplicar ingeniería inversa a un controlador de dispositivo propietario y lanzar un reemplazo de software de código abierto gratuito?

Respuesta corta: no. No por ti mismo. Respuesta larga: con la ayuda de otros, sí. Estoy discutiendo específicamente la ley estadounidense aquí.

El problema es que en el momento en que abre el controlador existente y realiza ingeniería inversa, está “sucio”. Debido a que vio el controlador anterior, cualquier nuevo controlador que escriba puede ser acusado de copia ilegal. Su nuevo controlador abierto es un trabajo derivado del anterior, y los trabajos derivados permanecen bajo el control de la persona que posee los derechos de autor sobre el trabajo original.

Entonces, ¿cómo superamos esta paradoja? Ciertamente es legal escribir su propio controlador, pero ¿cómo puede averiguar qué escribir sin ensuciarse? Por eso necesitas ayuda.

El esfuerzo debe dividirse en un equipo “sucio” y un equipo “limpio”. El equipo sucio no escribe controladores, ellos escriben especificaciones . Esas especificaciones se entregan al equipo limpio, que ahora debería tener suficiente información para escribir un controlador sin tener que ver el controlador original. Si sigue estas reglas, su controlador debe estar a salvo de las afirmaciones de que es un trabajo derivado.

Esta técnica debe seguirse escrupulosamente si es probable que existan desafíos legales. Por ejemplo, IBM escribe su propia implementación del lenguaje Java. Es bastante difícil reunir un equipo limpio de programadores a prueba de balas que nunca trabajó con Java de Oracle, por lo que tienen un acuerdo especial con la Universidad de Arizona; su departamento de CS segmenta cuidadosamente las discusiones sobre Java, para que los estudiantes que quieran trabajar en el equipo limpio de IBM sean elegibles. Eso, y un buen equipo legal, mantiene a IBM a salvo de la ira de Oracle.

Por supuesto, puede intentar hacerlo sin pasar por la molestia de dividir sus equipos sucios y limpios, pero se deja vulnerable a las demandas por infracción de derechos de autor. Puede considerar pedirle permiso a la compañía, solo podrían decir que sí, en cuyo caso su trabajo es mucho más simple.

Por lo general, se permite en todo el mundo en las circunstancias mencionadas por David Ecale.

Pero si vives en Alemania, las cosas son un poco más complicadas. En 2007 prohibieron con una ley muy poco específica el uso y posesión de herramientas de análisis de red, herramientas de ingeniería inversa y cualquier forma de eludir la protección de copia, acceder a sistemas de denegación u otros.

Ahora debe saber que todos los controladores tienen uno u otro sistema de certificación y se puede reclamar que para reescribir el software haga esto. En Alemania, de todos modos, está con una pierna en la cárcel si posee Linux y tiene acceso a todas las herramientas, que generalmente son las herramientas de seguridad informática, administración de computadoras y desarrollo de computadoras.

Alemania adopta la ley “anti-hacker”; los críticos dicen que genera inseguridad

Todavía no conozco a nadie sobre quién aplicaron esta estúpida ley, pero es un problema. Y como dijo David, habrá una demanda de “Infracción de derechos de autor” tan segura como “Amén” en la iglesia. Y en un sistema donde cualquier persona que reclame una DMCA puede quitarle su libertad financiera, no hay libertad en absoluto.

Al menos no para aquellos que no pueden pagarlo. Esta es la razón por la cual en mi país rico el 30% de su población vive al borde de la pobreza. Y eso significa, sin ingresos constantes, sin vacaciones, sin automóvil, sin fondo de jubilación, ni siquiera lo suficiente para comer todos los días. Si. Eso esta pasando. Y no estoy hablando de las personas sin hogar en mi país. Golpea aproximadamente a cada tercio, que no puede permitirse más de media taza de arroz y algunas verduras al día principalmente. Y no es solo este artículo aquí, conozco a más de unas pocas personas que viven así.

(cite Heise, use la traducción automática: Armut en Deutschland: Keine volle Mahlzeit im reichen Land)

Pero lo bueno es que si vives en ese 30%, no pueden quitarte nada, incluso si te demandan. Esa es la libertad del hombre de espaldas a la pared. Entonces, yo diría, hágalo de todos modos, incluso si es arriesgado e incluso si no debería ser arriesgado en absoluto lo que planea hacer, porque es lo correcto.

No debería ser ilegal hacer lo correcto. La DMCA debe ser aniquilada, porque es el enemigo de la libertad para la mayoría de las personas. Se interpone en el camino del progreso y la riqueza para la humanidad, en beneficio de una pequeña parte de nuestra población mundial, muy pequeña y muy sucia, creo que son alrededor de 150 mil personas en la industria mundial o menos, que se benefician de esto. ley, la última vez que lo revisé.

Todo el sistema de patentes es una ley antigua que causa estragos en el bienestar de la sociedad y las naciones. Es la Némesis de la medicina, la ciencia, la tecnología, el progreso y el libre mercado. Estoy hablando del mercado libre, no del mercado del 1%.

Y especialmente que la DMCA solo es buena para esas muy pocas personas en el mundo que atesoraron toda la riqueza, como esas 62 personas que poseen más del 50% de las personas más pobres de la tierra. 62 contra la población mundial. WTF ?!

( http://www.oxfam.org.uk/media-ce …)

Es un mundo en inequidad e injusticia, un asco grosero frente al humanismo.

Vivimos en tiempos indescriptibles y bárbaros que las generaciones posteriores a nosotros despreciarán. Y seremos vistos en la historia como aquellos que no lucharon contra esto, que no hicieron nada contra él y dejaron que sucediera. Estoy bastante enojado por eso. Y debería estarlo.

Entonces: un poco de desobediencia civil es algo que realmente necesitamos: aplicar ingeniería inversa a su conductor. Debido a que es correcto hacerlo, es su libertad hacerlo, debe ser sin riesgo y si nadie lo hace, esta libertad desaparecerá.

Como tantos otros que ya murieron en nuestro sistema. Como muchos de los valores humanitarios están muriendo, como si de repente estuviera bien torturar nuevamente a los prisioneros. Está bien meter a la gente en la cárcel, no porque hayan hecho algo mal, sino porque no pueden pagar un sistema legal, que está hecho de los ricos por los ricos y donde no se obtiene el derecho. Incluso si lo tienes.

Nuestros tiempos son tiempos que huelen a revolución. Odio las revoluciones. Todo está ardiendo en una revolución y nada mejora a través de ella, generalmente durante mucho tiempo. Pero si una sociedad no puede tomar medidas contra cosas como esta, es lo que está sucediendo. Siempre ha sido así, siempre será así.

Y los poderosos y poderosos no pueden aprender. En cambio, prefieren ser quemados por ese proceso. Deben saber que están equivocados y es hora de parar de esta manera. Pero ellos no. Impulsar esta locura en un acto de auto-sacrificio tonto con la esperanza de que el mundo termine con ellos en la guillotina. No es asi. Y la rabia ya es genial. Puedo sentir esto, porque soy parte de este entorno social. Puedo ver el sufrimiento. No estoy viviendo en una comunidad protegida y amurallada de los súper ricos. Cuando voy al supermercado más cercano, la gente está parada en la entrada, no mendigando directamente, sino vendiendo pequeñas cosas que hicieron. No puedo mirarte a los ojos, porque están avergonzados. ¡Deberíamos estar avergonzados! No son personas que vienen del este de Europa, son alemanes como yo, de pie bajo el frío, la lluvia y las nevadas tormentas de invierno aquí. Lo hacen, porque es el único camino que les queda, no porque les guste o quieran molestarnos con eso. Como la chica de la caja de cerillas en ese cuento de hadas de Hans Christian Anderson. Es solo un pequeño supermercado en el siguiente borde, no es un lugar destacado, solo un lugar en la ciudad más rica de uno de los países más ricos del mundo: Hamburgo, Alemania. Que tiene más multimillonarios que cualquier otra ciudad aquí.

¡Vergüenza! ¡Vergüenza! ¡Vergüenza! Estoy furioso por eso.

(The Little Match Girl – Wikipedia, por favor lea eso)

Estamos de nuevo en esos tiempos. Hemos alcanzado este nivel, hemos bajado hasta ahora. Dirigido por los cabilderos y los súper ricos que se comen nuestra libertad y nuestro futuro.

Estupidez. Pero esta estupidez es el gran desafío de nuestra generación: cambiar esto de manera pacífica. Para cambiar esto sin quemar todo al suelo que es. Pero solo necesita que suficientes personas se muevan en una dirección para cambiar las cosas.

Las leyes cambian cuando se ven obligados a hacerlo desde la realidad.

Entonces: haz tu conductor. Hará del mundo un lugar mejor y, una vez que salga de este mundo, podrá decir: “He dejado el mundo mejor de lo que entré”. Los grandes cambios comienzan con cambiar algo pequeño. Y con alguien mostrando algo de coraje. Comencemos a quemar algunas de las estructuras que nos hacen esto. Comencemos con el sistema de derechos de autor y patentes y todas las leyes relacionadas con este complejo. Solo por ignorarlos. Quememos ese fósforo.

Comparte lo que tienes. Comparte tu conocimiento, tu código. Es tu derecho.

Y no tengas miedo.

¡Bueno, sí! ¡¡¡Pero!!! Por favor déjame explicarte. Para hacerlo de manera segura:

  1. Debes ser virgen. La ingeniería de Virgin se ha definido como que no tiene contacto con el fabricante, no tiene familiares que trabajen para dicho fabricante, y *** nunca *** ha visto ningún código fuente o especificaciones de diseño de ningún tipo.
  2. Debe guardar notas copiosas y extremadamente detalladas de su estudio y trabajo de ingeniería inversa.
  3. Debe tener los recursos financieros para resistir las inevitables demandas de “Infracción de derechos de autor”. // Ese abogado gratuito si no puede pagar una cosa es para demandas penales. Con una demanda civil, estás solo.//

Si puedes hacer todo eso, entonces hazlo.

Dos ejemplos de lo que puede salir bien y mal:

  1. Derecha: el BIOS en PC que no son de IBM fue creado por una compañía que hizo los tres anteriores. Consulte: Phoenix Technologies – Wikipedia – Clonación del BIOS de PC de IBM
  2. Incorrecto: una empresa creó un procesador front-end (FEP) de la competencia para mainframes IBM. El código era propietario, sin embargo, un día, un representante de IBM solicitó ver una copia del código de un cliente de IBM. Se encontró que el código era compatible con “plug for plug & bug for bug”. Peor aún, ¡los comentarios fueron casi idénticos también! Se entablaron demandas judiciales. ¡Vaya!

Todas las respuestas a esta pregunta hasta ahora han sido buenas y han señalado las trampas y los peligros al hacer lo que pides. Entonces, sí, teniendo en cuenta esas cosas, puede escribir su propio controlador. Sin embargo, nadie parece haber hecho una pregunta muy importante, ¿por qué querrías hacerlo?

El proceso de escribir un controlador es muy complicado cuando no tiene acceso a las especificaciones técnicas detalladas del dispositivo. Esta es la razón por la cual los controladores de video de código abierto actuales para las distribuciones de Linux no funcionan tan bien como los propietarios de código cerrado. Estos últimos están escritos con pleno conocimiento del dispositivo, por lo que los desarrolladores saben qué trucos pueden usar para exprimir hasta el último rendimiento. Los primeros están escritos por personas sin que este conocimiento genere una idea más general de cómo funcionan los dispositivos.

Mi consejo sería, si no está satisfecho con los controladores de código abierto actuales, eche un vistazo a su código fuente, vea si puede averiguar qué parte le está causando problemas, desarrolle y pruebe un parche para solucionar el problema. problema, y ​​luego envíelo al mantenedor. Sin duda, esto sería mucho más factible para una persona que trabaja por su cuenta, aunque aún requeriría desarrollar una buena cantidad de conocimiento. Esto también lo protegería de posibles consecuencias legales, ya que esos proyectos de código abierto han existido durante mucho tiempo y han logrado no verse obligados a detener su trabajo.

Todas las respuestas anteriores son más o menos mi comprensión del software de ingeniería inversa. Una sugerencia es mirar la pregunta desde un ángulo diferente, descompilar el software NO estaría bien. Incluso para escribir las especificaciones. Sería comparable a la ingeniería inversa de un motor más eficiente al observar los planos y los documentos de análisis técnico, los cuales son secretos comerciales. Si, por el otro, hubiera descubierto cómo funciona el motor y la ingeniería detrás de por qué funciona por su cuenta al observar y desmontar un motor real que esté bien.

Hay una diferencia entre “descubrir cómo lo hicieron” y “copiar su trabajo”.

El primero es legal, el segundo está más cerca del espionaje industrial.

Una cosa para investigar es su acuerdo de licencia. He visto cláusulas en las que prohíben la ingeniería inversa del código compilado, por lo que corre el riesgo de violar la licencia por la que adquirió el código.

Su riesgo depende de cuánto se preocupe el propietario de la licencia. Como otros han señalado, si es exclusivamente para su propio uso, no tienen motivos para preocuparse, pero si lo vende o lo distribuye, espere una carta de abogado.

Preguntas frecuentes sobre ingeniería inversa del proyecto de derechos de codificadores

Por lo general, está bien realizar ingeniería inversa sobre cómo funciona algo y hacer su propia versión, excepto que es ilegal infringir patentes, por lo que si su código de ingeniería inversa usa algo que tiene una patente (accidentalmente) podría estar en problemas, pero para los conductores de un viejo GPU y algo de lo que no está ganando dinero es poco probable que sea demandado, ya que demandar requeriría que la compañía de GPU demuestre una pérdida financiera de algún tipo.

No puedo ofrecer una opinión legal, pero la respuesta corta está en el EULA para el conductor. Muchos de los que he visto no permiten la ingeniería inversa, porque eso se considera su propiedad intelectual.

Presumiblemente, nada te impide descubrir cómo usar la tarjeta gráfica y escribir tu propio controlador

Si escribe su propio software y puede demostrarlo, entonces tiene un nuevo trabajo al que puede hacer copyright. Si utiliza el software existente de alguna manera, incluso si lo modifica extensamente, ha infringido los derechos de autor de otra persona.

Piense en el conductor como una historia corta, porque así es como la ley lo piensa. Si escribes tu propia historia, incluso si es muy derivada, entonces es un trabajo nuevo. Si usa partes de otra historia, como un personaje, está robando el trabajo creativo de otro escritor.

(EDITAR: Ahora, mi suposición de Nvidia es probablemente incorrecta en la relectura).

Creo que la legalidad en cuestión depende de los términos del EULA provisto con el controlador que usted debía realizar la ingeniería inversa.

Esto suena bastante parecido a Nvidia tal vez, quien creo que tiene términos bastante estrictos en su EULA incluido con cualquier controlador con respecto a la ingeniería inversa y cómo está prohibido.

Sin embargo, si estoy en lo cierto al asumir Nvidia, este proyecto puede ser de gran interés para usted:

nouveau – Controlador acelerado de código abierto de Linux para Nvidia

More Interesting

¿Cuáles son algunos sitios de autoformación en sistemas integrados para un estudiante de ECE?

¿Dónde puedo aprender profesionalmente la depuración de sistemas integrados? Un libro, un curso o cualquier cosa.

¿Cuál es la ventaja de los microprocesadores sobre los sistemas integrados?

¿En qué medida se utilizan las bases de datos en sistemas embebidos?

¿Qué cosas se necesitan para desarrollar un sistema embebido?

Cómo generar una onda sinusoidal con un microcontrolador

¿Cuáles son los mejores sitios y libros para aprender programación integrada?

Cómo medir el uso de ROM y RAM de funciones individuales de una biblioteca que debe ejecutarse en un sistema integrado

Cómo ser perfecto para practicar la programación en C en los próximos 2 meses

Quiero sumergirme en el campo de la robótica y necesito un concepto claro de cómo avanzar. ¿Cómo puedo hacerlo?

¿Cuáles son los mejores recursos (libros, cursos de video, etc.) para aprender la programación del Sistema Embebido? Ya conozco el desarrollo de escritorio (usando C ++ y C #).

¿Cuáles son algunos sistemas operativos en tiempo real (RTOS) que la NASA ha utilizado y por qué?

Al igual que topcoder y codechef, ¿tenemos sitios web de codificación competitivos centrados en sistemas integrados?

Estoy 2013 desmayado, colocado en TCS. Después de estar en el banco durante 4 meses, me vi obligado a tomar un proyecto de Infraestructura. Trabajé durante 2 meses, sentí que estaba arruinando mi carrera y renuncié. Ahora me estoy preparando para la planificación de CDAC para el curso de sistemas integrados. ¿Cómo planificarme para conseguir un buen trabajo en CDAC?

¿Cuáles son las desventajas de los sistemas embebidos?