Swift Server Work Group (SSWG)
The Swift Server work group is a steering team that promotes the use of Swift for developing and deploying server applications. The Swift Server work group will:
- Define and prioritize efforts that address the needs of the Swift server community
- Define and run an incubation process for these efforts to reduce duplication of effort, increase compatibility and promote best practices
- Channel feedback for Swift language features needed by the server development community to the Swift Core Team
Analogous to the Core Team for Swift, the work group is responsible for providing overall technical direction and establishing the standards by which libraries and tools are proposed, developed and eventually recommended. Membership of the work group is contribution-based and is expected to evolve over time.
The current Swift Server work group consists of the following people:
- Adam Fowler (@adam-fowler)
- Fabian Fett (@fabianfett, Apple)
- Gwynne Raskind (@gwynne, Vapor)
- Kaitlin Mahar (@kmahar, MongoDB)
- Konrad Malawski (@ktoso, Apple)
- Patrick Freed (@patrickfreed, MongoDB)
- Simon Pilkington (@tachyonics, Amazon)
- Tim Condon (@0xTim, Vapor)
- Todd Varland (@toddvarland, Amazon)
With Tom Doron (@tomerd, Apple) representing the Swift core team.
Communication
The Swift Server work group uses the Swift Server forum for general discussion.
Community Participation
Everyone is welcome to contribute in the following ways:
- Proposing new libraries and tools to be considered
- Participating in design discussions
- Asking or answering questions on the forums
- Reporting or triaging bugs
- Submitting pull requests to the library projects for implementation or tests
These conversations will take place on the Swift Server forum. Over time, the work group may form smaller working groups to focus on specific technology areas.
Charter
The main goal of the Swift Server work group is to eventually recommend libraries and tools for server application development with Swift. The difference between this work group and the Swift Evolution process is that server-oriented libraries and tools that are produced as a result of work group efforts will exist outside of the Swift language project itself. The work group will work to nurture, mature and recommend projects as they move into their development and release stages.
Voting
In various situations the SSWG shall hold a vote. These votes can happen on the phone, email, or via a voting service, when appropriate. SSWG members can either respond “agree, yes, +1”, “disagree, no, -1”, or “abstain”. A vote passes with two-thirds vote of votes cast based on the SSWG charter. An abstain vote equals not voting at all.
Incubation Process
The Swift Server Work Group has a process which allows a project to go through incubation stages until it graduates and becomes a recommended project.
Projects
Project | Description | Maturity Level | Pitched | Accepted |
---|---|---|---|---|
SwiftNIO | Event-driven network application framework. | Graduated | N/A | 9/7/2018 |
SwiftLog | Logging API | Graduated | 9/10/2018 | 2/7/2019 |
SwiftMetrics | Metrics API | Graduated | 1/8/2019 | 4/4/2019 |
PostgresNIO | PostgreSQL driver | Incubating | 11/18/2018 | 5/16/2019 |
RediStack | Redis driver | Sandbox | 1/7/2019 | 6/27/2019 |
AsyncHTTPClient | HTTP client | Graduated | 4/18/2019 | 6/27/2019 |
APNSwift | APNS client | Incubating | 2/5/2019 | 6/27/2019 |
SwiftStatsdClient | StatsD driver for the metrics API | Incubating | 6/2/2019 | 8/11/2019 |
SwiftPrometheus | Prometheus driver for the metrics API | Sandbox | 11/18/2018 | 8/11/2019 |
gRPC Swift | gRPC client & server framework | Graduated | 9/30/2019 | 2/19/2020 |
Swift Crypto | Open-source implementation of a substantial portion of the API of Apple CryptoKit | Incubating | 2/20/2020 | 3/4/2020 |
OpenAPIKit | OpenAPI client | Sandbox | 1/14/2020 | 4/29/2020 |
MongoSwift | MongoDB driver | Incubating | 10/30/2019 | 5/13/2020 |
Swift AWS Lambda Runtime | Runtime library for AWS Lambda functions in Swift | Sandbox | N/A | 6/24/2020 |
Backtrace | Nice backtraces in production | Incubating | 5/30/19 | 7/29/2020 |
Service Lifecycle | Lifecycle management | Incubating | N/A | 9/2/2020 |
Soto for AWS | Third-party SDK for AWS | Incubating | 10/1/2020 | 11/12/2020 |
MultipartKit | Multipart parser and serializer with Codable support for Multipart Form Data | Incubating | 3/3/2021 | 11/11/2021 |
MQTT NIO | A Swift NIO MQTT v3.1.1 and v5.0 Client | Sandbox | 11/2/2021 | 1/19/2022 |
The SSWG publishes a package collection that contains the projects incubated by the workgroup. The collection is available at https://swiftserver.group/collection/sswg.json
.
Meeting Time
The SSWG meets biweekly on Wednesday at 2:00PM PT (USA Pacific). The meetings take place in the weeks with the odd week numbers.