toc/projects/fluentd/fluentd-graduation-proposal.md

4.6 KiB

Fluentd Graduation Application

Fluentd project has been in incubation for more than two years. The following application links to the required information to become a graduated project plus some additional information about it growth.

Fluentd Adoption and Ecosystem

In terms of adoption, It's hard to measure the real numbers of deployments of Fluentd, but based in the public statistics considering only our own Docker images, in the last years we see more than 48 million pulls.

As a reference of adoption by known companies, we can see that Fluentd plays an important role in the following production environments:

Understanding Fluentd and it Ecosystem

Fluentd have a different ecosystem model than other projects, it's composed by a small and stable code base and most of the functionalities are available through plugins which can be: inputs, filters, parsers, buffers and outputs.

Most of contributions to Fluentd happens through the implementation of plugins, where the majority of them (> 900) are maintained by different companies and individuals. Since the nature of Fluentd language in Ruby and C, these extensions are available through the common Ruby Gems channels and Fluentd offers a built-in tool to install any plugin available.

note: during the last year we have seen a 50% decline of the number of companies contributing to the code base (Fluentd core), while at the same time a huge increase in the number of contributions to it ecosystem through plugins.

Progress since joining CNCF as an incubation project on December 2016

To graduate from inception or incubating status, or for a new project to join as a graduated project, a project must meet the incubating stage criteria plus:

Have committers from at least two organizations.

Have achieved and maintained a Core Infrastructure Initiative Best Practices Badge.

https://bestpractices.coreinfrastructure.org/projects/1189

Adopt the CNCF Code of Conduct.

https://github.com/fluent/fluentd/blob/master/code-of-conduct.md

Explicitly define a project governance and committer process. This preferably is laid out in a GOVERNANCE.md file and references an OWNERS.md file showing the current and emeritus committers.

https://github.com/fluent/fluentd/blob/master/GOVERNANCE.md

Have a public list of project adopters for at least the primary repo (e.g., ADOPTERS.md or logos on the project website).

https://github.com/fluent/fluentd/blob/master/ADOPTERS.md