Collaboration and sharing - Our plans for 2021

April 15, 2021

As we’ve hinted at before, 2021 will be a big year for CFEngine. In the summer, we will release CFEngine 3.18 LTS. This is the first LTS release with Compliance Reports, Custom Promise types, and all of the other improvements we’ve made over the past year.

Collaboration

In addition to implementing valuable functionality for our users, we are focusing on better ways of interacting with them, and more opportunities for contribution, collaboration and sharing. The beginning of this was the introduction of GitHub Discussions - a platform where users can ask questions, submit ideas, or show off their CFEngine-related creations. One month later, in March, we launched our new website. The new website should make it easier for users to find what they’re looking for, and also has some sections with great content, such as videos, case studies, and white papers. Now, we are excited to share our plans for the rest of the year.

Sharing

We’ve gotten consistent feedback that users want more examples and places to find policy that is easy to reuse. This is especially important for new people who are just beginning to use CFEngine. They want to solve their first use case, deploy their first application, or get ideas for what is possible. You can automate anything in CFEngine policy language, but it’s not always obvious how, especially to inexperienced users. Modules, as well as bundles and bodies, can be imported and used in policy language, to abstract away low level details. But there is no obvious place to look for what modules and bundles you should use. Additionally, if you download / copy-paste someone’s code to reuse, there are no good mechanisms for keeping these dependencies up to date.

In 2021, we will solve this. By the end of the year, we are launching tooling and a new website for sharing CFEngine modules and policy. The tooling will allow you to download dependencies, combine them into your policy set, and keep them up to date. Your data, your policy, and your dependencies will be separate. This is important as it makes updates easy, and allows policy and modules to be reused by different users, and in different environments, without editing the source files or manually copy-pasting anything. On the website you will find modules made by the CFEngine team, as well as contributors, with easy instructions on how to get started. There will also be categories for the most popular content as well as our recommendations. All of this will be available to both open source and enterprise users, allowing everyone to share and collaborate.

Community feedback

In order to make the content as appealing and useful as possible, we are looking for your ideas. Please tell us what you first wanted to automate, or what promise types you think we should add, in this discussion:

https://github.com/cfengine/core/discussions/4593

We intend to collaborate with the community throughout the year, sharing our design, technical details, and asking for your opinions. Stay tuned!