It is not uncommon for the source code of projects to be released, but not the assets. Examples include Doom and Quake and many other games.

Now there are many good reasons to do this for the benefit of others (allowing new uses of the core engine, unofficial ports etc.) but what benefits are there for the rights holder? If the assets are not included and others can't build the project then the potential for community bug testing and review etc will be significantly reduced, right?

  • Note that I have written this with a deliberate misconception (for some projects at least), that you can't build the project without the assets, and I'm expecting answers to deal with that in detail. Jun 26, 2015 at 0:33

3 Answers 3


Commercial projects often do this when the assets are the valuable parts. Games are a good example: often what makes a game worth purchasing is not the engine, but the level design, the graphics, etc. Another category of examples is having an open source reader for closed content; in this case the content may be distributed in a standard format for which open source readers are already available, such as PDF or EPUB.

The benefit of not making the asset open source is of course to make money by charging per user.

The advantage of making the engine open source is that you can get others to do maintenance for you. A bug occurs? Some of your tech-savvy users will send a debug trace or even a patch, so it's less work for you to fix it. A new platform comes out? Someone may do the job of porting the engine to that platform. Your engine might be picked up by some free software distributions: free advertising.

Usually some assets are available to everyone, e.g. demo levels. But in any case the people who will be most motivated to work on the open source engine are the ones who have purchased the assets. People can test their modifications on the demo levels or on the commercial levels.


Benefits of open-sourcing the code

are the same as those of any other open source project. The primary benefit to you is your contribution to the open source and programming communities: you have released new code into them which other people can find and make use of. Think: you've just saved someone a lot of time writing up their own flob-detection system. They can just use yours. There are also the points about bug detection, patches and security: many eyes make light (and quick) work.

Benefits of keeping your assets

The assets are usually the bit that takes most effort to come up with. That gives a feeling of personal investment in them, and that you want to be the sole user of them. Beyond that, there's also:

  • Branding
    If you release your assets for everyone else to use, then someone else can copy you. That major new game you just made? Someone can come along, take the code and assets, improve it a bit, merely credit you someone inconspicuous, and have a better version. You lose users and money. And there's nothing you can do about it1, because they followed the license.
  • Originality
    Slightly related to the last point, you want to be original. If you've created something visual, then it seems right that it's yours to use and yours alone: other people should make their own versions of it. Of course they can use yours as inspiration, but they'd have to make them themselves.

Of course, you could also release your assets under a non-open/free license, and charge royalties for their use.

1 Besides going into hefty expensive lawsuits, that is. Or relying on the public's morals (ha ha good joke).

  • 1
    I don't think this is really a useful answer for this question. I'm only asking about benefits for the rights holder, and you only give "bug detection, patches and security". That single sentence is the only thing which addresses the question. Now I wrote this with a deliberate misconception (for some projects at least), that you can't build the project without the assets, and I'm expecting answers to deal with that. Jun 26, 2015 at 0:31

Generally open-source MMOs follow this model, they keep the assets as their own (because of the considerable amount of work involved) and release the code freely, this way they keep control of the assets and are able to received patches from other projects using the same engine.

PlaneShift follows this model and there's some games that are based on their engine (but use none of their assets).

  • Can you explain a little more how the users can generate patches? For this setup to work the assets would have to be decoupled from compilation, is that right? Jun 25, 2015 at 13:24
  • Assets might still be required to run the game or develop for it, see OpenJK for an example. The assets (pk3s) are all proprietary but the engine is open, all of the developers have their own copy of the assets for personal use (even though they can't distribute the assets they can still work on the engine).
    – deepy
    Jun 25, 2015 at 13:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.