Por que os desenvolvedores de jogos não lançam seu código fonte?

34

Fiquei me perguntando por que os desenvolvedores de jogos AAA não liberam seus códigos-fonte depois que o jogo se esgotou e o suporte acabou?

Claro que existe essa lista , onde você pode encontrar muitos jogos AAA com o código fonte disponível.

Parece que não entendo por que outras empresas não fazem isso com seus jogos antigos? Eles certamente não suportam mais e as vendas são insignificantes. Eu nem tenho certeza se a liberação da fonte impactaria negativamente a venda de jogos.

Tenho certeza de que muitos jogos, condenados pelo fechamento da gamespy , poderiam ser salvos pela comunidade, caso seus códigos-fonte fossem lançados.

VSZM
fonte
5
Problemas legais com bibliotecas de terceiros. Além disso, apenas porque o jogo não está mais sendo vendido, não significa que o código ainda não esteja em uso.
Ben
13
Não tenho certeza se isso é específico para o desenvolvimento de jogos. Isso é geral para todos os desenvolvedores.
Michaelhouse
11
@ Byte56 Eu acho que é particularmente relevante aqui, pois em muitas outras áreas do software não é realmente incomum o lançamento de software muito antigo, acho que a situação dos jogos de middleware impede exclusivamente isso quase completamente nos jogos.
Vality
2
Código de código aberto não é gratuito. Leva tempo para manter, lidar com solicitações pull e lidar com os inevitáveis ​​e-mails de suporte que ele gera.
superluminary
Eu acho que existem muitos jogos antigos, que se beneficiariam com o código aberto. Muitos jogos antigos ainda têm jogadores, e se a comunidade pudesse fazer seu próprio patch, talvez alguns novos jogadores comprassem o jogo antigo.
VSZM

Respostas:

56

A resposta curta é porque geralmente é um campo minado legal e geralmente há pouco ou nenhum retorno sobre o investimento que uma empresa precisaria colocar no esforço.

O código fonte e os ativos de um jogo são propriedade intelectual. Nem sempre é verdade que todo o código-fonte e ativos são de propriedade de um único estúdio de desenvolvimento. Por exemplo, o estúdio pode ter licenciado o código-fonte para algum mecanismo e feito modificações nesse código.

Isso significa que o estúdio precisaria identificar e remover qualquer código-fonte ou ativo que ele não tenha licença para redistribuir ou relançar. Da mesma forma, eles precisariam examinar toda a base de códigos para referências a segredos comerciais ou outros conceitos que ainda estão vinculados por acordos legais para manter em segredo ou contidos. Eles provavelmente desejam raspar o código-fonte para comentários ou referências potencialmente ofensivos que possam refletir mal na empresa.

Isso dá muito trabalho para uma base de código não trivial e ainda presume que a propriedade legal do código seja clara. Em muitos casos, com esses tipos de jogos, o detentor do IP original está fora do negócio ou é dissolvido, e então você tem a bagunça de quem é o dono dos restos do estúdio. Isso pode ser uma bagunça legal extremamente complexa, dependendo de como o estúdio foi mal e de quais eram os acordos iniciais de incorporação.

Dado que, nesses contextos, os jogos em questão geralmente não são mais populares, é improvável que um estúdio (ou o detentor de IP post-mortem) receba qualquer tipo de retorno do investimento necessário para limpar e resolver todos os problemas legais e outros com o código. A não verificação correta de todas as legalidades de propriedade intelectual pendentes em uma liberação do código-fonte pode resultar no detentor da PI de alguma propriedade violada entrando com uma ação judicial ou tomando outras ações legais contra a empresa.

Obviamente, tudo o que foi dito, há outra razão bastante comum que é relativamente ortogonal às questões legais: elas simplesmente não querem . Talvez eles não se importem, talvez estejam esperando reutilizar parte do código posteriormente em uma revitalização do jogo original, etc. É o IP deles, eles podem escolher como distribuí-lo. Ou se é para distribuí-lo.

