[go: up one dir, main page]

Contribute to Apache Beam

Apache Beam is an open source project developed and maintained by a friendly community of users, contributors, committers, and project management committee (PMC) members.

Everyone is welcome to join and contribute to the project in multiple ways, not only with code contributions. Contributions like asking questions, reporting bugs, proposing new features, improving documentation, adding to the website, organizing events, or writing blog posts among other contributions, are welcome and recognized.

What’s In It for You?

Ways You Can Contribute

Here’s a list of things you can do to get started contributing:

ContributionHow to do it
Participate and share ideas
File a bug
  1. Create a GitHub issue and mark it as a bug

  2. OR

  3. Send an email to dev@beam.apache.org with subject: [Bug] <bug summary> and include as much detail as possible.
Propose a feature
  1. Create a GitHub issue and mark it as a feature request

  2. OR

  3. Send an email to dev@beam.apache.org with subject: [Feature Proposal] <your idea>.
Fix an open issue
  • Comment “.take-issue” on the issue you'd like to work on. This will cause the issue to be assigned to you.
  • If appropriate, make your change and open a Pull Request.
  • Comment “.close-issue” to close the issue once all work has been completed.
  • You can find good first issues using the "good first issue" label.
  • You can also find more developer documentation on the wiki.
Improve documentationClick the edit icon in our documentation and it’ll take you to our GitHub, where you can automatically make the change you want and send a Pull Request.
Improve the website
Write a blogpostTell a story about your custom use cases or share your recommendations and best practices.
Share your success storyVisit our Case Studies page and share your story or add your company’s logo.
Produce a social media publicationShare the use cases that Beam helps empower or the data processing performance you achieved. Spread the word about the upcoming Beam Summits and conferences.
Organize an eventSend an email to dev@beam.apache.org to share your idea about the Beam event you want to organize.
Build a new feature like a new IO connector or PTransform
Share a code sample or template
Test a release candidateAnybody can propose a release via the dev@beam.apache.org mailing list. Try Apache Beam releases in your projects, vote for release candidates, inform the community about the results and any issues found via dev@beam.apache.org. Learn more about how to validate a Beam release here.
Other ideas?If you want to contribute in another way and you’re not sure how to get started, send a proposal to dev@beam.apache.org.

Become a Committer

If you like contributing to Apache Beam, you are active in the Apache Beam mailing lists, Slack channel, or you attend/organize events, then you are a candidate to become a project committer.

Committers are community members that have write access to the project’s repositories (i.e., they can modify the code, documentation, and website by themselves and also assist with code reviews and accept other contributions).

Even though there is no strict protocol to become a committer, the most important thing we look for is that you display the traits of an Apache Beam committer and that you have been consistently contributing to the project and community.

Candidates for new committers are suggested by current committers or PMC members, and voted upon by the PMC team. So if you would like to become a committer, engage with the community and keep contributing to Apache Beam. You might also want to talk to other committers and ask for their advice and guidance. Feel free to email any committer directly and ask for their advice!

The Traits of an Apache Beam Committer

Knows, upholds, and reinforces the Beam community’s practices. Learn more.
Knows, upholds, and reinforces the Apache Software Foundation code of conduct. Learn more.
Knows, upholds, and reinforces the responsibilities of an Apache Software Foundation committer. Learn more.

Become a Project Management Committee (PMC) Member

The PMC is the official managing body of the project as per the Apache Software Foundation governance model: “The Apache Way”. PMC members vote to set Apache Beam’s community and technical direction and are directly responsible for overseeing releases and the healthy development of the community.

PMC members are also responsible for ensuring their project follows certain core requirements set by the board or other corporate officers of the ASF, like following Legal, Branding, and Infrastructure related requirements, along with ensuring their community operates within the ASF Code of Conduct.

Since the PMC members are responsible for establishing the Apache Beam vision and leading our community to work in harmony to achieve it, we look for committed individuals who can perform the responsibilities of the PMC, as well as lead our community to fulfill its vision. This is why we strive to build a diverse PMC that complements skills and expertise sharing the same sets of values.

Ideally, we find candidates among active community members that have shown initiative to shape the direction of Beam and have shown willingness to learn the official processes, such as how to create or verify releases, how to ensure trademark compliance for events, among others. We also expect PMC candidates to be level-headed, constructive, supportive, and willing to “disagree and commit” at times.

A PMC member is also a committer, so if they are not initiated already, they will automatically become committers when joining the PMC. Therefore, the traits of Apache Beam committers also apply to PMC members.

Hear from the Community

Knowledge sharing and collaboration is something that comes naturally in the community. Together, we can work with the most complex problems and just solve them.

Matt Casters
Co-founder
Apache Hop

“I really enjoy working with Beam. The understanding of its internals empowers you to fine-tune the open source, customize it. Beam is very powerful and the abstraction is its most significant feature.

Talat Ulyarer
Sr Principal
Software Engineer
Palo Alto Networks

My takeaway: everyone should join the [Apache Beam] mailing lists! This is where all the discussions happen, and it is a great place for learning. I also encourage everyone to attend and participate in conferences to meet and connect with the community.

Tobias Kaymak
Senior Data Engineer
Ricardo