¿Por qué los competidores de software simplemente no copian / pegan código cuando su rival agrega una nueva característica exitosa y la modifica un poco para evitar las leyes de derechos de autor?

Porque no puede obtener el código fuente, a menos que los desarrolladores estén dispuestos a compartir.

Las aplicaciones no son como las páginas web. Debe codificar los códigos fuente en formato binario, para que la máquina pueda entender. Este proceso se llama ” compilar “. El contenido de un archivo de aplicación compilado se ve así:

No es algo que pueda ” copiar y pegar “.

Los códigos fuente son secretos comerciales de una empresa. Si intenta obtener códigos fuente con otro enfoque que no sea la licencia oficial, dicho comportamiento se llama espionaje industrial, que va en contra de la Ley de Espionaje Económico en los Estados Unidos.

Por otro lado, algunos desarrolladores optan por abrir sus códigos fuente al público; Invitan a programadores de todo el mundo a participar en el proyecto para mejorar la calidad general de los softwares. Por ejemplo: Soporte de código abierto de Mozilla.

Sin embargo, los códigos fuente de tales proyectos solo pueden adquirirse bajo ciertos acuerdos. Estos acuerdos no son contratos, sino licencias; lo que significa que están protegidos por Copyright Act . Puede usar legalmente estos códigos en sus propios proyectos, siempre que cumpla con estos acuerdos. Si viola los acuerdos, la aplicación de la licencia podría presentar una demanda en su contra.

Los requisitos de las licencias de software de código abierto difieren según los proyectos; algunos solo le pedirán que incluya los acuerdos de licencia del software de código abierto en su distribución de productos comerciales; algunos le exigirán que publique al público los códigos fuente de sus productos finales; algunos le prohibirían incluir los productos finales en cualquier paquete de productos comerciales (esta es exactamente la razón por la cual Apple no puede incluir BASH 4.x en la última versión de macOS). Debe leer los acuerdos de licencia detenidamente antes de decidir utilizar códigos de código abierto.

Si recuerdo correctamente hace unos años, un importante desarrollador de sistemas operativos incluyó un programa de pintura con su sistema operativo que no era muy bueno. Un desarrollador de código abierto escribió su propio programa de pintura que tenía muchas de las características que faltaban en el programa incluido que todos necesitaban y, por supuesto, era muy popular. Al ser de código abierto, el código fuente real se publicó, por supuesto, con una declaración de derechos de autor y una declaración de licencia.

Pasó un poco de tiempo y la gran empresa lanzó una actualización que incluía un programa de pintura actualizado que proporcionaba exactamente las mismas características y, cuando se les preguntó si se habían inspirado en el programa de código abierto, respondió: “Nuestros desarrolladores, trabajando de manera completamente independiente, idearon estos cambios”. .

Resultó que el programa de código abierto contenía un “huevo de Pascua” (un código oculto) que en el aniversario del lanzamiento del sistema operativo de las empresas jugó feliz cumpleaños y mostró una pantalla apropiada. Por una extraña coincidencia, el escrito del fabricante del sistema operativo, completamente independiente, hizo exactamente lo mismo.

Cuando llegó a los tribunales, el juez tampoco creía que esto fuera una coincidencia y otorgó una suma bastante grande al desarrollador de código abierto.

La moraleja de esta historia es que nunca debes copie el código de alguien de otro lugar, no solo porque está violando los derechos de autor y, dependiendo de la jurisdicción relevante , la ley, sino también porque si lo hace y no sabe exactamente qué hace el código, podría hacer mucho más de lo que usted es esperando

Todos los nombres retenidos para proteger tanto a las partes culpables involucradas como a mí mismo (ya que tienen bolsillos muy profundos) . Se omitieron las fechas porque fue hace mucho tiempo y nosotros, los viejos foggies, nos ponemos confusos sobre cosas como las fechas.

Si copia algo y “lo modifica un poco” después del hecho, igual lo copió. Suponiendo que lo que ha copiado tiene derechos de autor, entonces ese es un acto infractor. La respuesta de Daniel Super es correcta en lo que va, pero hay algunos otros problemas aquí.

Todo lo que hace el “ajuste” es agregar otro acto de infracción: crear un trabajo derivado. (Ver 17 Código de EE. UU. § 106 – Derechos exclusivos en obras con derechos de autor).

Un malentendido subyacente a esta pregunta es sobre lo que cubre la ley de derechos de autor. La ley de derechos de autor abarca obras creativas . (Ver 17 Código de EE. UU. § 102 – Objeto de los derechos de autor: en general). Eso es bastante amplio, pero no es ilimitado, y definitivamente no incluye ideas , incluida la idea de una característica . Otros son libres de tomar una idea que ven en otra parte y ponerla en práctica ellos mismos. Su nuevo trabajo creativo también estaría sujeto a derechos de autor por separado.

