Skip to content

Create an LLM policy team #308

Description

@oli-obk

rust-lang/rust-forge#1040 has landed as a first version of a policy, but I get lots of ppl who are concerned this will be impossible to change in the future. It's obviously a policy many can live with right now, though I don't get the impression it makes anyone particularly happy.

I think there are a few problems with most of the approaches we have taken:

  • global policies: council isn't really equipped to both discuss all the minutiae and make a decision, without also running into the worry about impossible-to-change policies
  • lacking a policy, the policy is whatever mods decide ad-hoc, or what reviewers reject ad-hoc, causing lots of strife
  • Add an LLM policy for rust-lang/rust rust-forge#1040 being a "too many cooks" situation combined with everyone being able to raise a concern basically turns this into a trivially deadlockable thing
  • everything is evolving so fast, any policy will need adjusting over time, and we can't take 6 months for every change

So I'm proposing to create a council sub-team with the following charter:

  • LC delegates the power to write and edit the rust-lang/rust LLM policy as well as the global default policy
  • They run their own FCPs, LC does not directly influence their work
  • all their FCPs must be unanimous, not N-2
  • membership is handled by the leadership council
  • edits to the charter is handled by the leadership council
  • the team has to be small enough for productive discussion while also accurately representing stance of the project
    • the members of the committee should be able to represent the full range of views in the project
    • other project members should feel enabled to discuss their views and concerns with at least one of the members, trusting that member to accurately capture and consider their perspective. For this, members of the committee must have the capacity to engage with people in the project if they raise any thoughts or concerns
  • The LLM policy team has the following membership structure
    • the team has at least 3 members which are selected by the council
    • the council is expected to select people who cover a wide variety of perspectives and who are trusted by as much of the project as possible
    • project members are expected to reach out to a council member or team lead in case they do not sufficiently trust anyone on the LLM policy team to accurately represent their perspective, ideally suggesting project members who do. These concerns should be taken seriously both when setting up the committee, but also over the course of its existence
  • The members are chosen so that the committee can find its way to consensus despite disagreement, and to make changes in a timely fashion in response to project needs and the changing landscape. This is more important than perfection at any point during the evolution of the policies. The policies can be edited by this team and everything can be changed again, so we should not let the perfect be the enemy of the good, as long as we are reasonably balancing project needs.
  • The LLM policy team can change the global LLM policy should strive to do so (and inform all affected team members for repos not covered by a repo-specific policy). Being able to easily change things should alleviate all the concerns about a policy being better than no policy as the policy can just be changed over time.
  • Limitations on LLM policies the committee can set up:
    • private LLM use for informative purposes cannot be restricted
    • no one can be required to use an LLM to participate anywhere, every project contribution must be doable without an LLM and if LLM usage is the usual way, there must be documentation how to do it without
  • The committee's first action will be to launch a survey of team member's views on LLMs and what policies they would prefer to see. This is input to their decision process, not a majority vote via survey.
  • The committee is available for advice on repo specific policies by teams, but usually does not prescribe what teams should do. (Except for rust-lang/rust, which is our shared space, and in case 1040 lands before the committee creates a policy, the committee is in charge of evolving that policy)
    • Adding global policies that cannot be overridden by teams should be a rare thing, but where necessary can still be done via shared LLM policy team + mods + council FCP.
  • meetings are open for listening in, but participation by non-team members must be solicited by team members. Similarly there will be a publicly readable Zulip stream, where for now no external comments are permitted (and technically restricted so only team members can post).

Deadlock avoidance and council oversight

  • In case the committee is unable to reach a consensus internally, this should be raised to the council which is then expected to resolve this issue within 3 weeks (since there is a sync council meeting every two weeks, this should give enough buffer) by replacing some of its members

The initial membership will be

Metadata

Metadata

Assignees

No one assigned

    Labels

    S-needs-decisionStatus: Needs the Council to make a decision on the next steps.T-leadership-councilTeam: Leadership Coucildisposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.final-comment-periodIn the final comment period and will be merged soon unless new substantive objections are raised.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions