Search code examples
gitopen-sourcepuppetforge

Publishing Modules to the Puppet Forge


I'd like to start publishing modules to the Forge and/or GIT. However, I'm pretty new to this. I was thinking that the reference to the Apache 2.0 License in metadata.json was enough to be construed as an official license for the module. However, looking quickly at the Apache site on how to apply the license it looks like one has to, at a minimum, include a full copy of the license file and create a NOTICE file. Can anyone provide guidance on how to properly license a Puppet module?

I am also not familiar with pushing stuff to GIT. Is there a concise guide out there for this sort of important information and any other gotchas for publishing modules?


Solution

  • As you say, if you want to use the Apache 2.0 license, your Puppet module needs:

    • LICENSE, which should have the content given here.
    • NOTICE, which should have content according to instructions given here.
    • and in metadata.json, "license": "Apache-2.0"

    See also Apache's documentation.

    For Github, start here.

    For publishing on Puppet Forge, start here.