[llvm-dev] Policy on support tiers

antlists via llvm-dev llvm-dev at lists.llvm.org
Sat Oct 31 03:52:39 PDT 2020


On 31/10/2020 09:03, Renato Golin via llvm-dev wrote:
> Examples of tier 2 breaking 1 are when a change in its code need & 
> warrant a change in common apis (in tier 1), and those changes break 
> unrelated tier 1 code.
> 
> I agree it's not super well defined, but I really think we shouldn't try 
> to list what is in/out of each tier and I'm hoping people can help me 
> define the scope of each.
> 
> Questions like yours are super helpful to do just that.
> 
> Thanks!
> Renato
> 
Reading this, I'm not suggesting any change to policy, but simply to the 
"official" wording.

Let's do something along the lines of

Tier 1 is LLVM.
Tier 2 is Clang, and Cmake, and all the other stuff that was mentioned 
that is a first class citizen and supported as part of the project.
Tier 3 is maybe incubator projects heading for tier 2
Tier 4 is projects like Bazel which we have no intention of supporting 
but are best supported as part of the project ...

Then we define all our policies along the lines of

No tier should trigger warnings or errors in a higher tier.
If a tier requires changes in a higher tier, they are responsible for 
making those changes (bit like if you change an API in the kernel, you 
have to fix everywhere else).

And so on. That way, the rules are consistent everywhere, and if some 
other class of project appears, we can just slot them straight in by 
creating a new tier.

Cheers,
Wol


More information about the llvm-dev mailing list