Josh
fonte
2
"Se isso não vai trazer receita - não faça". Por outro lado, até jogos antigos ainda são vendidos em sites como o GOG.
Kromster diz apoio Monica
11
Isso me lembra a história de Jedi Knight II e Jedi Knight: Jedi Academy, que foram lançadas no github e removidas 2 dias depois devido a problemas de patente em alguns componentes do código.
Lærne
"Talvez eles estão esperando para re-utilizar alguns dos códigos mais tarde em um re-vitalização do jogo original" ou, mais provavelmente já tem, ou ter vendido parte dela para outra pessoa ...
jwenting
e há a arte associada, que é uma lata de worms totalmente diferente (mas relacionada). E, especialmente em jogos antigos, a arte é frequentemente codificada nos binários do jogo, portanto, não pode ser facilmente extraída e removida do arquivo de distribuição de origem.
jwenting
IP significa propriedade intelectual, certo?
Pierre Arlaud
24

Um aspecto que não foi mencionado antes em relação a questões legais são as patentes de software.

Com muitas coisas simples e loucas patenteadas, as empresas podem ter medo de publicar o código-fonte, caso alguém descubra que o jogo que eles criaram milhões violou algumas centenas de patentes (frívolas) e, de repente, elas são inundadas com ações judiciais .. que podem ser caras mesmo se você "vencer".

(Até onde eu sei, isso ainda não aconteceu com o código fonte do jogo lançado, mas ficaria surpreso se os trolls de IP não estivessem minerando todo o código fonte que a Microsoft abriu por várias violações de patentes de software.)

Jari Komppa
fonte
4
Certamente você quer dizer que "os trolls de PI estão promovendo valentemente a inovação, garantindo que haja uma indústria lucrativa dedicada à compra e monetização dos direitos dos inventores sobre suas invenções"? Não achava isso.
precisa saber é o seguinte
6

Além do que Josh Petrie disse, há também a questão de conseguir que algo funcione corretamente.

Um exemplo que me lembro é quando o código-fonte do Penumbra foi lançado. Grande repositório do github tornado público para o suporte do Humble Bundle. Ele tinha notas de construção e todas as bibliotecas necessárias para construí-lo. No entanto, a maioria das pessoas ainda levou vários dias para conseguir que ela fosse construída corretamente.

Você ficaria surpreso com o que alguns anos podem fazer. As APIs mudam para bibliotecas de terceiros e muitas coisas não são mais válidas em termos de documentação. O Angelscript foi um grande problema para o Penumbra porque as mudanças na API entre as versões eram enormes.

A outra grande questão é que raramente vale a pena publicar o código fonte em um grande jogo. Especialmente se uma empresa coloca uma licença bastante restritiva sobre os ativos e o mecanismo, isso representa um grande problema para as pessoas interessadas no código. Isso é para proteger o trabalho dos desenvolvedores normalmente, mas muitos jogos de código aberto como esse impedem qualquer um de criar um jogo comercial com seu código antigo.

Então, o jogo de código aberto se torna, na melhor das hipóteses, uma possível experiência de aprendizado. Não conheço muitos mecanismos, mas a maioria dos de código aberto que vi não são os melhores exemplos. Eles funcionam porque muitas pessoas investem milhares de horas neles. No entanto, muitos jogos e mecanismos como esse tendem a ser hack-ish, e criados para um propósito muito específico que tende a não ser útil para desenvolvedores iniciantes.

Mesmo que alguém pusesse as mãos no código fonte do mecanismo de origem, por exemplo, não seria muito útil se eles quisessem aplicar isso ao seu próprio projeto. Eles simplesmente ficariam sobrecarregados.


fonte
2
Embora verdadeiro, isso é (e não deve ser) uma barreira para a liberação do código-fonte. Houve projetos de código aberto para portar jogos antigos sobre SDL que levaram meses para serem executados, mas as pessoas ainda se esforçam para fazer isso.
Jari Komppa
Concordo 100% que não deveria, mas é uma grande decisão que vários estúdios considerarão antes de se esforçar para fazer o lançamento.
Eu realmente se ofereceu para fazer a limpeza gratuitamente para diversas empresas, sem compradores (graças ao remédio para me deixar fazer o porto Death Rally embora =)
Jari Komppa