¿Por qué los desarrolladores de juegos no lanzan su código fuente?

34

Me preguntaba por qué los desarrolladores de juegos AAA no publican sus códigos fuente después de que su juego se agotó y el soporte se haya ido.

Por supuesto, existe esta lista , donde puedes encontrar muchos juegos AAA con código fuente disponible.

Parece que no entiendo por qué otras compañías no hacen esto con sus viejos juegos. Ciertamente ya no lo admiten, y las ventas son insignificantes. Ni siquiera estoy seguro, si liberar la fuente afectaría negativamente las ventas de un juego.

Estoy seguro de que muchos juegos, que están condenados por el cierre de gamespy , podrían ser salvados por la comunidad, si se publicaran sus códigos fuente.

VSZM
fuente
55
Problemas legales con bibliotecas de terceros. Además, el hecho de que el juego ya no se venda no significa que el código aún no esté en uso.
Ben
13
No estoy tan seguro de que esto sea específico para el desarrollo del juego. Esto es general para todos los desarrolladores.
MichaelHouse
1
@ Byte56 Creo que es particularmente relevante aquí, ya que en muchas otras áreas del software no es inusual que se publique software de origen a muy antiguo, creo que la situación del middleware de juegos lo impide casi por completo con los juegos.
Vality
2
El código de fuente abierta no es gratuito. Lleva tiempo mantener, atender las solicitudes de extracción y lidiar con los correos electrónicos de soporte inevitables que genera.
superluminario
Creo que hay muchos juegos antiguos, que se beneficiarían de ir a código abierto. Muchos juegos antiguos todavía tienen jugadores, y si la comunidad pudiera hacer sus propios parches, quizás algunos jugadores nuevos comprarían el juego anterior.
VSZM

Respuestas:

56

La respuesta corta es porque generalmente es un campo de minas legal, y generalmente hay poco o ningún retorno de la inversión que una empresa necesitaría realizar el esfuerzo.

El código fuente y los activos de un juego son propiedad intelectual. No siempre es cierto que todo el código fuente y los activos son propiedad de un único estudio de desarrollo. Por ejemplo, el estudio puede haber licenciado el código fuente de algún motor y haber realizado modificaciones a ese código.

Eso significa que el estudio necesitaría identificar y eliminar cualquier código fuente o activo para el que no tenga la licencia para redistribuir o volver a publicar. Del mismo modo, tendrían que examinar todo el código base para encontrar referencias a secretos comerciales u otros conceptos que todavía están obligados por acuerdos legales a mantener en secreto o contenidos. Probablemente quieran raspar el código fuente para comentarios o referencias potencialmente ofensivas que pueden reflejar mal en la empresa.

Eso es mucho trabajo para una base de código no trivial, y eso solo supone que la propiedad legal del código es clara. En muchos casos con este tipo de juegos, el titular original de la IP está fuera del negocio o se disuelve de otra manera, y luego tienes el desorden de quién posee qué de los restos del estudio. Esto puede ser un lío legal extremadamente complejo dependiendo de cómo fue el estudio y cuáles fueron los acuerdos iniciales de incorporación.

Dado que, en estos contextos, los juegos en cuestión ya no son populares, es poco probable que un estudio (o el titular de IP post mortem) vea algún tipo de retorno de la inversión necesaria para limpiar y resolver todos los problemas legales y de otro tipo con el código. Si no se examinan adecuadamente todas las legalidades de propiedad intelectual pendientes en una publicación de código fuente, el titular de la propiedad intelectual de alguna propiedad violada puede presentar una demanda o tomar otras acciones legales contra la empresa.

Por supuesto, dicho todo esto, hay otra razón bastante común que es relativamente ortogonal a los problemas legales: simplemente no quieren hacerlo. Tal vez no les importa, tal vez esperan reutilizar parte del código más adelante en una revitalización del juego original, etc. Es su IP, pueden elegir cómo distribuirla. O si distribuirlo en absoluto.

