If you're using a library that is licensed under GNU GPL v3 to help develop your application, then from what I understand, you must release your application for free and it's source code.

Is it then possible or permitted to release your application for free, but allow people to purchase content that is separate from its source code and therefore not required to be released with the source code?

For example, consider the following apps where a GNU library helped create the functionality

  • a video player, but the content videos are sold separately
  • a text reader, but the text files sold separately
  • a video game engine for a type of game, but levels, models and overall content sold separately

All the bare core essential source code of the application is released for free under GNU as required by the license, but it's like an empty application, where the content is sold separately.

To solidify it further, think of a language learning app! The bare structure of the app is the menus and functionality to load text and play audio back, and this source code is released. Then sold separately is the language packs which consist of the text and audio files that are not part of the source code. People can also create their own language pack and sell them separately, within the app or their own language learning app that is a derivative of the original app.

From what I understand, all the functionality of the app has to be there in the source code, so you can't create separate modules that introduce new functionality without releasing them as part of the source code - but media like videos, audio, text files, etc... could possibly be released separately?

Although, this leaves me thinking what could be counted as separate content from the apps source code like XML files and where the limits are?

And I suppose too, these downloadable files/content have to be external and therefore loaded from the app from a different directory to not be considered part of the app's source code?

Would the separate content also have to be not sold together with the app?

1 Answer 1


Files that are read as data by the application (i.e. the files may unlock/trigger behavior, but they don't add new behavior or code) are considered independent works of authorship. This means that those files are not affected by the copyright license of the application.

It is not needed that the data files reside in a different directory as the application or that they are never distributed together with the application, but they would have to be different files.

There is a bit of a grey area when it comes to (XML) files that describe the GUI or files that contain translations of the UI. For those it can be argued both ways if they are just data files or not.

Your Answer

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

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