Si un competidor copia la funcionalidad de una característica, los detalles de cómo funciona, entonces eso podría estar en el ámbito de la ley de patentes, que protege las invenciones tecnológicas. Sin embargo, las decisiones sobre la Corte Suprema han reiniciado las patentes sobre software en los últimos años.

Si un competidor copia el aspecto de una característica, entonces las marcas registradas y las patentes de diseño podrían estar en juego. (Las patentes de diseño fueron una parte importante del litigio entre Apple y Samsung).

¿Por qué las personas invierten en cientos de criptomonedas y monedas alternativas, cuando cualquier característica que las diferencia podría integrarse en Bitcoin?

¡En este caso, el código es incluso de código abierto! Los desarrolladores de Bitcoin no tendrán muchos problemas para anular cualquier ventaja que tengan estas monedas. Límpialos a todos.

Pero todavía no los he escuchado copiar muchas características de monedas alternativas.

¿Por qué?

  1. A veces, no son las características, sino el equipo detrás de ellas. Solo porque funcionó para ellos, no significa que funcione para usted.
  2. Intenta implementar todas las características agregadas por su competidor. Después de todo, ¿cómo puedes competir con tan pocos servicios, verdad? Es demasiado trabajo para imitar. ¿Resultado final? Quemas tu dinero en efectivo.
  3. Copias la función. Lo abrirás a tus clientes. Pero hay muchas maneras, todo puede salir mal. La gente puede burlarse de ti.
  4. La mentalidad de las personas que usan el producto. No a todos les gusta el cambio. Conozco compañías que usan productos viejos porque no les gusta cambiar a una versión posterior. ¿Por qué cambiar si todo funciona bien?

Si la función no está protegida por una patente o un derecho de autor, cualquiera puede copiarla. Pero si copia a ciegas, está condenado al fracaso.

Como dice Bezos, “No te concentres en la competencia. Nunca te darán dinero “.


Dicho esto, los competidores copian características todo el tiempo.

Echa un vistazo a Vine, Instagram y Snapchat. La mayoría de las características introducidas parecen estafadas entre sí.

Pero a veces, puede ser contraproducente.

De hecho, así es como funciona Internet.

La licencia de código abierto es cómo es posible que los sitios web sean gratuitos. Se llama la “excepción de vinculación” en las licencias, es decir, si se vincula a una biblioteca en lugar de modificarla / copiarla, y está bajo una licencia permisiva (MIT, BSD, LGPL), puede usarla sin regalías.

En cuanto al “código basado en funciones”, la razón por la que esto no funciona es técnica y comercial. Las características a menudo se crean a partir de motores y marcos (no bibliotecas) a menos que la empresa participe en una “guerra de características” perpetua. Es decir, si desarrolla una función para un cliente o pieza de software y no se puede propagar a otros clientes, entonces es una pérdida de dinero. Por lo tanto, la copia no es posible en muchos casos, ya que la función depende del marco o motor subyacente para funcionar.

Participar en la “guerra de características” es una carrera hacia el fondo que no puedes ganar, al igual que participar en la “guerra de precios” en el comercio minorista no funciona a menos que seas Walmart. No se puede desarrollar característica por característica porque siempre hay alguien más rápido, mejor, con más características y más barato. Lo que necesita es construir una caja lo suficientemente grande que pueda eliminar suficientes características en masa (algún tipo de motor) o un nicho con cierta estabilidad donde la “guerra de características” no importe.

Si realmente puede ganar una “guerra de características”, entonces se encuentra en un negocio completamente diferente donde ensambla bibliotecas, SDK y kits de herramientas como Lego y lo hace más rápido y mejor que otras personas. En otras palabras, Software Consulting, fácilmente externalizado con poco valor para el negocio más allá del proyecto, contrató armas o talleres de carrocería. Con ese modelo, el código real no importa y no se valora, porque la gente importa (qué tan rápido eres es muy personal, qué tan rápido puedes aprender nuevas tecnologías, etc.). El desarrollo lo dicta la empresa, que valora las características. Para que funcione, el negocio tiene que ser lo suficientemente inteligente como para destruir todo cada pocos meses y construir nuevos … como lo hace una empresa de consultoría.

El problema es que las empresas quieren su pastel y comérselo también … o se ejecuta como una empresa de consultoría y se vuelve 100% fresca cada pocos meses, o NO se involucra en una guerra de características y construye motores y marcos para que las características salgan en masa. una vez abajo de la línea y no de inmediato. En algún punto intermedio … está condenado al déficit técnico y al fracaso.

