Skip to content

[Docs] Explain how to propose an extension in Clang #130803

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions clang/AreaTeamMembers.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
This is a list of the current Clang Area Team members.

Chair
-----
Aaron Ballman
[email protected] (email), AaronBallman (Discourse), AaronBallman (GitHub), AaronBallman (Discord)

Secretary
---------
Reid Kleckner
[email protected] (email), rnk (Discourse), rnk (GitHub), rnk (Discord)

Other Members
-------------
Eli Friedman
[email protected]> (email), efriedma-quic (Discourse), efriedma-quic (GitHub)

33 changes: 31 additions & 2 deletions clang/www/get_involved.html
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ <h2 id="criteria">Contributing Extensions to Clang</h2>
for Clang. The benefits of the extension need to be evaluated against
these costs. The Clang project uses the following criteria for this
evaluation:</p>

<p>
<ol>
<li>Evidence of a significant user community: This is based on a number of
factors, including an existing user community, the perceived likelihood that
Expand Down Expand Up @@ -133,7 +133,36 @@ <h2 id="criteria">Contributing Extensions to Clang</h2>
support the extension and what level of support is expected. The impacted
project communities need to agree with that plan.</li>
</ol>

</p>
<p>
The Clang community uses an RFC process to evaluate potential extensions for
inclusion in the tool. First, write a post in the <code>Clang Frontend</code>
category of <a href="https://discourse.llvm.org/c/clang/6">Discourse</a>. The
title should include <code>[RFC]</code> so it is clear that it is a proposed
change. The post should have detailed information about the change itself, the
motivation for needing the change, how it addresses the criteria listed above,
and any other relevant details the community should be aware of.
</p>
<p>
The community will discuss the proposal in Discourse, asking questions about
the proposal to improve their understanding and giving support or dissent for
the idea. Eventually, consensus will be determined as to whether the proposal
should proceed or be rejected. If a proposal receives little or no feedback,
that typically means that the proposal is rejected due to lack of interest.
</p>
<p>
Sometimes, a consensus position is unclear and the proposal author will need
additional guidance on what next steps to take. In such a case, the Clang Area
Team may get involved. The Clang Area Team secretary will proactively look for
RFCs that appear to not have a clear path forward to add them to the team's
agenda. If anyone would like to put an RFC onto the team's agenda explicitly,
they can tag any one of the <a href="https://github.com/llvm/llvm-project/blob/main/clang/AreaTeamMembers.txt">
Clang Area Team</a> members in a comment on the RFC to get their attention. The
area team will host a meeting to discuss the RFC and determine next steps for
the proposal. In the event no clear community consensus position seems likely
to ever form, the Clang Area Team will make a final judgement call on whether
the RFC will proceed or not. <!-- TODO: link to area team processes -->
</p>
</div>
</body>
</html>