Language Steering Group

The Swift Language Steering Group guides the development of the Swift language and standard libraries through the Swift evolution process.

Charter

The Swift Language Steering Group:

Membership

The Language Steering Group is made up of Swift community members with a variety of backgrounds. Members of the workgroup are volunteers who ordinarily serve for a term of two years. The Swift Core Team is solely responsible for the membership of the workgroup and may add or remove members as it sees fit.

The Core Team also selects one member of the workgroup as the chair. The chair has no special authority over the workgroup, but they are responsible for ensuring its smooth functioning, including by:

The current members of the Language Steering Group are:

Decision making

The Language Steering Group is commissioned by the Swift Core Team to make decisions on its behalf, and it typically works autonomously, with a goal of reaching consensus within the workgroup whenever possible. Final decision-making authority about all language evolution topics rests with the Project Lead.

Communication

The Language Steering Group communicates with the community primarily using the Evolution category on the Swift forums. It will also prepare special posts for the Swift Blog.

The workgroup is responsible for the following regular communication with the broader Swift community:

The workgroup is also partially responsible for the content of language and library documentation:

Evolution process

The Language Steering Group is an evolution workgroup which uses the Swift evolution process to guide proposals through evolution review. The Language Steering Group has evolution authority over the Swift language and standard library. Authority over the language includes authority over the language configuration, such as compiler flags for language options, diagnostic options, and similar settings with a direct impact on the language or a programmer’s experience using the language. This authority does not extend to other compiler flags, such as optimization or code generation settings, or to tools such as build systems and package managers.

These limits on the evolution authority of the Language Steering Group are not meant to be limits on the scope of evolution proposals. Swift workgroups are expected to collaborate to ensure that proposals offer a satisfactory solution across the entire Swift project. If a proposal impacts parts of the project under the authority of multiple workgroups, those workgroups must work together to bring the proposal through the evolution process.

As a major client of the evolution process, the Language Steering Group works closely with the Core Team to define and improve that process, such as by:

Any change to the evolution process is ultimately up to the discretion of the Core Team.

Community participation

The Language Steering Group is not separate from the Swift community. Workgroup members participate in evolution discussions and propose language changes just like any other member of the community. When the workgroup develops a new idea about a proposal in the course of its internal deliberations, a workgroup member is expected to bring that idea to the community for discussion before the review is considered complete.

Proposals or feedback about the Swift language, the general evolution process, a specific evolution proposal, or any other topic under the purview of the Language Steering Group are always welcome. The primary way to communicate with the Language Steering Group is simply to post in the Evolution category on the Swift forums, either by adding a reply to an existing review, pitch, or other discussion thread or by creating a new thread in Evolution > Discussion or Evolution > Pitches. Community members may also reach out privately to members of the Language Steering Group by email or private message on the forums.

The Language Steering Group follows the Swift Code of Conduct. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the workgroup chair or a member of the Swift Core Team or by flagging the behavior for moderation, whether you are the target of that behavior or not.