Bueno, primero, las leyes de derechos de autor no se aplican a las características del software. PUEDEN aplicar al software, pero nadie realmente quiere llevarlo a la corte en este momento para averiguarlo, ya que ha estado yendo y viniendo y la respuesta incorrecta será muy fea para la industria en general.

En segundo lugar, las funciones de copia no están cubiertas por ninguna ley que yo sepa, en ningún lado. Estoy feliz de aceptar la corrección de esto, pero teniendo en cuenta que Facebook / IG está jugando a ponerse al día con Snapchat últimamente, me sorprendería descubrir que están violando severamente cualquier ley significativa.

Finalmente, la razón por la cual los sistemas de software no solo copian directamente las características de sus competidores a menudo tiene que ver con las compensaciones que se hicieron cuando se diseñó.

A veces, simplemente no es posible debido a que la arquitectura simplemente aplasta una característica en una base de código determinada y no tiene un impacto negativo inaceptable en el rendimiento de esa base de código. A veces, debido a la forma en que está diseñado el sistema, los datos se almacenan, o una miríada de otras razones, simplemente no es posible hacerlo sin un cambio significativo en la arquitectura del sistema. Esta es una de las razones por las que la arquitectura modular es un unicornio en el desarrollo de software.

El mejor ejemplo que puedo dar para esto sin ser demasiado específico es que estaba trabajando con una empresa que quería utilizar el ecosistema Netflix OSS para manejar su sitio web, que era un catálogo de productos y un sitio de comercio electrónico. Ahora Netflix no maneja bien los datos de la sesión del usuario, de hecho, lo evita tan a menudo como sea humanamente posible mediante el uso de un montón de técnicas y pasos de autorización, y luego asumiendo si alguien ha llegado a X lejos que el costo para el negocio de mostrarle a alguien una película gratis es menos que los dolores de cabeza de tratar de estar más seguros de que merecen verlo.

Compare eso con un sitio de comercio electrónico donde está vendiendo productos para personas y puede comenzar a ver dónde esa arquitectura es fundamentalmente incompatible con la idea de venderle a alguien un bien físico que físicamente le cuesta capital. Este es un caso en el que no puede tomar un sistema y simplemente “fijar” una nueva función en él.

Espero que esto ayude.


También debería agregar algunos addendums.

Muchos navegadores web utilizan el mismo código para bits y piezas de funcionalidad. el motor de Mozilla, Spidermonkey y otras bibliotecas harán el trabajo pesado para ayudarlo a escribir su propio navegador web si así lo desea. Estoy relativamente seguro de que las personas echan un vistazo a las bases de los códigos de los demás en la medida de lo posible para duplicar las funciones.

Estoy prácticamente seguro de que alguien ya ha escrito herramientas y servicios para hacer comercio electrónico en la pila OSS de Netflix, pero en ese momento era nuevo.

Qué tan diferente debe ser el código para no violar la ley de derechos de autor es una EXCELENTE pregunta, los tribunales siguen yendo y viniendo en este caso, así que no tengo una muy buena respuesta para usted, pero puede ver Oracle America, Inc. v. Google, Inc. – Wikipedia para una mejor idea de la que puedo darte.

He trabajado en ingeniería de software por más de 12 años y. Nunca he visto un copyright en una pieza de software. No sé si existe, pero supongo que podría.

Sobre el tema del robo de código, ocurre todo el tiempo, y para ser honesto, rompe los acuerdos de lisence todo el tiempo, pero las empresas se salen con la suya porque no anuncian el hecho de que están deslizando el código y, por lo general, el software es compilado en código de bytes de máquina para que el usuario final nunca vea el código fuente real. En el caso del software de código abierto, ocasionalmente las personas quedan atrapadas violando los términos de la licencia, pero eso es muy raro. Por lo general, las personas se salen con la suya cuando deslizan el código.

Las patentes son algo que los autores de software pueden usar para evitar que otras compañías logren las mismas funciones en su software, pero la infracción de patentes puede ocurrir incluso cuando no se roban el código fuente, por lo que no es una forma clara de proteger el código fuente. También se abusa de las patentes y hay muchos casos de cosas que se patentan que generalmente nunca deberían haberse patentado. Las grandes corporaciones terminan armando sus patentes como palanca contra los competidores. Es muy feo

El código importa mucho.

De hecho, lo que importa son las ideas. Las ideas se pueden copiar sin ningún código.

