Draft Process for Server Security API Proposals


(Gelareh Taban) #1

Hi all,

As part of the previous Server Security API meeting, we went over a draft
of the proposal process which I have described below. I've tried to avoid
repeating information so I've only included relevant and updated
information.

Please review.

Regards,
Gelareh

Process (Draft):

# Server Security API Process

We will follow existing process defined in Swift.org and Swift Evolution:
- https://swift.org/community/
- https://github.com/apple/swift-evolution/blob/master/process.md

## Swift Server Security API Evolution

### Server Security 1.0

- Expected release date: Late 2017
- Expected Swift release integration: ?

Designed around the primary goal of providing cross-platform SSL support
for macOS and Linux.

### Future Goals for Server Security

- basic crypto support
- higher level crypto support (best behavior)

## Proposing New Features or change

https://github.com/apple/swift-evolution/blob/master/process.md#how-to-propose-a-change

New features or directions for the Swift Server Security API can come from
anyone with a good idea.
Open discussion and iteration over the ideas in a public forum is essential
to reaching the best possible solutions.

To support this process, we will follow the Swift Evolution Process
detailed in Swift.org, with the following updates:
- Use (swift-server-dev) mailing list for socializing the idea.
- To request a review, initiate a pull request to the repository:
https://github.com/swift-server/

## Community Structure

Roles within the community include:

- *Project lead* appoints technical leaders from the community. Apple Inc.
is the project lead, and interacts with the community through its
representative.
- *Core team* is the small group of engineers responsible for strategic
direction
- *Code owner* is the individual responsible for a specific area of the
Swift code base
- *Committer* is anyone that has commit access to the Swift code base
- *Contributor* is anyone that contributes a patch or helps with code
review

### Project Lead

The steering committee of Server APIs: https://swift.org/server-apis/

- Chris Bailey (@seabaylea, IBM Kitura)
- Logan Wright (@LoganWright, Vapor)
- Paulo Faria (@paulofaria, Zewo)
- Steve Algernon (@salgernon, Apple)

### Core Team

The Core Team reviews and helps iterate on language evolution proposals
from the community at large, acting as the approver of these proposals.
Team members help drive Swift forward in a coherent direction consistent
with the goal of creating the best possible general purpose programming
language.

- Gelareh Taban (IBM)
- Luke Hiesterman (Apple)

### Code Owner

Code owners are individuals assigned to specific areas of the Swift
project, with code quality their primary responsibility.

Anyone can review a piece of code, and we welcome code review from everyone
that is interested. Code review procedures are not dictated by a central,
global policy. Instead, the process is defined by each code owner.

Any community member that is active and shows themselves to be valuable can
offer to become a code owner via public email to the mailing list, or be
nominated by another member. If fellow contributors agree, the project lead
will make the appointment and add the new owner’s name to the code owners
file. The position is completely voluntary, and can be resigned at any
time.

## Code Repositories

- Main repo: https://github.com/swift-server/security
- SSL library: https://github.com/swift-server/security/tls
- Crypto library: https://github.com/swift-server/security/crypto