brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.2 KiB · 1c065f6 Raw
353 lines · plain
1.. CHANGE TRACKER for reference2.. Purpose: Fixed document location and added Current Topics & Backlog3.. Author: Carlos Andres Ramirez4.. Last updated: 2025-09-08 by Carlos Ramirez5 6========================7LLVM Qualification Group8========================9 10Introduction11============12 13The LLVM Qualification Group is an open working group within the LLVM community. 14It was created to coordinate efforts around enabling the use of LLVM components 15in safety-critical applications governed by functional safety standards 16such as IEC 61508 (for general E/E/PE systems), IEC 62304 (medical devices), 17ISO 26262 (automotive), DO-178C (aerospace), and EN 50716 (railways).18 19Motivation20==========21 22LLVM is increasingly used in safety-critical domains (e.g., automotive, aerospace, medical),23but currently lacks a shared structure to address the specific needs of functional safety, 24such as systematic assurance arguments, tool qualification artifacts, and their associated 25documentation.26 27A more open, upstream, reusable, and collaborative approach would benefit the wider ecosystem.28This group serves as a public forum for those interested in improving LLVM’s suitability for29use in such environments.30 31Goals32=====33 34The Qualification Group aims to:35 36* Facilitate open discussion around tool confidence and qualification practices37* Identify areas for upstream improvements (e.g., traceability hooks, quality evidence)38* Share safety-relevant documentation and argumentation templates39* Coordinate efforts across users and vendors working toward similar goals40* Act as a point of contact for safety-related collaboration41 42The group is non-enforcing and does not control any part of the codebase.43All technical decisions remain subject to the standard LLVM review and governance process.44 45Group Composition46=================47 48Group Members49-------------50 51The members of the LLVM Qualification Group represent a diverse cross-section of the LLVM community, including individual contributors, researchers, vendor representatives, and experts in the field of software qualification, including reliability, quality, safety, and/or security.52They meet the criteria for inclusion below. Knowing their handles help us keep track of who’s who across platforms, coordinate activities, and recognize contributions.53 54.. list-table::55   :widths: 20 20 20 20 2056   :header-rows: 157 58   * - Name59     - Affiliation60     - Discourse handle61     - Discord handle62     - GitHub handle63   * - Alan Phipps64     - Texas Instruments65     - evodius9666     - alanphipps67     - evodius9668   * - Carlos Andrés Ramírez69     - Woven by Toyota70     - CarlosAndresRamirez71     - carlos\_andres\_ramirez72     - CarlosAndresRamirez73   * - Davide Cunial74     - BMW A.G.75     - capitan-davide76     - capitan_davide77     - capitan-davide78   * - Jorge Pinto Sousa79     - Critical Techworks80     - sousajo-cc81     - sousajo-cc82     - sousajo-cc83   * - José Rui Simões84     - Critical Software85     - jr-simoes86     - jr_simoes87     - iznogoud-zz88   * - Oscar Slotosch89     - Validas90     - slotosch91     - oscarslotosch_6674092     - \-93   * - Petar Jovanovic94     - HTECH95     - petarj96     - petarjovanovic_1863597     - petar-jovanovic98   * - Petter Berntsson99     - Arm Limited100     - petbernt101     - petbernt102     - petbernt103   * - Wendi Urribarri104     - Woven by Toyota105     - uwendi106     - uwendi107     - uwendi108   * - YoungJun Lee109     - NSHC110     - YoungJunLee111     - YoungJunLee112     - IamYJLee113   * - Zaky Hermawan114     - No Affiliation115     - ZakyHermawan116     - quarkz99117     - zakyHermawan118 119 120Organizations are limited to three representatives within the group to maintain diversity.121 122Participation123-------------124 125There are several ways to participate:126 127* Join discussions on the `LLVM Discourse <https://discourse.llvm.org/>`_ forum, under the "Community" category.128* Engage in conversations on the LLVM Community Discord in the `#fusa-qual-wg <https://discord.com/channels/636084430946959380/1389362444169773117>`_ channel. Note: You need to join the community's `Discord chat server <https://llvm.org/docs/GettingInvolved.html#discord>`_ first.129* Join our monthly sync-up calls. Details on working sessions and meeting minutes are shared on the :doc:`GettingInvolved` page.130* Contribute ideas, feedback, or patches via GitHub, Discourse, or directly in working documents.131 132Contribution Principles133-----------------------134 135We understand that most members contribute in a limited capacity due to their primary responsibilities. This initiative is volunteer-driven, and we operate with the following shared principles:136 137* **Acknowledgement of limited bandwidth:** We recognize that no one is working full-time on this group, and participation will vary based on individual availability and priorities.138* **Small and consistent contributions are valuable:** We believe that steady ongoing contributions, even if minimal, are crucial for long-term success, as long as there is coordination and respect for each other's time. Even small contributions (e.g., a few hours per month) can significantly advance the group's goals and have an impact. 139* **Realistic progress expectations:** Given the voluntary nature and no full-time involvement, we expect our progress to be slow. This group was initiated in July 2025. Concrete outcomes in 1-2 years would be considered excellent for this type of cross-company and voluntary collaboration.140* **Respect for differing capacities:** We value every member’s engagement, whether large or small, often or sporadically, as it all contributes to the overall effort. Even contributions that may seem small, such as sharing an idea or pointing out a relevant resource, are meaningful and important.141 142However, we need a balance between flexibility, structure, and enough organization to move forward together. Members are expected to remain engaged through one or more of the following:143 144* Regular participation in meetings or asynchronous discussions.145* Contributions to qualification artifacts, methodologies, or documentation.146* Active involvement in at least one qualification-related task over the past year.147 148Membership Criteria149-------------------150 151Membership in the LLVM Qualification Group is intended for individuals with relevant experience or active engagement in qualification-related efforts. Categories include:152 153**Individual Contributors**154 155  * Experience in software/tool qualification (e.g., reliability, quality, safety, security); OR  156  * Active involvement in LLVM-related qualification efforts; OR  157  * Significant LLVM contributions related to qualification in the past year (code, discussion, resolving related challenges).158 159**Researchers**160 161  * Active research, publication, or development of methodologies, frameworks, or tools aimed at improving LLVM quality and reliability.162 163**Vendor Contacts**164 165  * Represent organizations building or using LLVM-based tools in safety-critical environments; OR  166  * Require involvement due to organizational role in qualification or compliance.167 168Nomination Process169------------------170 171Individuals may nominate themselves or be nominated by an existing member. Nominations should:172 173* Explain the nominee’s background and relevance to qualification efforts.174* Be submitted via this form: `Participant Introduction & Membership <https://forms.gle/cE1kHjqkKNtafUrD7>`_175* Be communicated to an active LLVM Qualification Group member (e.g., on the Discord channel).176 177Nominations are discussed within the group. If consensus is reached, the nominee is accepted. Otherwise, a majority vote will decide.178 179Membership Review180-----------------181 182To ensure the group remains active and focused, member participation will be reviewed every six months. Inactive members may be removed following this review.183 184Decision Making185---------------186 187The LLVM Qualification Working Group aims to make decisions transparently, collaboratively, and without unnecessary formality. The goal is to maintain efficiency while encouraging broad participation and mutual understanding.188 189This section describes the lightweight process used to handle proposals and decisions within the group. It may be revised as the group evolves and gains experience.190 191Principles192^^^^^^^^^^193 194* **Consensus first:** The preferred mode of decision-making is consensus through open discussion (primarily on Discord or during sync-up meetings).195* **Inclusiveness and respect:** All viewpoints are encouraged, and members are expected to contribute constructively toward reaching a shared understanding.196* **Transparency:** Discussions leading to a decision should be visible to the group and, whenever appropriate, summarized in public channels (e.g., Discourse meeting notes, Discord channel, documentation updates).197 198Consensus and Time Limits199^^^^^^^^^^^^^^^^^^^^^^^^^200 201Discussions remain open until a clear consensus emerges, meaning no sustained objections have been raised after reasonable discussion.202 203To prevent open-ended debates, if no new viewpoints are expressed after an agreed period (e.g., 2 weeks), the moderator (typically the person who started the discussion thread) may take one of the following actions:204 205* **Summarize the apparent consensus** and close the discussion, or206* **Postpone the topic** to the next sync-up meeting if the outcome remains unclear, or207* **Call for a short vote** to confirm the group’s position.208 209Voting Procedure210^^^^^^^^^^^^^^^^211 212When consensus cannot be reached or when a clear yes/no decision is needed:213 214* The moderator may call for a **simple vote** using emoji reactions on Discord or a similar visible method.215* A decision passes if it receives a **majority (>50%)** of votes among **participants who voted.** Non-votes are **not counted** in the total.216* To ensure decisions reflect the collective position of the group, **at least three-quarters of the total core members** must participate in the vote for it to be considered valid.217* If results are evenly split **(50/50)**, or if participation falls below this threshold, the topic may be postponed to the next sync-up meeting for further discussion.218 219Documentation220^^^^^^^^^^^^^221 222Final decisions should be briefly documented (e.g., in meeting minutes, the corresponding GitHub issue, or Discord discussion thread). Once stable, the resulting policy or outcome may be reflected in this documentation for reference.223 224Current Topics & Backlog225========================226 227Our working group is actively engaged in discussions about the project's228direction and tackling technical challenges. You can find our current 229discussions, challenges, and the project backlog in the following 230document: `Backlog <https://docs.google.com/document/d/10YZZ72ba09Ck_OiJaP9C4-7DeUiveaIKTE3IkaSKjzA/edit?usp=sharing>`_231 232This document serves as our central hub for all ongoing topics and will233be updated regularly to reflect our progress. We welcome your 234contributions and feedback.235 236Meeting Materials237=================238 239Agendas, meeting notes, and presentation slides for the sync-ups are shared to ensure transparency and continuity.240 241Upcoming and past meeting agendas, and meeting minutes are published in a dedicated thread242on the LLVM Discourse forum: `Meeting Agendas and Minutes <https://discourse.llvm.org/t/llvm-qualification-wg-sync-ups-meeting-minutes/87148>`_ 243 244Slides used to support discussions during sync-up meetings are stored in a dedicated Google Drive folder: `Link <https://drive.google.com/drive/u/1/folders/1nu3JAanE0gqQDll0S9ofVy4FOFezc6Mm>`_.245Note that the naming convention for these slides is *YYYYMM*\_llvm_qual_wg.246 247AI Transcription Policy248=======================249 250Objective251---------252 253The LLVM Qualification Group may enable AI auto-transcription (currently using Gemini) during sync-up calls in order to:254 255* Make complex discussions easier to follow.256* Reduce the effort of manual note-taking.257* Support inclusivity for participants who are not native English speakers.258 259Usage260-----261 262The purpose of auto-transcripts is to:263 264* Ensure participants can remain engaged during the sync-up meeting (particularly helpful for non-native English speakers or when audio clarity is limited).265* Serve as an aid for preparing the meeting minutes that are published on Discourse:266  `Meeting Agendas and Minutes <https://discourse.llvm.org/t/llvm-qualification-wg-sync-ups-meeting-minutes/87148>`_267 268Additional safeguards include:269 270* Transcript files are private to the note-taker(s) and never circulated to attendees or the public.271* Transcript files are permanently deleted once the minutes are posted.272* The meeting chair or scribe remains responsible for reviewing the transcript, ensuring accuracy, and editing out sensitive details in the official minutes.273 274Vendor Retention275----------------276 277Long-term storage or model-training settings are disabled on the account used for organizing the working group calls.278 279However, according to Google’s Gemini documentation, even with all history features disabled, voice and transcript data may be retained on Google’s servers for up to ~72 hours for the purpose of "*keeping Gemini safe and secure, including with help from human reviewers*" before deletion.280 281This retention period cannot currently be shortened.282 283Consent284-------285 286* At the start of each sync-up, participants will be asked if they are comfortable with enabling auto-transcription.287* If any participant objects, auto-transcription will be disabled for that meeting.288* Participants may also request at any point that parts of the discussion not be transcribed.289 290Recordings291----------292 293* Meetings are not recorded by default.294* Exceptions are made only when explicit approval from attendees is obtained (e.g., for a special-hosted demo).295 296Transparency & Feedback297-----------------------298 299We want to ensure this practice remains transparent and comfortable for everyone. If any group members have concerns (e.g., about names appearing in transcripts or minutes), they are encouraged to raise them on Discourse or Discord so they can be addressed.300 301Code of Conduct302===============303 304We are committed to fostering a respectful, inclusive, and constructive environment 305where contributors from diverse backgrounds and organizations can collaborate 306on qualification-related efforts in the LLVM ecosystem. 307To support this goal, we adopt the following principles:308 309Let's Build This Together310-------------------------311This is a space for shared ownership and mutual learning. If you're here, you belong. 312Help us shape a group where trust, technical rigor, and collaboration go hand in hand.313 314Respect and Inclusion315---------------------316* Treat all participants with respect and dignity, regardless of background, experience level, employer, or role in the community.317* Be welcoming and supportive. We value a diversity of opinions and expertise.318* Assume good intent, and ask questions before drawing conclusions.319 320Constructive Collaboration321--------------------------322* Keep discussions focused, technical, and solution-oriented.323* Provide thoughtful, actionable feedback. Avoid sarcasm, dismissive remarks, or personal criticism.324* Recognize that contributors have different constraints and priorities. Seek alignment, not perfection.325 326Transparency and Openness327-------------------------328* Share relevant information openly to enable others to contribute effectively.329* Document decisions and rationales so others can understand and build on them.330* Clearly distinguish between personal opinions, organizational positions, and community consensus.331 332Unacceptable Behavior333---------------------334We will not tolerate:335 336* Harassment, discrimination, or exclusionary behavior.337* Disruptive conduct in meetings or communication channels.338* Using this group for marketing, lobbying, or promoting non-collaborative commercial agendas.339 340Safety and Trust341----------------342* We aim to build qualification artifacts that others can trust. Similarly, we aim to be trustworthy collaborators.343* If you see something concerning, speak up respectfully or contact the group organizer(s) privately.344* We follow the LLVM Community :doc:`Code of Conduct <CodeOfConduct>`, which applies across all official LLVM communication spaces.345 346Contact347=======348 349For more information or to get involved:350 351* Refer to our initial `RFC: Proposal to Establish a Safety Group in LLVM <https://discourse.llvm.org/t/rfc-proposal-to-establish-a-safety-group-in-llvm/86916>`_ on the LLVM Discourse forum.352* Join the conversation on the LLVM Community Discord in the `#fusa-qual-wg <https://discord.com/channels/636084430946959380/1389362444169773117>`_ channel.353