Mire lo que ha hecho Microsoft: han copiado ideas de muchas otras compañías (incluidos los conceptos básicos tomados de estudios antiguos realizados en PARC) y cuando no pudieron, simplemente compraron a sus competidores. Mire el producto insignia Microsoft Office: varios de sus componentes más tradicionales han sido creados por compañías que luego compró Microsoft.

Mire lo que Facebook está haciendo con Snapchat y Whatsapp: compraron directamente este último y están “robando” características de Snapchat una por una e implementándolas en sus propios productos.

No hay leyes lo suficientemente fuertes como para detener a un gigante tecnológico, simplemente comprarán al competidor y / o sus patentes, presionarán agresivamente por sus cosas, implementarán sus cosas fuera de los EE. UU. / Donde están prohibidas .

El software de licencia tiene otra ventaja en lugar de simplemente copiar, incluso si es de código abierto: el año pasado, se descubrió que la biblioteca SSL de código abierto, que cifra el tráfico de Internet utilizando el protocolo HTTPS y es utilizada por casi todas las empresas de servicios de Internet. tener un error Parece que durante dos años, casi todo el tráfico de Internet que se suponía que estaba encriptado, en realidad no estaba encriptado.

Afortunadamente, el error se encontró antes de que cualquier malware pudiera usarlo (hasta donde sabemos), y los servidores se volvieron rápidamente a una versión correcta anterior del código, hasta que se distribuyó una solución.

El código fuente abierto generalmente está protegido por una cláusula de “sin garantía”, por lo que este incidente terminó sin ninguna demanda. Pero si alguna compañía hubiera copiado el código y lo hubiera presentado como propio, ¿te imaginas lo que podría haber pasado si un cliente realmente fue dañado por el error?

Todas las respuestas a continuación abordan la pregunta desde el aspecto legal. Este enfoque supone que si no fuera ilegal, lo cual es, estaría bien. Esta pregunta se aborda en la filosofía secular como La ética de la reciprocidad o en la literatura cristiana como La regla de oro. Codificamos la moral en leyes, pero existe una ética subyacente y una suposición de rectitud o justicia que sustenta las leyes. Entonces, ¿por qué no solo tomamos el código y lo modificamos lo suficiente como para evitar enredos legales? Porque no quisiéramos que otros nos hicieran eso; Por lo tanto, está mal. Hacer menos es contribuir directamente al declive de la civilización y socavar el mejoramiento del mundo. Tal vez no sea la respuesta que todos buscaban, pero resuelve muchos otros problemas además de la infracción de derechos de autor de software. (Sé que esto supone derechos de propiedad; la discusión de eso frente a la propiedad corporativa o no está fuera del alcance de esta pregunta).

Según tengo entendido, cuando AMD clonó los chips Intel, usaron un diseño de sala limpia y dividieron a su equipo de ingeniería en dos. El equipo sucio analizó y documentó los códigos de operación Intel (es decir, los comandos que el sistema operativo envió a la CPU). La especificación se transfirió luego al equipo limpio que volvió a implementar la CPU a partir de la documentación.

Dado que el equipo limpio nunca ha encontrado el código original, pueden montar una defensa (con éxito variable) de que su trabajo no se deriva en modo alguno del original.

Creo que estar en el equipo sucio es una especie de cáliz venenoso, ya que llena su cerebro de conocimiento propicio sucio para que no puedan mezclarse con el resto del personal de la compañía.

Incluso si los competidores de software de alguna manera tuvieran acceso al código fuente de su rival, dicho código suele ser demasiado complicado para simplemente cortarlo y pegarlo en un programa diferente. Intentar hacerlo ciertamente crearía más errores de los que crearía un programador competente que trabaje desde cero.

Además, “ajustar” no es suficiente para evitar cometer una infracción de derechos de autor. No hay límites estrictos sobre cuánto debe cambiarse para que se use de manera justa el trabajo de otra persona. No puede simplemente hacer cambios en el trabajo de otra persona para salirse con la suya robando por un tecnicismo.

“¿Por qué los competidores de software simplemente no copian / pegan código cuando su rival agrega una nueva característica exitosa y la modifica un poco para evitar las leyes de derechos de autor?”

Si comienza copiando y pegando el código para el que no tiene una licencia, ninguna cantidad de ajustes evitará las leyes de derechos de autor.

Comenzaste rompiendo las leyes de copyright. Eso es todo … roto … no puedes deshacerlos con cualquier cantidad de ajustes.


Si desea ser un desarrollador de software de cualquier tipo, es una muy buena idea que se informe sobre la ley de propiedad intelectual y aprenda a leer los acuerdos de licencia.

No hacerlo lo pone en riesgo de problemas legales en el futuro.

