As the Kubernetes project nears 2 million lines of code (including all languages and generated files), the 4-year-old open source project is showing many signs of maturity, according to an analysis by source{d}, the company enabling Machine Learning for large-scale code analysis.
The velocity of commits for the core Kubernetes project seems to be slowing down as the community focus moves to infrastructure testing, cluster federation, Machine Learning and HPC (High Performance Computing) workloads management. With just under 16,000 methods, the Kubernetes API also seems to be stabilizing despite its high level of complexity.
This analysis leverages source{d} Engine to retrieve and analyze all the Kubernetes git repositories through SQL queries to get insights into the project codebase history, as well as emerging trends.
3. Number of files / LoC over time
3
Stabilizing at > 1.75 Millions Line of Code, just under 8K files
4. Public APIs
4
API endpoints stabilizing at 16K
Drop between versions could mean backward compatibility issues
5. Number of commits per month
5
Commit velocity slowing down for the core Kubernetes project as
innovation comes from satellite projects in external GitHub Organizations
github.com/kubernetes
6. Top repositories / number of commits
6
Total number of contributions to the core Kubernetes project is slowing
down in 2018 which highlights the project maturity
github.com/kubernetes
7. Number of commits per month
7
Growth rate of Contributions to SIGs and Incubator projects also seem to be
slowing down
github.com/kubernetes-sigs
github.com/kubernetes-incubator
8. Top repositories / number of commits
8
Top contributions from the community directed to container runtimes, HPC
/ ML workloads, cluster federation and AWS ELB ingress controller
github.com/kubernetes-sigs
github.com/kubernetes-incubator
9. Number of files / LoC over time
9
The projects under kubernetes-sigs and kubernetes-incubator are
far less stable as the # of files and lines varies greatly over time.
github.com/kubernetes-sigs
github.com/kubernetes-incubator
10. Contributors by number of commits
10
Number of contributions per email Most common emails (size ~ log of #)
11. Organizations by number of commits
11
Number of contributions per email domain Most common email domains (size ~ log of #)
12. Number of languages over time
12
High and fluctuating number of languages shows that the community is ok
with “using the right tool for the right job”
13. 13
# of LoC for top 7 programing languages
Go is by far the
dominant language
followed by Python,
YAML and Markdown.
14. 14
Popularity of languages over time
Languages such as
C, Ruby,Gradle
and Lua have been
dropped while
some others like
Assembly, SQL
Java made a
comeback.