¿En qué situaciones sería técnicamente "imposible" lanzar un sistema como código abierto?

7

Si bien hay muchas decisiones económicas, sociales y prácticas que se deben tomar al decidir si un sistema debe ser de código abierto, ¿hay situaciones en las que sea imposible, puramente desde un punto de vista técnico, abrir el código de su código? / p>

Esencialmente; una función que cuando el código se hace público, invalida / reduce la funcionalidad de esa función.

Algunos ejemplos en los que puedo pensar:

  • Cheating in Quake : una vez que el juego se lanzó como código abierto, el ID tuvo que liberar un -source 'wrapper' para validar el código del cliente para evitar trampas.
  • Reddit: mientras que la mayoría de la fuente del sitio de noticias sociales Reddit está disponible, sus mecanismos antispam no están disponibles. Si los spammers supieran cómo funcionaban, sería más fácil trabajar alrededor.

Tanto la seguridad relacionada como la consecuencia del uso de implementaciones que los expertos en seguridad probablemente desaprueban (Quake: confiar en el cliente, Reddit: seguridad a través de la oscuridad). Si existen alternativas factibles para estas implementaciones es otra cuestión ...

¿Qué otros ejemplos hay de esto? ¿Hay alguna que no esté relacionada con la seguridad? ¿Se deben todas a "soluciones alternativas" para que nuestros sistemas funcionen con la tecnología que tenemos?

    
pregunta Tom 22.01.2011 - 15:17

10 respuestas

8

Sí: escribiendo el binario EXE o ELF usando directamente un editor hexadecimal.

    
respondido por el vz0 22.01.2011 - 15:41
3

Esencialmente, está buscando las características de un sistema que se base en que usted no sepa cómo funciona un sistema. Algunos ejemplos:

  • La seguridad es el ejemplo más obvio de esto.
  • Algunos juegos pueden perder funcionalidad si puedes descubrir el secreto para ellos.
  • Algunos programas podrían depender de un sentido de misterio por razones psicológicas. Por ejemplo, Pandora fue hecha para ser DJ personal de la gente. ¿Sería tan efectivo si las personas conocieran los entresijos del algoritmo? Un DJ es una persona, un algoritmo no lo es.
  • Supongo que también podría considerar la protección contra la seguridad como otra pieza de software en esta categoría. Los virus y los gusanos son mucho más fáciles de vencer si el autor te entrega el código fuente.
  • Una IA que se usará en una prueba de Turing podría comprometer su funcionalidad si la gente supiera cómo funcionó (aunque si fuera buena, probablemente sería lo suficientemente compleja como para que esto no sea un problema). >

Admito que algunos de estos son un tramo, pero esa es la lista más completa que puedo encontrar en este momento.

    
respondido por el Jason Baker 24.01.2011 - 03:53
2

Puedo pensar en varios paquetes que realizan evaluaciones comparativas de ciertos productos u organizaciones (como productos bancarios, seguros, etc.). Me enteré de un caso en el que las compañías involucradas en las calificaciones adaptaron sus procesos no para engañar directamente, sino optimizar para esta clasificación en particular. Después de un tiempo, el editor cambió su opinión sobre la divulgación de los algoritmos de calificación.

Después de haber pensado en lo que está buscando, la mayoría, si no todas, las situaciones que se me ocurren podrían tener para revelar el código fuente por dos razones principales:

1) Mantener su know-how alejado de los competidores. Este no se aplica a la idea de código abierto.

2) Prevenir el robo o los juegos de sistema en sentido amplio, ya que esto devaluaría los resultados / productos del sistema.

Entonces la respuesta a tu pregunta:

  

¿Hay alguna que no esté relacionada con la seguridad?

Es muy probable que "no".

    
respondido por el user8685 22.01.2011 - 15:46
2

Los algoritmos de clasificación de los motores de búsqueda, por la misma razón que los otros ejemplos que enumera: facilitarían su juego.

    
respondido por el Arkaaito 23.01.2011 - 04:41
1

Cuando compra partes de su sistema a otra persona que no le da permiso para lanzarlo como fuente abierta :)

    
respondido por el Hlavac 23.01.2011 - 03:27
1

¿Qué sucede si el código fuente existe en un montón de tarjetas perforadas en algún laboratorio de computación de la universidad? Puede que no haya una buena manera de hacerlo en forma electrónica.

    
respondido por el dsimcha 23.01.2011 - 04:35
1
  

Si bien hay muchas decisiones económicas, sociales y prácticas que se deben tomar al decidir si un sistema debe ser de código abierto, ¿hay situaciones en las que sea imposible, puramente desde un punto de vista técnico, abrir el código de su código? / p>

Yo diría que es casi imposible separar "decisiones económicas, sociales y prácticas" de "puramente técnicas".

Por ejemplo, sus ejemplos podrían interpretarse como motivados por razones económicas o sociales. No hay ninguna razón "puramente técnica" para evitar el engaño, o para evitar el envío de spam (o SEO, o ...).

    
respondido por el Stephen C 23.01.2011 - 04:15
1

En general, no puede liberar un proyecto de código abierto si:

  • rompe una ley penal,
  • infringe la ley de propiedad intelectual y los derechos intelectuales (como los protegidos por patentes )
  • contiene contenido con derechos de autor
  • parte de esto no es tu propio trabajo y entra en conflicto con otras licencias
  • contiene algunos datos confidenciales, pero siempre puede cifrarlos (por ejemplo, utilizando BlackBox )

Relacionados:

respondido por el kenorb 21.08.2015 - 16:40
0

Las razones económicas son muchas, no desea que la gente clone su Producto y cree algo mejor que lo que puede ofrecer. También hay aspectos de seguridad que son más serios. Por ejemplo. si Microsoft lo convierte en OS Open source, las personas encontrarán miles de formas de hackear los sistemas existentes antes de que puedan ser parcheados por la comunidad Open source o por la propia Microsoft. La gente podría incluso demandar a Microsoft por el daño financiero causado. Para ser honesto, se necesita coraje para lanzar un producto como Open Source para el cual desea ganar dinero. En mi opinión, la mayoría de las compañías hacen solo aquellos productos como Open Source para los cuales no hay ganancias financieras o quieren promover la base de usuarios de los Productos.

    
respondido por el Geek 22.01.2011 - 15:50
0

Casi mataste todas las razones. La mayoría de las aplicaciones no son de código abierto por razones económicas o de seguridad.

Los proveedores quieren ganar dinero con su software, si lo abren después del lanzamiento inicial, la gente estará enojada por haber gastado dinero en algo que ahora es gratis, y ya no se beneficiará de él.

La seguridad es el otro tema prominente. Las aplicaciones ya existentes, como Windows y Reddit, enfrentarían numerosos problemas de seguridad graves que se habrían abordado mucho antes en el ciclo de vida del desarrollo si hubiera sido inicialmente de código abierto.

    
respondido por el mbreedlove 23.01.2011 - 04:04

Lea otras preguntas en las etiquetas