No puede simplemente “copiar y pegar” una función, las bases del código serán completamente diferentes, los errores serán completamente diferentes (incluso si el usuario le parece lo mismo). El código real rara vez es la clave para una nueva característica exitosa, sino más bien la idea detrás de él. Incluso si logró obtener el código fuente de un competidor para copiar, es probable que tenga que reescribirlo por completo para que se ajuste a su sistema.

  1. No puede copiar / pegar el código que no tiene.
  2. “Ajustarlo un poco” no evita que caiga bajo infracción de derechos de autor.
  3. Estás tratando de tratar proyectos de software completamente diferentes como construidos a partir de bloques fácilmente intercambiables. Ese generalmente no es el caso.
  4. Copiar el código de su competidor no corrige errores en su código. Eso es solo … NO cómo funciona.
  5. Busque la frase “diseño de sala limpia”.

Si una empresa vende su software, el código casi siempre es secreto, por lo que no hay oportunidad para que nadie lo copie y pegue. El código ejecutable que se ejecuta en su computadora es diferente al código fuente que escribieron los programadores. (Otro conjunto de programas convierte a este último en el primero.) Y el código ejecutable de copiar-ajustar-pegar suele ser más difícil o más trabajo que escribir un reemplazo desde cero (pero no siempre, así que apuesto a que alguien lo ha hecho).

Entonces, por “rival” probablemente esté hablando de un proyecto de código abierto, que generalmente también significa libre / “libre” / “copyleft” (GPL) o cuasi-public-domain (licencia MIT, licencia BSD, licencia Apache) )

Y generalmente es fácil copiar legalmente el código copyleft en su propio proyecto copyleft. Y generalmente es fácil copiar legalmente el código de dominio cuasi público en cualquier proyecto. Y copiar el código copyleft en un proyecto de dominio cuasi público parece raro, porque ¿por qué cometer un delito que todos pueden ver y eso no te beneficia? Entonces, su pregunta es, supongo, preguntar sobre el caso en el que una compañía de software de código cerrado para la venta podría copiar el código de un proyecto copyleft.

La respuesta a su pregunta es: los proyectos de código cerrado probablemente obtengan código copyleft todo el tiempo. Sin embargo, casi nunca por orden de la gerencia, porque los requisitos de licencia de copyleft son como bombas nucleares, y la mayoría de los equipos legales de las compañías simplemente prohiben incluso pensar en ello. Pero rara vez alguien vigila el código que escriben los empleados, y los empleados lo saben.

Respuestas a sus preguntas en los detalles de su pregunta.

  • [ya contestado, creo]
  • Ninguno, no creo, es suficiente la simple ley de derechos de autor
  • Rara vez se reduce a esto en la corte, y si lo hace, es un tiro de mierda lo que dirá el juez y / o jurado inexperto cuando se le presente el par de muestras de código.

La mayoría del software es propietario, por lo que el código fuente no está disponible para copiar, incluso los minificadores pueden ofuscar Javascript. Si desea su función, tendría que realizar ingeniería inversa o licenciarla. O podría hacer lo sensato y escribir la característica de la manera en que escribe cualquier otra característica: pensando, planificando, desarrollando y probando.

Si el software es de código abierto, probablemente lo estén vendiendo como un servicio y planeen superar a sus competidores de todos modos (por ejemplo, reddit)

Porque serás demandado y luego destruido.

Ver:
Caballeros del Silicio – Wikipedia

Primero, el código del rival no está exactamente disponible para usted, y si obtiene acceso, lo más probable es que ya pueda ser demandado por múltiples delitos. Porque necesitarías robarlo. Además, las empresas valoran su reputación. Romper las leyes para obtener características dañará la reputación y provocará pérdidas.

Para fines prácticos, la base de código de otra persona es un gigante que ha estado en desarrollo durante muchos años y probablemente siga una lógica muy extraña en comparación con su propio producto. No podrá copiar y pegar nada y hacer que funcione.

Entonces, básicamente, copiar y pegar el código de otra persona no es exactamente práctico y puede matar a su empresa. Por eso no lo hacen.

Por supuesto que lo hacen cuando pueden. Se espían entre sí, realizan ingeniería inversa entre sí y ni siquiera se preocupan por disfrazarse porque para probar el robo, tendrías que revelar tu código a todos, no solo al competidor al que estás acusando, además de que deberías admitir que código de ingeniería inversa o robado del competidor al que está acusando.

Pero los fabricantes de automóviles hacen lo mismo, los fabricantes de electrónica hacen lo mismo …

La mayoría del software comercial de valor está protegido por patentes, no por derechos de autor, y no puede eludir una patente cambiando un detalle.