Can you sell a configuration

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
randalx's picture

Hi,

I'd like to know of it is legal to sell a very customized industry specific configuration. Would you be allowed to restrict the redistribution of this configuration?

So basically the business model would be to not sell or limit Drupal being redistributed, but instead sell and limit the configuration to customers. Of course customers could further alter their particular configuration themselves or as a paid service but would not be allowed to simply share the configuration for free with other potential customers for free.

Thanks!

Comments

Disclaimer: IANAL. If by

cweagans's picture

Disclaimer: IANAL.

If by "configuration", you mean "PHP code" (i.e. any exported things with features, ctools, etc), then no. That code runs in the same memory sandbox as Drupal, and is therefore considered a derivative work of Drupal and is subject to it's licensing requirements as well (GPL2+).

However, in Drupal 8, configuration is stored as YAML files. I think an argument could be made that since those files themselves are not executable code that runs in the same memory space, you could license a particular set of YAML files differently (i.e. commercially). You'd likely still have to write some custom modules to provide your specific configuration and those would have to be GPL, but the configuration files...maybe.

Ask an IP lawyer that's familiar with open source licenses.

--
Cameron Eagans
http://cweagans.net

"Sell"

Crell's picture

You can sell anything people are willing to pay for, including Free Software. :-) What you can't do is restrict copyleft code. As cweagans said, the way D7 works configuration is only sharable as PHP code so that would apply. In D8, it's possibly debatable if the letter of the law would prevent you from restricting it. I would argue that it's definitely against the spirit of the license, though, and the community would likely reject it.

IANAL TINLA OAMYANAE. (Opinions Are My Own And Not Anyone Else's.)

More detail

randalx's picture

Thanks for the quick and informative replies. The goal is definitively not to go against the spirit of the GPL. Any changes to php code would be fully shared. The work for this product would be in the customization for the industry needs and I think this could be achieved through administrative customization of Drupal.

I guess it boils down to how the GPL applies to configuration data. Currently, are people expected to distribute configuration information? Should it make a difference if it's in YAML files or for example in the database. I would thing configuration is really just data, an input to the program but not the program itself.

Configuration is in DB not as PHP?

gisle's picture

What is missing from the question is how you plan to provide the customer with a specific configuration. The answers by cweagans and crell assumes that the configuration is distributed to the customer as PHP - and in that case, the GPL clearly applies.

However, this is not the only way to configure a Drupal site. I believe that "administrative customization of Drupal" is usually done by adding contributed modules/themes to core, and by manipulating settings by means of the administrative GUI and/or the drush CLI. These settings are in D7 stored in permanently in the database (same as with the site's content). If administrative customization of Drupal is done like this, no PHP with the configuration exists.

Let's look at your question assuming the configuration exists in the database of a D7 site, not as PHP files.

I guess it boils down to how the GPL applies to configuration data. Currently, are people expected to distribute configuration information?

IANAL, etc.

The GPL clearly applies to configuration data if that configuration data is distributed as PHP files (as they wold be if you use features to export a collection of settings).

However, there is nothing in the GPL that requires you to export the configuration data in this format. Nor can a customer expect to have the configuration data in such a format, unless specified in the contract.

Should it make a difference if it's in YAML files or for example in the database.

IMHO, no. The GPL does not apply to data. And configuration is in my mind data, not code, even if it is in a set of YAML-files instead of in the database. I don't think considering these excepted from the GPL is in any way against the "spirit" of the GPL.

Legal

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: