This is an automated email from the ASF dual-hosted git repository.

rabbah pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwhisk.git


The following commit(s) were added to refs/heads/master by this push:
     new 14cae16  Define processes for proposing OpenWhisk enhancements (#4818)
14cae16 is described below

commit 14cae166359925b34a181fef7a9c845e0eab6d84
Author: Dominic Kim <[email protected]>
AuthorDate: Wed Feb 19 01:28:14 2020 +0900

    Define processes for proposing OpenWhisk enhancements (#4818)
    
    Adds the first POEM which itself defines POEM - a process for proposing 
OpenWhisk enhancements.
---
 .github/ISSUE_TEMPLATE/proposal.md                 |  7 +++
 .../POEM-1-proposal-for-openwhisk-enhancements.md  | 65 ++++++++++++++++++++++
 proposals/POEM-N-template.md                       | 58 +++++++++++++++++++
 proposals/README.md                                | 40 +++++++++++++
 4 files changed, 170 insertions(+)

diff --git a/.github/ISSUE_TEMPLATE/proposal.md 
b/.github/ISSUE_TEMPLATE/proposal.md
new file mode 100644
index 0000000..51906ab
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/proposal.md
@@ -0,0 +1,7 @@
+## Enhancement Description
+Please summarize your proposal (e.g. the "what", the "why", and some of the 
"how").
+
+* Proposal: [a link to the corresponding pull request if it exists already]()
+
+## References
+Please provide links to prior discussion (e.g., Apache `dev` list), wikis, or 
related issues.
diff --git a/proposals/POEM-1-proposal-for-openwhisk-enhancements.md 
b/proposals/POEM-1-proposal-for-openwhisk-enhancements.md
new file mode 100644
index 0000000..7cdcf00
--- /dev/null
+++ b/proposals/POEM-1-proposal-for-openwhisk-enhancements.md
@@ -0,0 +1,65 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+# Title
+Process for introducing an OpenWhisk Enhancement (POEM)
+
+## Status
+* Current state: Draft
+* Author: @style95
+
+## Summary
+
+Introduce and document a process for suggesting and implementing a substantive 
OpenWhisk Enhancement (POEM).
+A developer or group of developers working together to propose and implement a 
major new feature or functionality, a new subsystem, or a breaking change 
should follow the process described herein and open a proposal for 
consideration under this directory.
+
+## Motivation
+
+As the project grows, more and more issues are getting complex and require 
multiple parties and an extended period of time to develop them.
+We can incubate, manage, and elaborate new ideas in OpenWhisk with a standard 
way and a well-tracked artifact.
+The goals are to enhance the discoverability of proposals, and to help 
community members who want to get involved in the project.
+
+## Proposed changes
+
+### Procedures
+1. Create a pull request to describe your proposal with [this 
template](./POEM-N-template.md). The initial state of a proposal should be 
_"Draft"_.
+2. [Create a corresponding issue]((../../../issues/new?template=proposal.md)) 
to propose a new change based on [this 
template](../github/ISSUE_TEMPLATE/proposal.md). It is mainly used to track 
discussion history.
+3. Discuss the proposals using to form a consensus and update your proposal 
based on comments as needed. It is important to be inclusive, and to notify the 
OpenWhisk community of meaningful changes using the Apache [`dev` 
list](https://openwhisk.apache.org/community.html) for this project. Other 
forms of communication such as Slack are OK but any meaningful results should 
be documented in issues and the `dev` list.
+4. When members form a rough consensus for the proposal. The proposal owner 
can request a vote via the dev mailing list.
+5. The voting process follows the [Apache Voting 
guideline](https://www.apache.org/foundation/voting.html). The PR can be merged 
with the _"In-progress"_ state if the voting is successfully closed without any 
veto.
+6. The implementation begins as the proposal is filed into the repo and any 
volunteer can join the implementation ideally.
+7. If the proposal is not accepted or no consensus is formed, the PR is merged 
with the state, _"Abandoned"_.
+8. The proposal state is changed to "Completed"_ and any corresponding issues 
are closed once the implementation is compete, and the code is merged into the 
master branch.
+
+### Note
+* Committers and the PMC are supposed to label issues with an appropriate 
label to track issue and pull request status.
+* There are 4 labels(`draft`, `in-progress`, `completed`, and `abandoned`) to 
specify the state of a proposal and one special label (`proposal`) to 
differentiate proposals from other issues.
+
+### Proposal Lifecycle
+A proposal may be in one of the following states:
+* **Draft**: A new enhancement is proposed and it is under discussion.
+* **In-progress**: A consensus for the proposal is formed and implementation 
is in progress.
+* **Completed**: Implementation is finished and the change is included in the 
master branch.
+* **Abandoned**: A proposal is not accepted for some reason such as ”no 
consensus is formed”.
+
+## Issue
+
+Abandoned proposals are filed in this directory for archival.
+This is to keep and track all proposals at any stage in one place.
+A new idea can be derived from the abandoned one.
diff --git a/proposals/POEM-N-template.md b/proposals/POEM-N-template.md
new file mode 100644
index 0000000..31a24de
--- /dev/null
+++ b/proposals/POEM-N-template.md
@@ -0,0 +1,58 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+This is a template for a filed proposal.
+Create a pull request using this template.
+
+# Title
+This is the title of the POEM.
+A good simple title would help to describe the purpose of a proposal.
+# Your Poem
+
+Roses are red.
+Violets are blue.
+Your ideas are beautiful.
+We welcome you.
+## Status
+* Current state: (Draft | In-progress | Completed | Abandoned)
+* Author(s): @author (Github ID)
+
+## Summary and Motivation
+
+This section summarize the proposal.
+A brief description, proposed changes, and effects are expected to be included.
+You should cover the "what" and the "why" and briefly the "how".
+
+## Proposed changes: Architecture Diagram (optional), and Design
+This section may include large subsections, diagrams, links to references, and 
so on.
+
+It is recommended to include an architectural diagram.
+A link to an external resource is enough.
+
+### Implementation details
+
+This section describe how to implement the proposal.
+
+## Issue (optional)
+
+Any issue(compatibility, drawbacks, etc) should be describe here.
+
+## Integration and Migration plan (optional)
+
+If a proposal contains any breaking changes, it is required to include a plan 
for integration and migration.
diff --git a/proposals/README.md b/proposals/README.md
new file mode 100644
index 0000000..0c3b57a
--- /dev/null
+++ b/proposals/README.md
@@ -0,0 +1,40 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+# How to submit a Proposal for an OpenWhisk Enhancement (POEM)
+
+This directory contains Proposals for OpenWhisk Enhancements (POEM). Proposed 
changes, new features and ideas are documented using a process outlined in this 
document. If you're a contributor interested in out of the proposals, you are 
encouraged to reach out to the proposal authors. This is a welcoming community 
and we look forward to your contributions.
+This directory contains approved proposals. The one who wants to include any 
major new feature, subsystem, piece of functionality and any breaking changes 
is supposed to open a proposal.
+
+You can find the full details in 
[POEM-1](./POEM-1-proposal-for-openwhisk-enhancements.md).
+
+## Quickstart to propose a new change.
+1. Copy the [POEM template](./POEM-N-template.md) and open a pull request.
+2. [Create a corresponding issue](/issues/new?template=proposal.md) with the 
prefix, `[Proposal]` in the title.
+3. Follow the process outlined in the 
[POEM-1](./POEM-1-proposal-for-openwhisk-enhancements.md).
+
+## When should I open a proposal?
+Create an issue when you propose:
+ * any major new feature, subsystem, or piece of functionality
+ * a big change which requires multiple PRs to complete it
+ * a breaking change that impacts public interfaces, data structures, or core 
execution paths.
+
+If you are not sure, ask to committers or the [PMC] of OpenWhisk.
+
+The POEM process was inspired by KEP( Kubernetes Enhancement Proposals), KIP 
(Kafka Improvement Proposal), and Cordova-discuss.

Reply via email to