Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: initial cut at collaboration network proposal #497

Merged
merged 4 commits into from May 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions proposals/README.md
Expand Up @@ -8,6 +8,7 @@ Anyone may submit an idea for a policy or program following the [staging process
* [Regular Town Halls](./stage-0/REGULAR_TOWN_HALLS)
* [Shared Interfaces](./stage-0/SHARED_INTERFACES)
* [Standards Outreach](./stage-0/STANDARDS_OUTREACH)
* [Collaboration Network](./stage-0/COLLABORATION_NETWORK)

## Stage 1

Expand Down
38 changes: 38 additions & 0 deletions proposals/stage-0/COLLABORATION_NETWORK/COLLABORATION_NETWORK.md
@@ -0,0 +1,38 @@
# The OpenJS Collaboration Network

The formation of the OpenJS Foundation was in support of a number of goals.
The first was to support JavaScript projects, providing a neutral place for people
to collaborate and resources needed by those projects
(legal, marketing, best practices governance support, infra, etc.).

The second goal was to foster greater collaboration in the JavaScript ecosystem. Bringing
projects together in a single Foundation provides an easier path to collaboration between
projects.

The OpenJS Collaboration network provides the framework for people to collaborate on areas of
importance to the JavaScript ecosystem in a netral space. In some cases, this may align with
projects and in other cases be independent of the member projects.
Regardless of the alignment with existing member projects, the OpenJS Foundation
Collaboration Network provides support for collaboration in
a particular area. Support includes but not be limited to:
* a repo in the OpenJS org
* marketing support
* mailing lists
* slack channels
* representation on the CPC

The current Collaboration Networks spaces are listed in the main README.md
in the CPC repository.

Collaboration spaces differ from Working Groups in that existing authority is not
delegated from the CPC as is the case with a Working Group. Instead of delegation of
authority, the goal of a collaboration space is to support collaboration in a more
independant manner. The work of the space does not necessarily represent the
Foundation (just like the views and direction of an individual project do not
necessarily represent the views of the Foundation) but is instead fostered
and supported by the Foundation. In this sense the relationship is more like that
of projects to the Foundation versus Working Groups.

The [Collaboration Space Progression](./proposals/stage-0/COLLABORATION_NETWORK/COLLABORATION_SPACE_PROGRESSION.md)
document explains how a proposal for a new Collaboration space may be submitted
and how Collaboration spaces move between stages.
@@ -0,0 +1,176 @@
## I. Overview

This governance policy describes how a new `Collaboration Space` can be established wthin the OpenJS Foundation, hereinafter referred to as the "Foundation", via the [Collaboration Space Proposal Process](). It describes the [Stages]() a collaboration space may be admitted under and what the criteria and expectations are for a given stage, as well as the acceptance criteria for a space to move from one stage to another.

Collaboration space progression - movement from one stage to another - allows spaces to participate at the level that is most appropriate for them given where they are in their lifecycle. Regardless of stage, all Foundation spaces benefit from access to some level of mentorship, support, and foundation resources.

## II. Collaboration Space Proposal Process

### Introduction

This governance policy sets forth the proposal process for collaboration spaces to be accepted into the Foundation.

### Collaboration Space Proposal Requirements

The proposal to form a new collaboration space in the OpenJS Foundation can be made via an email to operations@openjsf.org with a filled out [Collaboration Space Application Template](./NEW_COLLABORATION_SPACE_APPLICATION.md). The initial application will have a silent period for internal only discussion. If your application is denied during this phase you will be notified privately. If there are no objections to the application, the space will given an `incubation` status and begin the on-boarding process. **Note** the `incubation` status is temporary as we determine if the space is a good fit. At any time during the `incubation` process a space can withdraw either voluntarily or at the request of the CPC.

#### Roles

##### Applicant

Individual or group who submits the application on behalf of a collaboration space to join the OpenJS Foundation.

##### Application Champion

The Application Champion is a member of the CPC or Foundation staff who commits to do the following:

1. Work with the appliant to complete the on-boarding process
1. Be available to answer questions from the Applicant.
1. Advocate on behalf of the new collaboration space.
1. Help to explain why the collaboration space is a good fit.
1. Be available as a primary point of contact through the incubation period if reached.

#### Process

1. Initial email sent to operations@openjsf.org with filled out [Collaboration Space Application Template](./NEW_COLLABORATION_SPACE_APPLICATION.md)
1. Silent period. Internal only discussion.
1. Initial acceptance as [Incubating] Collaboration Space.
1. An acknowledgement is sent to the applicant by Foundation staff within 48 hours (striving to reply within 24 hours when possible).
1. Silent period. Internal only discussion. The content of these discussion along with the content of the application itself are kept confidential.
1. Initial acceptance as an [Incubating] Collaboration Space. Before public announcement there will be:
* Private email to the CPC members which asks for +1 or objections to the application becoming public. This email will include:
* The name of the application champion for the application
* Completed application
* Completed Initial-fit checklist.
* Confirmation that the Foundation Executive Director has received an FYI and there were no objections.
* Confirmation that there are no existing objections from CPC members.
This is not a formal vote just the process to ensure we have regular CPC concensus to move forward.
* If there is agreement to move forward:
* Confirmation to the applicant that they are ready to have their application become public.
* If lack of consensus to move forward:
* Correspondence from foundation staff to applicant about non-acceptance.
* Discussion/agreement between applicant, application manager and Foundation media team to agree on announce date. (If appropriate)
1. Project goes through process of adhering to [collaboration space on-boarding checklist](#collaboration-space-onboarding-checklist).
1. Project presents to CPC for final acceptance via 2/3 supermajority vote and appropriate initial stage is determined.

##### Initial fit checklist

1. Are the existing members/space leaders agreed to managing the space under open governance?
1. Have the existing members/space leaders agreed that all IP developed will be assigned to the OpenJS Foundation.
1. Have the existing members/space leaders agreed that the collaboration space will adopt the OpenJS CoC?
1. Are licences for any existing material that will be added to the collaboration space repo compatible with Foundation requirements?
1. Fit with OpenJS Foundation (not all of these need to be met, but provide different ways of assessing strategic fit).
1. Impact on JavaScript Community.
1. How much and how broad of importance is the topic for the JavaScript Community.
1. Expected level of activity and progress within the space.
1. Synergy or overlap with existing projects and collaboration spaces in the Foundation.
1. Level of comfort that collaboration space will be successful.

## Onboarding Checklist

This is an informational checklist to help start up a collaboration space into the OpenJS Foundation - tasks we will complete together after your proposed collaboration space has been accepted into the incubation process. If you have any questions or need help, the OpenJS Foundation CPC is available to assist.

- [ ] Adopt the OpenJS Foundation Code of Conduct
- [ ] If choosing to use a Contributor License Agreement (CLA) or Developer Certificate of Origin (DCO), make selection and implement appropriate tool
- [ ] Confirm required files in place (CODE_OF_CONDUCT.md, LICENSE.md, Overview.md, Governance.md) and approved by the CPC.
- [ ] Publish Collobration Space Overview on Foundation Website
- [ ] Document initial space `Leaders`.

### At Large Collaboration spaces

#### Definition

At Large collaboration spaces cover topics which the CPC believes are, or have the potential to be, important to the JS ecosystem as a whole. They may be just getting started, or they may bring together long-established groups with minimal resource needs. The At Large stage provides a beneficial, neutral home for colloboration in order to foster collaborative development and provide a path to deeper alignment with other Foundation projects and collaboration spaces via the graduation process.

#### Expectations

At Large collaboration spaces are expected to operate with little support from the CPC and the foundation. They will have access to the following resources:

* A repository under the open-js foundation gihub organization.
* Support/mentoring from the CPC with respect to setting up appropriate governance.
* Use of the Foundation Zoom and Youtube streaming
* A slack channel within the Foundation Slack organization
* Up to 2 mailing lists managed by the Foundation
* Use of meeting generation tools as may made available by the foundation
* 2 re-tweets from the OpenJS Foundation twitter account per month. These will be requested through DM.

An at Large collaboration space must have at least one active 'Space Leader' leading the activities of the space.
All activities of the collaboration space must conform to the Foundation's Code-of-Conduct and the Space Leader
must agree to participate in any escalations made to the Foundation Code of Conduct Panel.

#### Acceptance Criteria

To be considered for the At Large Stage, the project must meet the following requirements:
* An identified `Space Leader`
* 1 CPC sponsor to champion the application and provide mentorship as needed
* A presentation to at the meeting of the CPC
* a 2/3 vote from the CPC.

### Core Collaboration Spaces

#### Definition

The Core Stage is for collaboration spaces that have demonstrated that there is sustained level of interest and participation in the area
of collaboration and wish to work more closesly with the Cross Project Council and Foundation.


#### Expectations

Core collaboration spaces are expected to have regular meetings, activity and demonstrable forward progress in their area of collaboration.
In addition it should be well documented how the results of the collaboration are benefitting the JavaScript ecosystem, the Foundation projects, or
the activities of other collaboration spaces.

In addition to the resources made available to At large collaboration spaces they will have access to:

* The OpenJS travel fund.
* Help from Foundation marketing in publishing 1 blog post per quarter.
* 4 re-tweets from the OpenJS Foundation twitter account per month. These will be requested through DM.

#### Acceptance Criteria

To be considered for Core Stage, the Collaboration space must meet the At Large requirements as well as the following:

* Demonstrate a substantial ongoing level of collaboration and at least 10 active members
* 2 CPC sponsor to champion the application and provide mentorship as needed
* a 2/3 vote from the CPC.

### Emeritus Stage

#### Definition

Emeritus spaces are collaboration spaces which have reached or are nearing end-of-life.

#### Expectations

Collaborations spaces in this stage are no longer active. The associated repository will be archived. Emeritus collaboration spaces should
clearly state their status. The foundation will continue to hold the IP that was created while the collaboration space was active.

#### Acceptance Criteria

Collaboration spaces may be granted Emeritus status via a 2/3 vote from the CPC.

### Incubating

#### Definition

Incubating spaces are collaboration spaces that are in the process of completing their on-boarding checklist to join the foundation.

#### Expectations

It is expected that incubating collaboration spaces will make an active effort to work through the on-boarding process in a reasonable timeframe. They will be offered foundation support to help do so.

#### Acceptance Criteria

1. consensus within private mailing list to move into incubation process

#### Graduation Criteria

1. Completion of the on-boarding checklist
1. 2/3 vote from the CPC to accept project
1. Completion of the entrance criteria for desired stage

## IV. Annual Review Process

The CPC shall develop an annual review process to determine whether projects are in the stage that accurately reflects their needs and goals.

[Incubating]: #incubating
83 changes: 83 additions & 0 deletions proposals/stage-0/COLLABORATION_NETWORK/README.md
@@ -0,0 +1,83 @@
# JavaScript Outreach Groups
> Stage 0

## Champion

Michael Dawson(@mhdawson)

## Description


The formation of the OpenJS Foundation was in support of a number of goals.
The first was to support JavaScript projects, providing a neutral place for people to collaborate and resources needed by those projects (legal, marketing, best practices governance support, infra, etc.).

Good progress has been made on this front with governance for accepting and onboarding projects having been defined and the first projects working through the process.

The second goal was to foster greater collaboration in the JavaScript ecosystem. Bringing
projects together in a single Foundation provides an easier path to collaboration between projects. We see this collaboration starting, for example, in the formation of the Standards
working group. However, I feel support for collaboration efforts should be broader than that scope.

The OpenJS Foundation should act as a neutral place for people to collaborate on areas of
importance to the JavaScript ecosystem. In some cases, this may align with projects and in
other cases be independent of the member projects. Regardless of the alignment with existing
member projects, the OpenJS Foundation should provide support for collaboration in
a particular area. Support could include but not be limited to:
* a repo in the OpenJS org
* marketing support
* mailing lists
* slack channels
* etc.
* representation on the CPC

In the same way, as we have a process/governance for reviewing projects that wish to join
the Foundation we could have process/governance for applications to start a new
`OpenJS Collaboration Space`. Those submitting the application need not be within
member projects and the application would be reviewed/accepted by the CPC as is the
case with projects.

My hope is that this approach would help provide more focus/support for collaboration
as an effort independent from member projects.

Some of the `Collaboration Spaces` that I could envision include:

* Security
* Test
* Runtimes (Node.js, electron, WASI, etc/.)
* Web Frameworks (Express, Fastify, Hapi, etc.)
* JavaScript Standards (existing Standards team?)
* Package management (npm, yarn)
* Registries, local caches
* Package ecosystem (Package-maintenance team in Node.js ?)


One key question is if this would better support collaboration versus just
adopting `Working Group` governance along the lines of what was supported
in the Node.js space. One area that would be different is that responsibility
would not necessarily be delegated from the CPC, as the "Space" might cover
an area with is outside the charter of the CPC, much like responsibility the
work in a specific project is outside the scope of the CPC.



## Required Resources


## Who would be responsible?


## How would success be measured?

A number of active and vibrant collaboration spaces.


## Why this proposal is important

See description above


## Unresolved Question


## What is necessary to complete this proposal

Approval of proposed process and governance changes