Puppet switching from GPL to Apache licence
Puppet Labs, the developer of the open source configuration management tool Puppet, has announced that, as of Puppet 2.7, it is switching from the GPLv2 licence to the Apache 2.0 licence. In a blog posting, Luke Kanies, founder and CEO of Puppet Labs, explained that the company's goal was "to have Puppet everywhere".
The GPL, Kanies said, was inhibiting that ubiquity because, rightly or wrongly, some businesses believe that the GPL would force them to share their proprietary code. "With Apache, these companies can focus on whether Puppet will make their solution better", he noted, "and not worry about whether they'll have to make significant business changes to use it."
Kanies says that his position comes from a practical perspective, the same one that drove his desire to make Puppet open source, pointing out that it allowed him to bootstrap the company and project at very little expense. The choice for Puppet Labs "comes down to the GPL enabling fewer partnerships but some number of which that pay us, while Apache enables far more partnerships but few (if any) that pay us." As Puppet is meant to be used by system administrators, the company decided to go with Apache as a tradeoff which will see more integrations and embedding.
Puppet is written in Ruby and runs on most Linux and Unix platforms. It uses a domain specific language to describe the desired configuration of the systems. Puppet can then use that description and make the system conform to it by installing dependencies from a catalogue. Puppet 2.7 is currently at release candidate phase while a, still GPL licensed, Puppet 2.6.8 was released at the end of April; both are available to download. Puppet Labs also produces Puppet Enterprise, a commercially supported version of Puppet which is offered as an annual support subscription.