Josh
fuente
2
"Si eso no va a generar ingresos, no lo hagas". Por otro lado, incluso los juegos antiguos todavía se venden en sitios como GOG.
Kromster dice que apoya a Mónica el
11
Eso me recuerda la historia de Jedi Knight II y Jedi Knight: Jedi Academy, que se lanzaron en github y luego se eliminaron 2 días después debido a problemas de patentes en algunos componentes del código.
Lærne
"tal vez esperan reutilizar parte del código más adelante en una revitalización del juego original" o más probablemente ya lo hayan vendido o hayan vendido parte de él a otra persona ...
comenzó el
y luego está la obra de arte asociada, que es una lata de gusanos completamente diferente (pero relacionada). Y especialmente en los juegos antiguos, la obra de arte a menudo se codifica en los archivos binarios del juego, por lo que no se puede extraer y eliminar fácilmente del archivo de distribución de origen.
Jwenting
IP significa propiedad intelectual, ¿verdad?
Pierre Arlaud
24

Un aspecto que no se ha mencionado antes con respecto a cuestiones legales son las patentes de software.

Con un montón de cosas locas que están patentadas, las compañías pueden tener miedo de publicar el código fuente en caso de que alguien descubra que el juego que hicieron millones ha violado un par de cientos (frívolas) patentes, y de repente se inundan con demandas judiciales ... que pueden ser costosas incluso si "ganas".

(Hasta donde sé, esto no ha sucedido hasta ahora con el código fuente del juego lanzado, pero me sorprendería si los trolls de IP no estuvieran extrayendo todo el código fuente que Microsoft ha abierto para varias violaciones de patentes de software ...)

Jari Komppa
fuente
44
Seguramente quiere decir, "¿los trolls de IP están promoviendo valientemente la innovación al garantizar que haya una industria rentable dedicada a comprar y monetizar los derechos de los inventores sobre sus inventos"? No lo creo.
user44630
6

Además de lo que dijo Josh Petrie, también está la cuestión de hacer que algo funcione correctamente.

Un ejemplo de este tipo que recuerdo es cuando se lanzó el código fuente de Penumbra. Gran repositorio de github hecho público para el soporte Humble Bundle. Tenía notas de compilación y todas las bibliotecas necesarias para compilarlo. Sin embargo, a la mayoría de las personas todavía les tomó varios días antes de que pudieran construirlo adecuadamente.

Te sorprendería lo que pueden hacer unos años. Las API cambian para bibliotecas de terceros, y muchas cosas ya no son válidas en cuanto a documentación. Angelscript fue un gran problema para Penumbra porque los cambios de API entre versiones fueron enormes.

El otro gran problema es que rara vez vale la pena publicar el código fuente en un gran juego. Especialmente si una empresa pone una licencia bastante restrictiva sobre los activos y el motor, esto plantea un gran problema para las personas interesadas en el código. Por lo general, esto es para proteger el trabajo de los desarrolladores, pero muchos juegos de código abierto como ese restringirán a cualquiera de hacer un juego comercial con su antiguo código.

Entonces, el juego de código abierto se convierte en una posible experiencia de aprendizaje en el mejor de los casos. No conozco muchos motores, pero la mayoría de los de código abierto que he visto no son los mejores ejemplos. Funcionan porque muchas personas dedican miles de horas a ellos. Sin embargo, muchos juegos y motores como ese tienden a ser hack-ish, y están hechos para un propósito muy específico que tiende a no ser útil para los desarrolladores en ciernes.

Incluso si alguien tuviera en sus manos el código fuente del motor Source, por ejemplo, no sería muy útil si quisieran aplicarlo a su propio proyecto. Simplemente estarían abrumados.


fuente
2
Si bien es cierto, esto es (y no debería ser) una barrera para liberar el código fuente. Ha habido proyectos de código abierto para portar juegos antiguos sobre SDL que han tardado meses en ejecutarse, pero la gente todavía se ha esforzado por hacerlo.
Jari Komppa
Estoy 100% de acuerdo en que no debería, pero es una gran decisión que varios estudios considerarán antes de esforzarse por hacer el lanzamiento.
De hecho, me ofrecí a hacer la limpieza de forma gratuita a varias compañías, sin participantes (gracias a Remedy por permitirme hacer el puerto del Rally de la Muerte =)
Jari Komppa