Skip to content

Commit 1d5692c

Browse files
committed
initial commit
0 parents  commit 1d5692c

File tree

5 files changed

+74
-0
lines changed

5 files changed

+74
-0
lines changed

README.md

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
Swift Server Work Group (SSWG)
2+
--
3+
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:
4+
5+
Define and prioritize efforts that address the needs of the Swift server community
6+
Define and run an incubation process for these efforts to reduce duplication of effort, increase compatibility and promote best practices
7+
Channel feedback for Swift language features needed by the server development community to the Swift Core Team
8+
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.
9+
10+
The current Swift Server work group consists of the following people:
11+
12+
* Chris Bailey (@chris_bailey, IBM Kitura)
13+
* Ian Partridge (@ianpartridge, IBM Kitura)
14+
* Logan Wright (@loganwright, Vapor)
15+
* Tanner Nelson (@tanner0101, Vapor)
16+
* Johannes Weiss (@johannesweiss, Apple)
17+
* Tom Doron (@tomerd, Apple)
18+
* Steve Algernon (@salgernon, Apple)
19+
20+
Community Participation
21+
--
22+
There isn’t a distinction between stakeholders and contributors for this effort. Everyone is welcome to contribute in the following ways:
23+
24+
* Proposing new libraries and tools to be considered
25+
* Participating in design discussions
26+
* Asking or answering questions on the forums
27+
* Reporting or triaging bugs
28+
* Submitting pull requests to the library projects for implementation or tests
29+
30+
These conversations will take place on the [Swift Server forum](https://forums.swift.org/c/development/server). Over time, the work group may form smaller teams to focus on specific technology areas.
31+
32+
Recommended Server Libraries
33+
--
34+
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 recommend libraries and tools as they move into their release stages.
35+
36+
Incubation Process
37+
--
38+
The details of the process under which libraries and tools become recommended still needs to be formalized. One of the first goals of the Swift Server work group is to define this process. For now, the general idea is that it will take a federated approach with the following conditions:
39+
40+
* Swift Server work group will define requirements for each stage of a package’s incubation from definition to recommendation
41+
* Swift Server work group will maintain and publicize a list of packages with current incubation status
42+
* Libraries and tools will be developed as packages with Swift Package Manager
43+
* Packages can live in any publicly accessible open source repository and should adopt Apache License v2
44+
45+
The Swift Server work group will direct the incubation of new server-focused libraries and tools through four phases: Determine Need, Proposal, Prototyping and Development, and Recommendation.
46+
47+
Determine Need
48+
--
49+
To start this process, the work group first determines and maintains a prioritized list of what’s needed for development and deployment of Swift server applications. The purpose of this list is to seed the community with ideas that will help solicit the creation of proposals.
50+
51+
Proposal
52+
--
53+
As proposals are brought forth by the community, the work group will evaluate them against the following criteria:
54+
55+
* Does it provide a reasonable set of capabilities and functions
56+
* Are the capabilities and functions useful
57+
* What types of applications would benefit from them
58+
* How would the capabilities and functions be used
59+
* What is the intended approach to implement them
60+
* A proposal is then reviewed and socialized with the wider Swift community as a “Pitch” in the Server forums, similar to how Swift Evolution handles them.
61+
62+
Prototyping and Development
63+
--
64+
Once a proposal is approved by the work group and input has been received from the wider community via the [Swift Server forum](https://forums.swift.org/c/development/server), prototyping and development can begin. The work group and the greater Swift Server community will work to sponsor and promote incubation proposals, but once approved, libraries and tools can be prototyped and developed independently of the group.
65+
66+
Once the full set of functions has been developed, released, adopted and feedback acted on, the work group will branch a formal recommendation process.
67+
68+
Recommendation
69+
--
70+
As mentioned earlier, the Swift Server work group will be defining a formal process to determine how a library or tool will be recommended. Watch this space for more information as the details develop. Currently SwiftNIO is the only recommended library by the Swift Server work group.
71+
72+
Forums
73+
--
74+
The Swift Server work group uses the [Server](https://forums.swift.org/c/development/server) forum for general discussion.

meetings/.gitkeep

Whitespace-only changes.

process/.gitkeep

Whitespace-only changes.

proposals/.gitkeep

Whitespace-only changes.

reviews/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)