Puppet Labs (see Puppet Enterprise - managing physical, virtual or cloud-based systems for more information about Puppet Labs) just launched Faces, an API allowing developers to extend and use the capabilities of Puppet to manage physical, virtual or cloud systems. Faces is part of the most recent Puppet 2.7.0 release, which is also available to download today under the Apache 2.0 license.
Why add an API?Puppet has always been known as a model-based management environment. It is in use in thousands of places. The catch is that it was necessary to learn a command-line interface in order to make the most use of the capabilities of Puppet. That meant that allowing end users to manage components of their own IT environment wasn't practical. Puppet Labs developed a set of APIs making it possible for IT develop tools that made it possible to delegate management of local resources to nearby end users.
While I'm certain that users of Puppet Lab's technology will welcome Faces, what caught my eye was changing the open source license.
Changing Open Source LicenseOne of the more interesting changes Puppet 2.7.0 was that the research is protected by the Apache 2.0 license rather than the GPLv2 license used to protect code for Puppet 2.6.x and earlier. Why would they do that, I wondered.
While contemplating on that question, I came across a number of articles that seemed to offer an answer. One of them was published by my colleague, John Carroll, called The crux of the GPL problem. It appears that some developers are not happy with the wording or the provisions of GPL V3.
These developers appear concerned that GPL V2 seemed to solve the problems that they experienced when working with open source code. These developers questioned the need for an update to GPL V3. They were concerned by the complex language that described use restrictions and control of digital rights management (DRM).
Has GPL V3 become a problem?Companies using software developed using the open source model have mentioned that they are concerned that the use of open source projects could "contaminate" their own internal development projects forcing them to treat their own internally developed code as open source. While I'm not sure that is really true, I heard that concern quite often.
Puppet Labs has moved to the Apache 2.0 license, to address these concerns and make it clear that it wants its technology to become pervasive and it believes that the Apache 2.0 license will help make that possible. Will it make a different in how Faces and Puppet Enterprise are received? We'll have to watch what happens.