I have created a piece of software that I have chosen to license under the GPL. Its configuration is technically also code. Are any run-time configuration files also licensed under GPL? Do I have to disclose them if someone asks for them?

The configuration is in a separate repository from the main code, but is imported ("linked", I suppose) in the code. There is confidential information in the config files.

  • 1
    Are the configuration files used at build- or run-time? I.e. are they a part of the "complete and corresponding source" that you would be required to provide or not? – Mans Gunnarsson Jan 30 '17 at 14:55
  • @MansGunnarsson They are used at runtime, yes – tobiasvl Jan 30 '17 at 21:20
  • Does the GPL software include configuration templates or is this something that you've added? How is the configuration applied? – Mans Gunnarsson Jan 31 '17 at 11:26
  • @MansGunnarsson It includes templates (I've made the software). The software is usable without applying my configuration, as it will fall back to default configuration shipped with the software if custom configuration is not present. – tobiasvl Jan 31 '17 at 11:29
  • I'd recommend to provide a "real" template configuration (an "empty" configuration explaining the configuration options and its values as comments only) and release/ship this with another license, for example the same license your documentation ships. – Simon Sobisch Feb 13 '17 at 16:21

First of all, if you have created the software yourself you are not bound by the GPL in any way even if you have chosen to distribute it under the GPL. You own the software, you don't need a license to use it, and you can do anything you want with it. You do not need to disclose anything. The rest of my answer is only relevant for users bound by the GPL.

Regarding the configuration files, if they are required to build the software, they are decidedly a part of the "corresponding source" mentioned in Section 1 of the GPLv3:

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities

Or "complete source" in Section 3 in the GPLv2:

For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.

As long as your software can be built and used without the configuration data itself, the configuration data doesn't belong to the complete/corresponding source. The configuration template files probably do though, but that's no issue I assume.

  • Thanks. I understand that I'm not bound by the GPL. My question was perhaps unclear. Say I distribute my software in a binary. If a user of my software asks me, do I need to provide them with my secret configuration settings (could be things like API keys, tokens, database passwords, etc)? Section 3 in GPLv2 seems to answer that. – tobiasvl Jan 31 '17 at 11:59
  • I'm not sure if it's still unclear, but no, you don't have to worry about the GPL at all since being the copyright owner you don't need a particular license to use and distribute the software. You do not have to provide anything. The GPL comes into play when others want to distribute your software. – Mans Gunnarsson Jan 31 '17 at 12:03
  • It is a little – my question is what part of the source code I need to provide when I distribute my software. – tobiasvl Jan 31 '17 at 12:12
  • 2
    Why do you still think that you have to provide any part of the source code? You own rights to the software and can distrubute it without the source code if you wanted to. – Mans Gunnarsson Jan 31 '17 at 12:49
  • If the application is in GPL, author provides the example configuration in the source-code tree, I assume that the configuration also falls into GPL? – Franklin Yu 2 days ago

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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