blenderplayer.exe license?

Can .exe have different license like MIT? ;only .exe btw, not source; Would it be hard to do? It’s literally only thing that pushing me; not only me?; away from BGE. Not being able to pack my .blend file into .exe hurt. Not like I don’t mind having open source game BUT giving people ability to ‘hack’ directly via game engine source file feel strange, especially when game have online features.

IMHO different license on blenderplayer.exe would attract more people to BGE.

No! The blenderplayer is GPL and there is no legal way for you to change that.

Please read the according sticky thread.

Online games can be hacked even on closed source. Why should it be more strange? If you are going to implement online features (yes, you need to do that by yourself) you have to cope with potential harmful input anyway. This has nothing to do with licence.

Doors can be opened even if they are locked. Yet people lock them anyway. Binding .blend file with blenderplayer.exe and obfuscating .exe is safer than giving away your security related functions in .blend file where they can easily be changed. Anyway thanks for answer. It look like blender sucks when comes to commercial games :confused:

Nothing prevents you from creating a commercial game. Nothing stops you from selling it. You can even sell Blender.

There are simple ways to legally protect your part of a game.

The technical protection is different but possible. This does not mean you magically can change the licence on work that is not yours. There are discussions on technical protections.

Btw. Extracting the blend from the application file is pretty simple. Do you have something that needs it?

Anything electronic is hackable. That’s just life
Why is a GPL so annoying?

I find that ironic that you can sell an open source (and free) software…

Although I don’t need to extract a blend from an exe, how would you anyways?

But I agree, not being able to pack your blend into an exe is annoying…

Not so simple when file is obfuscated. Beside that it’s easier to xor some values you trying to hide in exe than in plain text.
For example I’m worried that someone will be able to just make animation time 0 for some hit recovery time and cheat this way.

I can tell from looking at code that is not >=P
e.g. ‘nice’ will not work on Windows OS you need to use
p = psutil.Process(os.getpid())
p.nice(19)
https://code.google.com/p/psutil/wiki/Documentation
and I’m sure windows can’t find blender by default.

If I can pack it into encrypted .exe than I’m interested. Can I request windows version?

As far as I know the addon does not obfuscate anything. It binds the .blend with blenderplayer.exe ( and makes the result GPL).

If you want to obfuscate, you might use a different application that allows this. It does not even need to ge gpl as long as sou do not bundle it with Blender. Nevertheless the result remains GPL and you need to provide the sources.

It seams you want to prevent manipulation of the used application. As said, this is a problem of each distributed game, you need to deal with incorrect, manipulated and harmful input. There are several ways to implement indicators to indentify manipulations. This has nothing to do with the licence.

It IS a windows version. But that Nice is NOT from psutil, and psutil is NOT from stdlib.

It seems it can, Ive tried and command line variables works there too, like on Linux.

blender = “path/to/blender.exe”

Since it can be anywhere, with any name.

There you go Sir: https://github.com/juancarlospaco/bgelauncher/commit/d466969cba32465d475bf5f1caf63689eb8af449

That would be more than enough. There are many obfuscation methods available for C++ executables. But GPL.

Yup, GPL. I’m sure that data sent to blenderplayer can’t be obfuscated so even if I crypt .blend file communication is still transparent.

Security is a tricky part but security aside. It would be nice to release game as ready to go game.exe and lock/nop some functions that blenderplayer.exe gives.
I would not even mind opens source but bungling blenderplayer with .blend makes it GPL -_- so it look like there is no way out of this GPL hell.

Thank you very much!

I do not understand why you think it is a hell. You greatly benefit from the GPL as you can use these applications as you want. You can modify it, you can even sell it. You do not pay any money for distibution or features if you do not want.

You do not need to release your game as GPL if you do not want it to be GPL. Simply do not bundle it with an GPL application!

I do not understand how that can be a problem. Delivering a single application file is a small an very unimportant feature.

While the GPL can indeed be rather inconvenient for some, please note that you’re wanting to get into a heavily saturated market that receives hundreds of new games a week and even the more successful ones sometimes lose perhaps 80 percent of their potential revenue to piracy and copycats (it doesn’t matter what engine the product is made in).

I estimate (from looking at Google Play app. download numbers) that around 10 percent of game makers make a few thousand dollars on a single product and very few of them manage to generate a solid income. I simply decide to make games for free because I’ve since moved to making another product type with much higher monetary potential.

I think making encryption the default option would help defeat this notion (if BPPlayer could be bundled with Blender). The default option is to pack it into the executable making it GPL, and so when everyone goes to export their game they go WTF.

Ton is copyright holder, …copyright holder can re-licence into another licence if want to, by definition,
he can add MIT, BSD, Apache2, etc to BlenderPlayer tomorrow if he wants, the reason is not like that is because he dont want to or no one seriously asked for it.
If anyone wants an extra licence to BGELauncher just fill a bug for it.

So far I think that Forced Encryption by default is way too much for Blender…

No, Ton just chairs the BI.

The license requires all contributors to agree to a relicensing, which given the age of the application is nigh on impossible at this point.

Who is the copyright holder then ?, a Person must be copyright holder, physical or legal but still, and copyright holder by definition, is the one that holds the copyright, theres other Open Source Free Libre projects that changed their Licence too, so its not imposible, even more if the copyright holder still exists :slight_smile:
Whatever, make a meeting on BI, round-table, take the decision, profit…

BTW I added “Case Studies” to link BGELauncher users (in this case for Commercial, for real, for profit) https://github.com/juancarlospaco/bgelauncher#case-studies

Technically, I’m a copyright holder! :cool:

Basically, two copyright processes for open-source:

  • Individual copyrights - users retain individual copyrights to contributed source code; e.g. Blender, Linux
  • Contributor License Agreements (CLA) - users hand over copyright to project owner; e.g. Canonical

In the case of Blender, you’d need permission from everyone that ever contributed to agree to the license change, which will not happen as agoose pointed out.

But Im not saying to remove GPL, or even touch it,
Im saying of adding an additional optional Licence.

Copyright holder is not all occasional contributors,
sending an invalid bug or broken pull request dont make me owner of the project.

Not the whole Blender, since dont needed, but the blenderplayer.

Not to toot my own horn, but yes I actually contributed a patch to Blender and the source code I wrote is literally in the Blender source code. It doesn’t matter how big or small your source code contribution is, if something you wrote is in the Blender source, you are a copyright holder, even if just one time.

What you’re referring to is multi-licensing, which Blender briefly did in its early years, but eventually gave up. To add another license is to change the existing license so you’d still need permission from all the copyright holders (IANAL). Although usually, multi-licensing uses CLAs.

Blenderplayer links to the Blender “core” so you’d need to break that dependency, which is not as simple as it seems…

You can write your very own blenderplayer. Then you can distribute as you like. The structure of the .blend file is known (but not fixed). But you are not allowed to use a tiny bit of the Blender or Blenderplayers sources.

Still what is the problem? You talked about detection of manipulated clients. This is a different topic. Licences do not cover that in any way. Indeed it is easier to manipulate the client if you know the sources. The issue itself will not be resolved.

On the other hand The server needs to verify inconsistent input even without manipulated clients. You already need a method to check matching client versions etc… You can do what others already do, provide a basic managment client, that downloads the latest game client when necassary. You can even have this manager GPL while the downladed data is non-gpl. Who cares if it downloads one large file or several small files. They user would not even see that…