Should I learn CFEngine before starting to use ncf?

In short, no, it is not necessary. ncf was designed to make using CFEngine easier, so learning the full syntax is not a prerequisite to using ncf. ncf should enable you to start using CFEngine quickly.

However, it will be useful to you to know the concepts behind CFEngine (language basics, desired state, convergence, client-server communication in particular).

If you want to edit or add your own generic_methods, then you will need to learn more about the CFEngine language.

What does ncf stand for?

ncf is an acronym, but it does not have just one meaning. Keywords may include CFEngine, configuration, framework, new, nice... The exact meaning is left to users imagination :)

What license is ncf under?

ncf is under the GPLv3 license. ncf's authors are strong believers in free software and will do whatever possible to ensure this code is usable by anyone, anywhere.

How can I contribute to ncf?

Please submit a pull request on the ncf GitHub repository. All code (CFEngine policy and Python helper scripts) as well as documentation (including this web site) are generated from this repository.

We really welcome any and all contributions. Improving the documentation is a great start! New generic_methods are very welcome. Whatever you need to use ncf, please help others by contributing it back.