In this inaugural annual post, the Contributor Experience Workgroup (CEWG) henceforth commits to showcasing its efforts over the past year and outlining primary goals and milestones for the year ahead.
This year, the CEWG worked on establishing new open source development standards for the Swift project by adopting GitHub features in the main Swift repository and participated in the migration to github.com/swiftlang — while holding true to its annual duty of conducting the Swift Mentorship Program. Furthermore, the workgroup is spearheading several significant improvements to the community structure and the Swift evolution process.
2024 in Review
Lineup Changes
The workgroup has welcomed four new individuals so far this year:
- James Dempsey represents the Swift Website Workgroup. They have been leading several remarkable efforts on the Swift.org front that are highly germane to contributor experience, including the now open source metadata extractor for the Swift evolution dashboard.
- Joseph Heck is a seasoned mentor and a member of the Swift Documentation Workgroup.
- Harshita Pathipati works on the Swift Infrastructure team at Apple, which maintains the continuous integration internals, administers the swiftlang organization, shepherds the Swift release process, and more.
- Timirah James is a Diversity in Swift champion.
Max Desiatov stepped down after a year and a half on the workgroup to devote more time to SwiftPM work and create space for new folks to join. We are very appreciative of their visions and contributions!
Project Infrastructure
We are delighted to see Swift fledge to a dedicated GitHub organization. This event is a testament to the growing use of Swift beyond Apple ecosystems. Most notably, the transition will go a long way in facilitating the advancement of our open source development practices and the fostering of a structured and vibrant contributor community around an outstanding programming language.
In this new environment, projects can share community health files and even pull request templates. Contributors can engage with whole teams and community groups in the same way as they do here on the Swift forums, all on an organization-wide scale.
The swift repository on GitHub has likewise seen a number of enhancements, largely inspired by the swift-syntax repository:
- The old code owner specification was fully migrated to the CODEOWNERS file. This feature automatically requests reviews from the right people when a pull request changes any owned files. Future iterations on ownership coverage will enable us to consider requiring formal approvals from code owners before anyone can merge a pull request.
- The issue template chooser was refactored to use issue forms, a new templating format. Templates that are configured via the form schema can have customizable web form elements, stepping up the experience for reporters and ensuring consistently structured feedback for developers.
Some other swiftlang repositories had already started incorporating these features, and the workgroup expects these new examples to encourage many more to follow.
Continuous Integration
Windows jobs for Swift package projects, such as swift-syntax, now use a pre-installed Swift compiler instead of having to build one from source.
Community Structure
At the heart of every mature and thriving community lies a role system — a definition of the available roles, a codification of the associated relationships, responsibilities, and privileges, as well as a mechanism for acquiring, fulfilling, and withdrawing from roles. Communities around OSS often call these constructs contributor ladders, and the CEWG is excited to announce the ongoing design of a similar initiative for the Swift community in collaboration with the Core Team. We expect to share a proposal for public review later this year.
Swift Evolution
As the Swift ecosystem continues to accrete more building blocks and diversify, there is a rising demand for a scalable, community-driven process to guide its evolution beyond the language — one capable of gracefully embracing ideas that cross project boundaries and catering to not only select core elements like the Swift compiler and standard libraries but also to arbitrary satellite projects, whether they are in the early stages or well-established. The current Swift evolution process offers limited wiggle room for meeting the needs of other projects, leading some to launch their own tailored variations. For instance, swift-foundation has implemented a similar, albeit separate, API integration process. The CEWG is making substantial progress in fleshing out a proposed approach to a flexible standard for Swift evolution and related processes, with the aim of presenting this work the by end of the year.
Goals for 2025
The prime objective for the workgroup going forward is to finalize and launch both the contributor ladder and the Swift evolution standard. Other important focus areas for next year involve contributor resources, continuous integration, further adoption of GitHub features, and the Swift Mentorship Program.
Contributor Documentation & Utilities
2025 is set to be a great year for contributor resources. The workgroup intends to spread efforts over the following areas:
- Rearchitecting the contributor content across the swift repository and Swift.org.
- Significantly loosening the system requirements for contributing to the swift repository, with an emphasis on disk space.
- Simplifying the setup instructions for contributing to the swift repository.
Continuous Integration
Mandatory pull request testing is a major pillar supporting the reliability and compatibility of products across the board. On the other hand, it also impacts the pace of our development cycle, which is why we are always on the lookout for opportunities to improve run times. For example, the infrastructure could be taught to recognize changes that can be exempt from testing, such as those made to a changelog file, and avoid wasting time and resources on them. The CEWG looks forward to collaborating with the Swift Infrastructure team to design and implement centralized, secure solutions to problems of this nature.
GitHub Actions
While the Swift Infrastructure team is arranging to enable GitHub Actions in swiftlang, the CEWG is exploring various applications of this powerful automation tool — including welcome messages, linting, and issue triage — and intends to actively participate in their development.
Swift Mentorship Program
Finally, the CEWG is determined to continue leading and developing the Swift Mentorship Program. Next year, we plan to focus on encouraging more people to enroll as mentors both via outreach and by experimenting with bidirectional (peer) mentorship.