Skip to content

Commit

Permalink
Setup Technical Steering Committee (kedro-org#1201)
Browse files Browse the repository at this point in the history
* Add technical charter and contribution guidelines

Signed-off-by: Yetunde Dada <[email protected]>

Co-authored-by: Yetunde Dada <[email protected]>
Co-authored-by: Merel Theisen <[email protected]>
Co-authored-by: Lorena Bălan <[email protected]>
Co-authored-by: Ivan Danov <[email protected]>
  • Loading branch information
5 people authored Feb 18, 2022
1 parent 6c579d5 commit acc1e2d
Show file tree
Hide file tree
Showing 9 changed files with 85 additions and 37 deletions.
49 changes: 18 additions & 31 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@
We welcome any and all contributions to Kedro, at whatever level you can manage. For example, you could:

- [Join the community](#join-the-community-and-help-it-grow)
- [Troubleshoot other users' questions or get answers to your own queries](#community-qa)
- [Report a bug](#report-a-bug)
- [Propose a new feature](#propose-a-new-feature)
- [Review other contributors' PRs](#review-community-pull-requests)
- [Contribute a bug fix or a new feature](#contribute-a-fix-or-feature)
- [Contribute to the documentation](#contribute-to-the-documentation)
- [Contribute to the project](#contribute-to-the-project)
- [Join our Technical Steering Committee](#join-our-technical-steering-committee)


You can also suggest anything else that you think improves the community for us all!
Expand All @@ -17,38 +13,29 @@ You can also suggest anything else that you think improves the community for us

The Kedro team pledges to foster and maintain a friendly community. We enforce a [Code of Conduct](./CODE_OF_CONDUCT.md) to ensure every Kedroid is welcomed and treated with respect.

## Join the community and help it grow!
## Join the community

You can find the Kedro community on our [Discord server](https://discord.gg/akJDeVaxnB), which is where we share news and announcements, and general chat. You're also welcome to post links here to any articles or videos about Kedro that you create, or find, such as how-tos, showcases, demos, blog posts or tutorials.

We occasionally post on the [QuantumBlack blog](https://medium.com/quantumblack/) and we curate a [Github repo that lists content created by the Kedro community](https://github.com/kedro-org/kedro-community).
We also curate a [Github repo that lists content created by the Kedro community](https://github.com/kedro-org/kedro-community).

## Community Q&A
## Contribute to the project

We encourage you to ask and answer technical questions on [GitHub discussions](https://github.com/kedro-org/kedro/discussions).
There are quite a few ways to contribute to the project, find inspiration from the table below.

## Report a bug
|Activity|Description|
|-|-|
|Community Q&A|We encourage you to ask and answer technical questions on [GitHub discussions](https://github.com/kedro-org/kedro/discussions) or [Discord](https://discord.gg/akJDeVaxnB), but the former is often preferable since it will be picked up by search engines.|
|Report a bug|We use [GitHub issues](https://github.com/kedro-org/kedro/issues) to keep track of known bugs. We keep a close eye on them and update them when we have an internal fix in progress. Before you report a new issue, do your best to ensure your problem hasn't already been reported. If it has, just leave a comment on the existing issue, rather than create a new one. <br /> If you have already checked the existing [GitHub issues](https://github.com/kedro-org/kedro/issues) and are still convinced that you have found odd or erroneous behaviour then please file a new one.|
|Propose a new feature|If you have new ideas for Kedro functionality then please open a [GitHub issue](https://github.com/kedro-org/kedro/issues) and describe the feature you would like to see, why you need it, and how it should work.|
|Review pull requests|Check the [Kedro repo to find open pull requests](https://github.com/kedro-org/kedro/pulls) and contribute a review!|
|Contribute a fix or feature|If you're interested in contributing fixes to code or documentation, first read our [guidelines for contributing developers](https://kedro.readthedocs.io/en/stable/14_contribution/02_developer_contributor_guidelines.html) for an explanation of how to get set up and the process you'll follow. Once you are ready to contribute, a good place to start is to take a look at the `good first issues` and `help wanted issues` on [GitHub](https://github.com/kedro-org/kedro/issues).|
|Contribute to the documentation|You can help us improve the [Kedro documentation online](https://kedro.readthedocs.io/en/stable/). Send us feedback as a [GitHub issue](https://github.com/kedro-org/kedro/issues) or start a documentation discussion on [GitHub](https://github.com/kedro-org/kedro/discussions).You are also welcome to make a raise a PR with a bug fix or addition to the documentation. First read the guide [Contribute to the Kedro documentation](https://kedro.readthedocs.io/en/stable/14_contribution/04_documentation_contributor_guidelines.html).

We use [GitHub issues](https://github.com/kedro-org/kedro/issues) to keep track of known bugs. We keep a close eye on them and update them when we have an internal fix in progress.

Before you report a new issue, do your best to ensure your problem hasn't already been reported. If it has, just leave a comment on the existing issue, rather than create a new one. If you have already checked the existing [GitHub issues](https://github.com/kedro-org/kedro/issues) and are still convinced that you have found odd or erroneous behaviour then please file a new one.
## Join our Technical Steering Committee

## Propose a new feature
If you have new ideas for Kedro functionality then please open a [GitHub issue](https://github.com/kedro-org/kedro/issues) and describe the feature you would like to see, why you need it, and how it should work.
Kedro is an incubating project in [LF AI & Data](https://lfaidata.foundation/), a sub-organisation within the Linux
Foundation that focuses on open innovation within the data and AI space. A group of maintainers, known as the Technical Steering Committee (TSC), govern the project. You can read more about the structure of our TSC in our [Technical Charter](./kedro_technical_charter.pdf).


## Review community pull requests

Check the [Kedro repo to find open pull requests](https://github.com/kedro-org/kedro/pulls) and contribute a review!

## Contribute a fix or feature

If you're interested in contributing fixes to code or documentation, first read our [guidelines for contributing developers](https://kedro.readthedocs.io/en/stable/14_contribution/02_developer_contributor_guidelines.html) for an explanation of how to get set up and the process you'll follow.

Once you are ready to contribute, a good place to start is to take a look at the `good first issues` and `help wanted issues` on [GitHub](https://github.com/kedro-org/kedro/issues).

## Contribute to the documentation

You can help us improve the [Kedro documentation online](https://kedro.readthedocs.io/en/stable/). Send us feedback as a [GitHub issue](https://github.com/kedro-org/kedro/issues) or start a documentation discussion on [GitHub](https://github.com/kedro-org/kedro/discussions).

You are also welcome to make a raise a PR with a bug fix or addition to the documentation. First read the guide [Contribute to the Kedro documentation](https://kedro.readthedocs.io/en/stable/14_contribution/04_documentation_contributor_guidelines.html).
We invite community members to join the TSC and help define the future of the Kedro project. Read the [guidance on becoming a Kedro maintainer](https://kedro.readthedocs.io/en/stable/14_contribution/technical_steering_committee.html) to understand the process of joining the TSC.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@

## What is Kedro?

Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It borrows concepts from software engineering and applies them to machine-learning code; applied concepts include modularity, separation of concerns and versioning.

Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It borrows concepts from software engineering and applies them to machine-learning code; applied concepts include modularity, separation of concerns and versioning. Kedro is hosted by the [LF AI & Data Foundation](https://lfaidata.foundation/).

## How do I install Kedro?

Expand Down
1 change: 1 addition & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
* Fixed `PickleDataSet` to be copyable and hence work with the parallel runner.
* Upgraded `pip-tools`, which is used by `kedro build-reqs`, to 6.5 (Python 3.7+ only). This `pip-tools` version is compatible with `pip>=21.2`, including the most recent releases of `pip`. Python 3.6 users should continue to use `pip-tools` 6.4 and `pip<22`.
* Added `astro-iris` as alias for `astro-airlow-iris`, so that old tutorials can still be followed.
* Added details about [Kedro's Technical Steering Committee and governance model](https://kedro.readthedocs.io/en/0.17.7/14_contribution/technical_steering_committee.html).

## Minor breaking changes to the API

Expand Down
1 change: 1 addition & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@
"https://www.java.com/en/download/help/download_options.html", # "403 Client Error: Forbidden for url"
# "anchor not found" but it's a valid selector for code examples
"https://docs.delta.io/latest/delta-update.html#language-python",
"https://github.com/kedro-org/kedro/blob/main/kedro_technical_charter.pdf",
]

# retry before render a link broken (fix for "too many requests")
Expand Down
2 changes: 1 addition & 1 deletion docs/source/01_introduction/01_introduction.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# What is Kedro?

Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It borrows concepts from software engineering best-practice and applies them to machine-learning code; applied concepts include modularity, separation of concerns and versioning.
Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It borrows concepts from software engineering and applies them to machine-learning code; applied concepts include modularity, separation of concerns and versioning. Kedro is hosted by the [LF AI & Data Foundation](https://lfaidata.foundation/).

For the source code, take a look at the [Kedro repository on Github](https://github.com/kedro-org/kedro).

Expand Down
4 changes: 1 addition & 3 deletions docs/source/12_faq/01_faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ The following lists a set of questions that we have been asked about Kedro in th

## What is Kedro?

Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It
borrows concepts from software engineering and applies them to machine-learning code; applied concepts include
modularity, separation of concerns and versioning.
Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code. It borrows concepts from software engineering and applies them to machine-learning code; applied concepts include modularity, separation of concerns and versioning. Kedro is hosted by the [LF AI & Data Foundation](https://lfaidata.foundation/).

For the source code, take a look at the [Kedro repository on Github](https://github.com/kedro-org/kedro).

Expand Down
61 changes: 61 additions & 0 deletions docs/source/14_contribution/technical_steering_committee.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Join the Technical Steering Committee

The term "Technical Steering Committee (TSC)" describes the group of people that maintain Kedro. The TSC has many responsibilities surrounding the project's future development; you can read about our duties in our [Technical Charter](https://github.com/kedro-org/kedro/blob/main/kedro_technical_charter.pdf). We accept new members on the TSC as this fuels Kedro's continued development. You can see [a list of Kedro's current and past maintainers](../12_faq/01_faq.md#who-maintains-kedro).

In this section, we detail:
- [Responsibilities of a maintainer](#responsibilities-of-a-maintainer)
- [Requirements to become a maintainer](#requirements-to-become-a-maintainer)
- [Application process](#application-process)
- [Voting process](#voting-process)

## Responsibilities of a maintainer

### Product development

- Be available for at least one full day per week to help with product development
- Attend community meetings to discuss the project plans and roadmap
- Be proactive about project maintenance including security, updates, CI/CD, builds and infrastructure
- Prioritise the work following the product roadmap to move the project forward

### Community management

- Make sure that ongoing pull requests are moving forward at the right pace or closing them
- Guide the community to use the right channel:
- [Github](https://github.com/kedro-org/kedro/) for feature requests and bug reports
- [GitHub discussions](https://github.com/kedro-org/kedro/discussions)
- [Discord](https://discord.gg/akJDeVaxnB)

## Requirements to become a maintainer

Just contributing does not make you a maintainer; you need to demonstrate commitment to Kedro's long-term success by
working with existing maintainers for a period of time.

We look for commitment markers with the following:

- Being able to write solid code and collaborate with the team and community
- Understanding the project's code base and internals
- Doing pull requests from our backlog or roadmap; maintainers need to work towards a common goal
- Learning how the team works, including processes for testing, quality standards and code review
- Evidence of already having started pull requests and code reviews under the guidance of maintainers; including asking
for help where needed
- Showing excitement about the future of Kedro
- Building a collaborative relationship with the existing team

## Application process

Quarterly, existing maintainers will curate a list of contributors that have shown regular activity on the project over the prior months and want to become maintainers. From this list, maintainer candidates are selected and proposed for a vote.

Following a successful vote, candidates are added to the `kedro-developers` team on the Kedro GitHub organisation
and the `kedro-team` group on the Kedro Discord organisation.

## Voting process

Voting can change project maintainers and decide on the future of Kedro. The TSC leads it as voting maintainers of Kedro. The voting period is one week and is either performed on GitHub Discussions or through a pull request.

### Other issues or proposals

Open Github Discussions host votes on issues, proposals and changes affecting the future of Kedro, including amendments to our ways of working described in this document. These votes require **a 1/2 majority**.

### Adding or removing maintainers

Adding or removing maintainers requires a pull request against [our team list](../12_faq/01_faq.md#who-maintains-kedro). The decision is made based on TSC members votes in that pull request. Additions and removals of maintainers require **a 2/3 majority**.
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ Welcome to Kedro's documentation!
14_contribution/02_developer_contributor_guidelines
14_contribution/03_backwards_compatibility
14_contribution/04_documentation_contributor_guidelines
14_contribution/technical_steering_committee

API documentation
=================
Expand Down
Binary file added kedro_technical_charter.pdf
Binary file not shown.

0 comments on commit acc1e2d

Please sign in to comment.