Publicando jogos feitos com o Blender

Quando você cria um jogo na Blender Game Engine (BGE), uma das primeiras coisas que você pode querer fazer é publicá-lo, certo? Entretanto, se você distribui seu trabalho, deve se preocupar com o uso que as pessoas irão fazer dele. Indo um pouco mais longe: e se você quiser comercializar seu jogo, como proceder?
Todos sabem que o Blender é open source, ou seja, você pode baixá-lo e usá-lo, mas também pode baixar todo o seu código fonte e o modificar livremente. Isso acontece graças a licença sobre a qual o Blender é lançado: a GPL. Essa licença diz, basicamente, que toda obra que é lançada por ela deve ser open source.
Portanto, eis alguns fatos importantes:
-O Blender e o Blender Player estão sobre a proteção da GPL
-A GPL diz que tanto o código fonte do Blender quando do Blender Player devem ser disponibilizados livremente
-A GPL diz que qualquer obra resultante de um software GPL é de propriedade do autor e pode ser distribuída e licensiada como ele bem entender
-Portanto, todos os seus renders, animações, scripts e até mesmo os próprios arquivos .blend se enquadram no ponto acima.
-Quando você gera um runtime (.exe) a partir do Blender, ele vai empacotar seu .blend com o Blender Player, tornando o seu jogo um executável (.exe)
-Como o Blender Player não é de autoria sua e é licensiado pela GPL e seu jogo está empacotado junto com ele, seu jogo também deve ser open source, ou seja, você deve liberar o .blend junto com o jogo
Muito bem, então você modifica um software GPL (o Blender Player) e tem que distribuir o código fonte (.blend) junto com ele e, com isso, contribuir para o conhecimento geral dos usuários do Blender. Entretanto, nem sempre isso é possível ou desejável. Se você passou meses trabalhando num jogo para no fim das contas ter que publicá-lo como open source, isso não é uma coisa muito justa, certo?
Se você fez seu jogo para um cliente ou pretende comercializá-lo de alguma forma, isso é uma coisa que a GPL permite, desde que o código seja publicado junto com o jogo, ou seja, quem comprar seu jogo em formato runtime (.exe) irá também ter acesso aos arquivos .blend que você tanto sofreu para construir. Então, como contornar isso e comercializar seu jogo de uma forma juridicamente correta?
Partindo do princípio de que o jogo, enquanto ele estiver no formato .blend é de total propriedade sua e que você pode comercializá-lo como bem quiser, então se você não quiser liberá-lo como open source você pode fazer isso. Entretanto, publicar seu jogo como um .blend é a mesma coisa que publicar seu código fonte, além de que as pessoas que o comprarem irão precisar ter o Blender instalado para jogá-lo e isso não é nem um pouco bom.
O correto é que ele seja publicado na forma de um executável (.exe), certo? Mas como fazer isso sendo que se você usar o Blender Player para executá-lo irá ter que liberar o .blend junto? Uma das alternativas é o BPPlayer, que é uma espécie de Blender Player não oficial e não licenciado pela GPL que lhe permite publicar seus jogos sem ter que publicar os arquivos .blend junto. Além disso, ele possui uma boa encriptação para evitar que espertinhos extaiam o .blend do seu .exe e consigam, assim, ter acesso ao código fonte.
Outra alternativa é esperar que o gamekit fique pronto. Ele é um projeto parecido com o BPPlayer, entretanto ele não irá usar a Game Engine do Blender para executar seu jogo, mas sim uma série de outras engines que lhe permitem publicar seu jogo sem ter que liberar o .blend junto. Ele importa um arquivo .blend, o converte e distribui entre as diversas engines, ou seja, os gráficos vão para a Ogre, as simulações para a Bullet, etc. Além disso, seu jogo poderá ser rodado tanto em Windows, quando em Linux, quanto em Mac, quando em iPhone.
A alternativa que a Blender Foundation recomenda é que você use o Blender Player apenas para carregar seus arquivos .blend externos a ele. Ou seja, você cria um atuador do tipo Game para carregar um arquivo .blend e executá-lo no Blender Player. Como esse arquivo não estará empacotado junto com o Blender Player, ele é de propriedade sua e você poderá comercializá-lo sem problemas, mesmo que use o Blender Player. Caso a sua licença para os .blends não permita modificação e algum espertinho o fizer, você pode processá-lo, pois seus .blend estão protegidos por direitos autorais.
Outra coisa é que o atuador do tipo Game consegue carregar arquivos com qualquer nome e extensão, portanto se você renomear seu arquivo "fase1.blend" para "fase1.mdmg" ou "fase1.oodo" ou qualquer outro formato, o atuador irá conseguir executá-lo sem problemas. Isso é uma forma de fazer com que seus arquivos fonte não fiquem tão expostos assim. Se o usuário, por exemplo, tiver um software que trabalhe com o formato .mmdg e tentar abrir seu arquivo, ele provavelmente não irá conseguir.
Se você não contar a ninguém que seu jogo foi feito no Blender fica mais difícil ainda, pois quem irá adivinhar que os arquivos .mmdg são na verdade arquivos .blend camuflados? Outra coisa: se o seu jogo será publicado para um público maior, ou seja, não apenas a comunidade de usuários do Blender, mas com qualquer um que o comprar, então essas pessoas muito provavelmente nem saberão o que é Blender ou Python e, mesmo que consigam abrir os arquivos, não irão saber muito bem o que fazer com eles.
Outra alternativa, é claro, é gerar o runtime e usar o Blender Player mesmo assim, pois segundo fiquei sabendo: "a Blender Foundation não vai te processar por publicar um jogo sem o código fonte".
Por fim, você pode recriar todo o jogo em outra plataforma cuja licença lhe permita publicar o jogo sem ter que divulgar o código fonte junto, como a UDK.