May 18, 2023·5 min read·engineeringswiftgovernanceecosystem

Swift separates strategic direction from workgroup delivery

Swift's governance changes distinguish steering groups from workgroups and give ecosystem development and contributor experience explicit responsibilities.

A language project needs decisions about more than language syntax. Package tooling, documentation, platform support, and the process of becoming a contributor all shape whether people can use and improve the language. Swift's May 18 workgroup reorganization gives those responsibilities a more explicit structure.

The Core Team is distinguishing steering groups, which guide broad strategic areas or community-wide processes, from workgroups, which drive work in functional domains. It is also announcing an Ecosystem Steering Group and a Contributor Experience Workgroup. Diversity in Swift becomes a responsibility within every group, supported by designated champions.

I find Swift consistently well designed, but the compiler and standard library are only part of the experience of building an application. A governance structure that names the supporting tools and contribution process as responsibilities better matches what developers actually need from the project.

Why the names carry responsibilities

The announcement says that the project previously used team and workgroup interchangeably. The revised terminology reserves team for the Core Team and uses group elsewhere. That naming change accompanies a distinction between setting direction and organizing sustained work.

A steering group covers a broad area or a process affecting the whole community. A workgroup has a more specific functional focus and can create subgroups for narrower tasks. Both kinds of group need clear charters, so the distinction should be visible in responsibilities rather than inferred from an informal name.

The Language Workgroup becomes the Language Steering Group. It continues to use Swift Evolution to guide the language. The announcement also clarifies that an evolution workgroup, in the terminology of the evolution process, may belong to either tier. Participation in that process does not determine a group's organizational category by itself.

This is a useful distinction for contributors reading project guidance. A proposal process describes how a change receives review. A group charter describes who has responsibility for an area and what work that responsibility covers. Those questions overlap, but they are not interchangeable.

The Core Team remains above the steering groups and workgroups. Its role is to maintain cohesion and strategic alignment, according to the announcement. The Project Lead appoints its members, and the team operates through general consensus, with the Project Lead resolving discussions when necessary.

Ecosystem work gains a strategic home

The planned Ecosystem Steering Group covers developer and documentation tooling, Swift.org, the package manager, and the package ecosystem. It will also support additional platforms and the tooling needed to create ports. Cloud-based development environments and continuous integration are explicitly within the announced concerns.

That scope matters because these areas interact. A package can compile successfully yet remain difficult to discover. A platform port can exist while missing reliable tooling for ordinary development. Improving one component does not automatically coordinate the other changes that make it useful.

The announcement leaves part of the organization unfinished. A follow-up will describe the Ecosystem Steering Group's charter and responsibilities in more detail. The Core Team will choose its inaugural members, and the new group will establish further workgroups once its charter is formalized.

That is an announcement of direction and formation, not evidence that all planned groups already have members or completed work. Reading it as a finished organizational chart would obscure the work still required to establish the new responsibilities.

Existing work demonstrates the need

The announcement describes workgroups with concrete output already behind them. The Server Workgroup has helped incubate more than twenty server libraries and has published guides for development, deployment, and troubleshooting. Documentation and website work have also produced public material that developers use directly.

One recent example is the February move of The Swift Programming Language to DocC publication. That change followed the book's open-source release and more than fifty merged pull requests during conversion. It also opened the way for broader content contributions under the Documentation Workgroup.

The book illustrates why a functional group needs continuity. Publication tooling, navigation, and editorial contributions depend on one another. Moving the source into a repository does not complete the publication process, and finishing a conversion does not remove the need to guide subsequent revisions.

The Website Workgroup has collaborated with the Server Workgroup on server guides and helped integrate the Swift Evolution dashboard. Cross-group work already exists, so the new structure is organizing an existing pattern as well as preparing for future activity.

My interest here is practical. Swift's design is easier to assess when documentation and tooling explain it accurately. The book's publication change is an example of governance supporting a result a developer can inspect.

Contributor experience has its own work

The Contributor Experience Workgroup will support pathways into the project, including mentorship and community groups. Its announced concerns include the mechanics and documentation for contributing code, reporting bugs, and participating on the forums.

These are distinct activities. A usable issue-reporting process helps someone describe a failure, while a mentorship program helps someone develop the knowledge to contribute. Treating contributor experience as an ongoing functional responsibility allows the project to address both without assuming that code review alone solves access to participation.

The announcement does not require every contribution to pass through a workgroup. It explicitly says that most efforts and community activities begin organically. A workgroup becomes useful when an effort has enough momentum and scale to benefit from project support.

That preserves room for work that does not fit a current charter. The organization is a means of supporting contributors, and the announcement encourages people outside the named groups to continue their efforts. Creating a group is not described as a prerequisite for starting useful work.

Inclusion becomes a responsibility in each charter

Each group will designate a person in a rotating Diversity in Swift champion role. Those champions will coordinate across groups, help connect their groups with initiatives such as mentorship, and provide a feedback channel about inclusion.

Existing Diversity in Swift members and initiatives will move into other groups and their charters. New groups must also designate a champion and state how they will uphold inclusion. The change therefore distributes responsibilities that previously had a dedicated workgroup home.

The Contributor Experience Workgroup and the champions have related but different roles. Contributor Experience develops support systems and contribution mechanics. Champions help make inclusion a continuing concern within each functional or strategic group.

The announced quarterly Contributor Meeting series gives the project another forum for discussing this work, with further information to come on the Swift forums. Alongside clearer charters, that offers contributors a place to follow how the new responsibilities develop beyond the initial reorganization.