You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Current »

1 Communication

  1. The communication channel of record is dev@pekko.apache.org which is archived at https://lists.apache.org/list.html?dev@pekko.apache.org
  2. Issues relating to security must not be discussed publicly. See the ASF Security Policy. Pekko PPMC members will discuss the topic using the private@pekko.apache.org mailing list.
  3. Significant changes should be discussed on the dev mailing list. Releases are also discussed on the dev mailing list. Release candidates must be voted on using the dev mailing list.
  4. Apache Pekko follows the Apache voting rules: https://www.apache.org/foundation/voting.html
  5. It is ok to start discussions by raising a GitHub Issue, Pull Request or Discussion. If you intend working a large Pull Request, it is best to discuss it by raising a related GitHub issue first or by emailing the dev mailing list. These GitHub issues/PRs/discussions are recorded to https://lists.apache.org/list.html?notifications@pekko.apache.org
    1. If there is disagreement about how to proceed, then it is best to start a discussion on the dev mailing list.
    2. A vote can be called by a Pekko committer if a consensus has not been formed.
  6. Usage queries should ideally go the users@pekko.apache.org mailing list https://lists.apache.org/list.html?users@pekko.apache.org
  7. All communications should adhere to the ASF Code of Conduct.

2 Development

  1. Defects are recorded as GitHub issue for the associated Pekko module.
  2. All changes to main and release branches must be made via pull requests.
  3. All pull requests
    1. must be reviewed and approved by at least one committer who is not the developer(s)
    2. Pekko reviewers should try to involve other Pekko committers if the change is not trivial
    3. large changes should have GitHub issues created for discussion first
    4. should be targeted at the `main` branch
    5. a backport PR can be considered when the original PR is merged
      1. any PR that changes existing APIs or internal behaviours is unlikely to be backported
    6. merges should ideally be of `Squash and Merge` type but we occasionally want to preserve the commit history of the PR branch and in this case, `Rebase and Merge` is ok
    7. when a PR has been reviewed but requires trivial changes to be mergable (such as resolving a merge conflict without otherwise changing the general properties of the PR), the author may apply those changes and then merge the PR themselves. Larger updates require a new review.
  4. We enforce the minimum review requirements using GitHub protection rules (defined in our .asf.yaml file) but we encourage developers and reviewers to allow open discussion. At the moment, there are not many active contributors so there may not be a lot of discussion.
  5. In the end of the day, it is possible to revert changes if someone misses the original discussion. These discussions should seek consensus and try to involve the developers and reviewers of the original changes.
  6. Try to assign milestone markers to Issues and PRs so that we can keep track of the versions where they are merged or where we intend to merge them.

3 Process Changes

  1. All processes are recorded in this wiki.
  2. In time, we hope to formalise a Pekko Improvement Proposals procedure. This procedure would be similar to similar procedures used in other large projects. Scala Improvement Process and Kafka Improvement Proposals are examples. In the interim, using GitHub Discussions and the dev mailing list are good ways to make proposals for new features and behaviour changes.
  3. Processes may be changed by the process specified in the Apache voting process document section on  procedural issues.
  • No labels