TL; DR – gRPC has solid momentum and makes a welcome addition to the CNCF
The Cloud Native Compute Foundation (CNCF) announced on March 1st that they have accepted gRPC as an incubation level project. In terms of direction and momentum for the CNCF this is another positive move – gRPC is considered, in many forward-looking organisations, to be a core component in developing high performance cloud native applications.
Although a project entering the CNCF in the incubation is just the initial part of the process, it is a clear statement of intent that the project originators, Google, want gRPC to develop in an independent manner. As we note later, this will require a significant diversification of the contributor base – but this is also to be expected. Google have put significant engineering resources in the gRPC project for a considerable period.
Three other projects, Apache Thrift, which originated at Facebook and move to the Apache Foundation; Capnproto, predominantly written by one of the original authors of Google Protocol Buffers and FlatBuffers, from Google, come up in conversation when discussing gRPC, albeit for varying reasons. In general, we find that users currently working in this space understand both their technical requirements and related architectural trade-offs they are making when choosing the technologies, they wish to use.
What is, however, fair to is that interest in gRPC has grown at a truly impressive pace.
It is worth pointing out that Apache Thrift development does not take place on github. Stars are, at best, a limited proxy for its popularity.
Contributions and Community Movement
As with other Google contributed projects, most notably Kubernetes, the shift towards community contributions will take time. Unsurprising Google completely dominate contributions to gRPC
There is, however, a good deal of diversity across the userbase logging issues, which indicates a vibrant user community, and bodes well for the future.
Disclaimers: The Linux Foundation, which hosts the CNCF, is a current RedMonk client.