Re: [EXTERNAL] [cncf-toc] What do we mean by “Version 1.0”?

Quinton Hoole <quinton@...>

I'm not convinced that in people's minds, or practically, v1.0 and Graduated mean similar things. As a concrete example, Kubernetes went to v 1.0 several years before it graduated.  In my mind, version numbers tend to denote the maturity of the software. Graduation levels add to that the maturity of the process and community around the software.

I do however think that there would be value striving for some amount of consistency in the semantics of version numbering across CNCF projects (possibly) to avoid the kind of confusion that Liz ran into.  I don't know exactly what that would look like, but I imagine something along the lines of:

- pre 1.0 denotes "not recommended for production use"
- post x.y denotes "go for it, people are starting to use it successfully in production"
- post p.q denotes "rock solid, widely used in production - almost definitely graduated unless there are extenuating circumstances"

... and so on might make sense.

This detail may well have been debated in depth elsewhere in the CNCF, in which case I apologise for not being up to speed on that :-)


On Thu, Jan 14, 2021 at 9:50 AM Michelle Noorali via <> wrote:

+1 imo a graduated project should have some documented backward compatibility guarantees and semantic versioning helps denote this. It has been a best practice on all the projects I've worked on. I'd be supportive of adding a criteria around stability and defining what that means and recommending using a semantic version to denote this for graduation.

From: cncf-toc@... <cncf-toc@...> on behalf of Liz Rice via <>
Sent: Thursday, January 14, 2021 12:26 PM
To: cncf-toc@... <cncf-toc@...>
Subject: [EXTERNAL] [cncf-toc] What do we mean by “Version 1.0”?
Hi folks, 

Someone I spoke with today said something along the lines “if <this project> is stable, why is it still at v0.something?” and that got me thinking - does it make any sense to expect Graduated projects to be at v1.0 or above? 

I know this is easily gamed, in the sense that project maintainers can release any version number they like, but let’s set that aside for now and assume that maintainers are well intentioned. I wonder if the signals that are sent by releasing a v1.0 are similar to what Graduation means?

(I have not checked the version numbers of existing graduated projects)



Quinton Hoole

Join to automatically receive all group messages.