SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
How to
contribute to
Apache Flink®
Robert Metzger
Flink PMC, Software Engineer @ Ververica
rmetzger@apache.org
@rmetzger_
What you will learn today
• What is the Apache Software Foundation
• What are the roles at an Apache project
• How to become a committer
• How to contribute to Apache Flink
• The mailing lists
• The documentation
• Contributing code
• Q & A / Hands-on
Flink and the Apache Software Foundation
• Flink is one of more than 300 top level projects at the ASF
Independent open
source project:
"Stratosphere"
Apache Incubator:
“Apache Flink
(incubating)”
Top level Apache
project
Attic
2009 – 2014 April 2014 – Dec 2014 Since Dec 2014 Hopefully never J
Apache Software Foundation
• Celebrating 20 years of ASF this year
• Initially about Apache HTTP server, “a
patchy server”
• Today, 300+ open source projects (+ 52
incubating)
• 730 members and 7000+ committers
• All volunteer, self-organized, decentralized
• Providing projects with legal and
infrastructure support, and a blueprint
and experience for successful open source
21 founding members
[photo attribution (CC BY) Mark Cox. Tagged image at https://www.flickr.com/photos/iamamoose/63963722/in/album-1381277/ ; gallery at https://www.flickr.com/photos/iamamoose/albums/1381277]
“Community over code”
Apache License 2.0
• Top 3 open source license, used by all ASF projects and many others
• Business friendly (derivative work is allowed to be licensed
differently)
Recommended website: https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)
Roles at the ASF (& Flink)
ASF Members
ASF Board of
directors Flink PMC Chair
Flink PMC (20) Project Management
Committee
Flink Committers
(45)
Contributors &
Users
Project oversight: review
releases, long-term health
of project
Permission to commit code,
<user>@apache.org email
Implementation, testing,
documentation, user
support etc.
Day-to-day oversight of
the foundation
Control & “ownership”
members@a.o
board@a.o
private@f.a.o
dev@f.a.o
user@f.a.o
user-zh@f.a.o
commits@f.a.o
issues@f.a.o
public
builds@f.a.o
Becoming a Flink committer: Requirements
• Formally: PMC will vote on a community member to become a
committer (on private@)
• Good contributions over a longer period of time, good technical
oversights and experience (for reviews and discussions)
• Understanding of “The Apache Way”, good community engagement
Contribute to User Support
• user@flink.apache.org (and user-zh@f.a.o) are the primary support
channels: ~150 emails/week. 1000+ subscribers
• Error messages, configuration, API
• Architecture / Design questions
• Stack Overflow
• [apache-flink] tag: 2800 questions,
1100 unanswered
• JIRA (Bug tracker)
• Often, incoming bug reports are ”just” problems
using Flink
Sign up & answer questions
Contribute to
Evangelism
• Meetups
• Speak at your local meetup
• Host a meetup group in your city (Ververica
can help you!)
• Help with venue, organization etc.
• Conferences
• Submit talks at conferences
• Blogs
• Share your experience
• Twitter, LinkedIn, Facebook
• Help spreading the word
Contribute to Flink’s development
• dev@flink.apache.org is the main communication and decision-
making channel of Flink
• Discussion of FLIPs (Flink Improvement Proposals)
• Roadmap planning, release scheduling
• Release voting
• Community health
• All other development and community-related questions (which libraries do
we use, how do we approach large changes)
Join the discussions
Voting: How decisions are being made
• Apache projects vote on: releases, committers, PMC members, procedural
changes, code changes
• +1 / -1, because …
• Most important vote: releases
• Duration of at least 72 hours (workdays)
• Legal checks (checksums, signatures, license documentation) and functional checks (end to
end tests, manual tests, performance)
• See: https://cwiki.apache.org/confluence/display/FLINK/Verifying+a+Flink+Release
• Lazy approval: Assume consensus after 72 hours, if nobody objects
• Used for code changes, smaller proposals, procedural changes, ...
• Currently under discussion: Flink Bylaws:
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=120731026
Contribute to Flink’s development
• Contribute Documentation (or website)
git clone https://github.com/apache/flink
cd flink/docs/docker
./run.sh
• An easy way to have a lot of impact on Flink
• Jira tickets in component “Documentation” (currently 160
unresolved)
• Small fixes as “[hotfix]” PRs, larger changes through JIRA->PR process
• See also: https://flink.apache.org/contribute-documentation.html
Contribute to Flink’s development: Code
• Contribute code
JIRA Ticket: Get consensus Implement Review Merge
dev@ discussion &
FLIP
Get buy in on your change and find a
committer willing to review and merge
Involved changes often
require a design
document
Reviews happen in pull
requests in a 4-step
process
Contribute to Flink’s development: JIRA
• A good JIRA ticket …
• … is created ahead of time
• ... Clearly describes the problem to solve
• … is assigned to a component, has the right priority
• Get buy-in from a committer … you will need somebody to review and
merge your change later on
• Expect a few days till there’s a first reaction (depending on the
component, complexity) and weeks till there’s consensus
Contribute to Flink’s development: Pull
Request Review
Description
• Formal requirements: JIRA ID in title, description of the change, clean
history (commits prefixed with JIRA ID)
Consensus
• Check if there’s agreement to merge this change as is
• Should not be a problem if JIRA has been “approved”
Architecture
• Architectural fit within Flink
Quality
• Code Quality: documentation, error handling, concurrency / threading,
dependencies
Contribute to Flink’s development: Pull
Request Review: Notes
• Be patient: Reviews take time
• In particular when a release is happening
• Contribute reviews: If you don’t have a feature / fix to contribute,
help checking pull requests in the “quality” stage (see label)
• Stay in touch with the committer managing your contribution
Conclusion
• Introduction on Apache Flink and the ASF
• There are many ways to contribute
• User support
• Project steering
• Evangelism
• Documentation / website
• Code reviews
• Fixes / features
• Even if it sometimes doesn’t seem so: Contributions are very
welcome!
• Reach out to me rmetzger@apache.org / @rmetzger_ if you have
questions
Check out the schedule & keynotes
on our website
Q & A
Bonus: Hands-on session to help people setting up their development
environments
Robert Metzger
Flink PMC, Software Engineer @ Ververica
rmetzger@apache.org
@rmetzger_

Más contenido relacionado

La actualidad más candente

Fabian Hueske - Stream Analytics with SQL on Apache Flink
Fabian Hueske - Stream Analytics with SQL on Apache FlinkFabian Hueske - Stream Analytics with SQL on Apache Flink
Fabian Hueske - Stream Analytics with SQL on Apache Flink
Ververica
 
Aljoscha Krettek - Apache Flink for IoT: How Event-Time Processing Enables Ea...
Aljoscha Krettek - Apache Flink for IoT: How Event-Time Processing Enables Ea...Aljoscha Krettek - Apache Flink for IoT: How Event-Time Processing Enables Ea...
Aljoscha Krettek - Apache Flink for IoT: How Event-Time Processing Enables Ea...
Ververica
 

La actualidad más candente (20)

Aljoscha Krettek - The Future of Apache Flink
Aljoscha Krettek - The Future of Apache FlinkAljoscha Krettek - The Future of Apache Flink
Aljoscha Krettek - The Future of Apache Flink
 
Robust Stream Processing With Apache Flink
Robust Stream Processing With Apache FlinkRobust Stream Processing With Apache Flink
Robust Stream Processing With Apache Flink
 
Flink September 2015 Community Update
Flink September 2015 Community UpdateFlink September 2015 Community Update
Flink September 2015 Community Update
 
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
 
Fabian Hueske - Stream Analytics with SQL on Apache Flink
Fabian Hueske - Stream Analytics with SQL on Apache FlinkFabian Hueske - Stream Analytics with SQL on Apache Flink
Fabian Hueske - Stream Analytics with SQL on Apache Flink
 
Jenkins Pipeline on your Local Box to Reduce Cycle Time
Jenkins Pipeline on your Local Box to Reduce Cycle TimeJenkins Pipeline on your Local Box to Reduce Cycle Time
Jenkins Pipeline on your Local Box to Reduce Cycle Time
 
Plataforma distribuída de Microserviços ou, como a Olist funciona
Plataforma distribuída de Microserviços ou, como a Olist funcionaPlataforma distribuída de Microserviços ou, como a Olist funciona
Plataforma distribuída de Microserviços ou, como a Olist funciona
 
Apache Flink Community Update March 2015
Apache Flink Community Update March 2015Apache Flink Community Update March 2015
Apache Flink Community Update March 2015
 
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by FlinkFlink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
Flink Forward Berlin 2017: Hao Wu - Large Scale User Behavior Analytics by Flink
 
Data Pipelines - Big Data meets Salesforce
Data Pipelines - Big Data meets SalesforceData Pipelines - Big Data meets Salesforce
Data Pipelines - Big Data meets Salesforce
 
Zurich Flink Meetup
Zurich Flink MeetupZurich Flink Meetup
Zurich Flink Meetup
 
Apache flink 1.7 and Beyond
Apache flink 1.7 and BeyondApache flink 1.7 and Beyond
Apache flink 1.7 and Beyond
 
Olist Architecture v2.0
Olist Architecture v2.0Olist Architecture v2.0
Olist Architecture v2.0
 
Aljoscha Krettek - Apache Flink for IoT: How Event-Time Processing Enables Ea...
Aljoscha Krettek - Apache Flink for IoT: How Event-Time Processing Enables Ea...Aljoscha Krettek - Apache Flink for IoT: How Event-Time Processing Enables Ea...
Aljoscha Krettek - Apache Flink for IoT: How Event-Time Processing Enables Ea...
 
Do Flink on Web with FLOW
Do Flink on Web with FLOWDo Flink on Web with FLOW
Do Flink on Web with FLOW
 
How to Contribute to Apache Flink (and Flink at the Apache Software Foundation)
How to Contribute to Apache Flink (and Flink at the Apache Software Foundation)How to Contribute to Apache Flink (and Flink at the Apache Software Foundation)
How to Contribute to Apache Flink (and Flink at the Apache Software Foundation)
 
Streaming in the Wild with Apache Flink
Streaming in the Wild with Apache FlinkStreaming in the Wild with Apache Flink
Streaming in the Wild with Apache Flink
 
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
 
Stream Analytics with SQL on Apache Flink
Stream Analytics with SQL on Apache FlinkStream Analytics with SQL on Apache Flink
Stream Analytics with SQL on Apache Flink
 
Unify Enterprise Data Processing System Platform Level Integration of Flink a...
Unify Enterprise Data Processing System Platform Level Integration of Flink a...Unify Enterprise Data Processing System Platform Level Integration of Flink a...
Unify Enterprise Data Processing System Platform Level Integration of Flink a...
 

Similar a Webinar: How to contribute to Apache Flink - Robert Metzger

How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Alfresco Day Madrid - Toni de la Fuente - Roadmap 2011
Alfresco Day Madrid - Toni de la Fuente - Roadmap 2011Alfresco Day Madrid - Toni de la Fuente - Roadmap 2011
Alfresco Day Madrid - Toni de la Fuente - Roadmap 2011
Toni de la Fuente
 
Alfresco day madrid toni de la fuente - roadmap 2011
Alfresco day madrid   toni de la fuente - roadmap 2011Alfresco day madrid   toni de la fuente - roadmap 2011
Alfresco day madrid toni de la fuente - roadmap 2011
Alfresco Software
 

Similar a Webinar: How to contribute to Apache Flink - Robert Metzger (20)

Community update on flink 1.9 and How to Contribute to Flink
Community update on flink 1.9 and How to Contribute to FlinkCommunity update on flink 1.9 and How to Contribute to Flink
Community update on flink 1.9 and How to Contribute to Flink
 
How to contribute to Apache Flink @ Seattle Flink meetup
How to contribute to Apache Flink @ Seattle Flink meetupHow to contribute to Apache Flink @ Seattle Flink meetup
How to contribute to Apache Flink @ Seattle Flink meetup
 
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?
 
Flink Forward SF 2017: Tzu-Li (Gordon) Tai - Joining the Scurry of Squirrels...
Flink Forward SF 2017: Tzu-Li (Gordon) Tai -  Joining the Scurry of Squirrels...Flink Forward SF 2017: Tzu-Li (Gordon) Tai -  Joining the Scurry of Squirrels...
Flink Forward SF 2017: Tzu-Li (Gordon) Tai - Joining the Scurry of Squirrels...
 
The Apache Way
The Apache WayThe Apache Way
The Apache Way
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day
 
Zero to 365 in One Hour: Processes and Tools for Effective SharePoint Solutions
Zero to 365 in One Hour: Processes and Tools for Effective SharePoint SolutionsZero to 365 in One Hour: Processes and Tools for Effective SharePoint Solutions
Zero to 365 in One Hour: Processes and Tools for Effective SharePoint Solutions
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Management de communaute
Management de communauteManagement de communaute
Management de communaute
 
Code the docs-yu liu
Code the docs-yu liuCode the docs-yu liu
Code the docs-yu liu
 
Introduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache WayIntroduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache Way
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?
 
IT Systems for Knowledge Management used in Software Engineering (2010)
IT Systems for Knowledge Management used in Software Engineering (2010)IT Systems for Knowledge Management used in Software Engineering (2010)
IT Systems for Knowledge Management used in Software Engineering (2010)
 
Alfresco Day Madrid - Toni de la Fuente - Roadmap 2011
Alfresco Day Madrid - Toni de la Fuente - Roadmap 2011Alfresco Day Madrid - Toni de la Fuente - Roadmap 2011
Alfresco Day Madrid - Toni de la Fuente - Roadmap 2011
 
Alfresco day madrid toni de la fuente - roadmap 2011
Alfresco day madrid   toni de la fuente - roadmap 2011Alfresco day madrid   toni de la fuente - roadmap 2011
Alfresco day madrid toni de la fuente - roadmap 2011
 
PR workflow
PR workflowPR workflow
PR workflow
 
Apache Flink - Community Update January 2015
Apache Flink - Community Update January 2015Apache Flink - Community Update January 2015
Apache Flink - Community Update January 2015
 
The Apache Way: A Proven Way Toward Success
The Apache Way: A Proven Way Toward SuccessThe Apache Way: A Proven Way Toward Success
The Apache Way: A Proven Way Toward Success
 

Más de Ververica

Fabian Hueske - Stream Analytics with SQL on Apache Flink
Fabian Hueske - Stream Analytics with SQL on Apache FlinkFabian Hueske - Stream Analytics with SQL on Apache Flink
Fabian Hueske - Stream Analytics with SQL on Apache Flink
Ververica
 

Más de Ververica (20)

2020-05-06 Apache Flink Meetup London: The Easiest Way to Get Operational wit...
2020-05-06 Apache Flink Meetup London: The Easiest Way to Get Operational wit...2020-05-06 Apache Flink Meetup London: The Easiest Way to Get Operational wit...
2020-05-06 Apache Flink Meetup London: The Easiest Way to Get Operational wit...
 
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth WiesmanWebinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
 
Webinar: 99 Ways to Enrich Streaming Data with Apache Flink - Konstantin Knauf
Webinar: 99 Ways to Enrich Streaming Data with Apache Flink - Konstantin KnaufWebinar: 99 Ways to Enrich Streaming Data with Apache Flink - Konstantin Knauf
Webinar: 99 Ways to Enrich Streaming Data with Apache Flink - Konstantin Knauf
 
Webinar: Detecting row patterns with Flink SQL - Dawid Wysakowicz
Webinar:  Detecting row patterns with Flink SQL - Dawid WysakowiczWebinar:  Detecting row patterns with Flink SQL - Dawid Wysakowicz
Webinar: Detecting row patterns with Flink SQL - Dawid Wysakowicz
 
Deploying Flink on Kubernetes - David Anderson
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David Anderson
 
Webinar: Flink SQL in Action - Fabian Hueske
 Webinar: Flink SQL in Action - Fabian Hueske Webinar: Flink SQL in Action - Fabian Hueske
Webinar: Flink SQL in Action - Fabian Hueske
 
2018-04 Kafka Summit London: Stephan Ewen - "Apache Flink and Apache Kafka fo...
2018-04 Kafka Summit London: Stephan Ewen - "Apache Flink and Apache Kafka fo...2018-04 Kafka Summit London: Stephan Ewen - "Apache Flink and Apache Kafka fo...
2018-04 Kafka Summit London: Stephan Ewen - "Apache Flink and Apache Kafka fo...
 
Stephan Ewen - Experiences running Flink at Very Large Scale
Stephan Ewen -  Experiences running Flink at Very Large ScaleStephan Ewen -  Experiences running Flink at Very Large Scale
Stephan Ewen - Experiences running Flink at Very Large Scale
 
Tzu-Li (Gordon) Tai - Stateful Stream Processing with Apache Flink
Tzu-Li (Gordon) Tai - Stateful Stream Processing with Apache FlinkTzu-Li (Gordon) Tai - Stateful Stream Processing with Apache Flink
Tzu-Li (Gordon) Tai - Stateful Stream Processing with Apache Flink
 
Kostas Kloudas - Complex Event Processing with Flink: the state of FlinkCEP
Kostas Kloudas - Complex Event Processing with Flink: the state of FlinkCEP Kostas Kloudas - Complex Event Processing with Flink: the state of FlinkCEP
Kostas Kloudas - Complex Event Processing with Flink: the state of FlinkCEP
 
Aljoscha Krettek - Portable stateful big data processing in Apache Beam
Aljoscha Krettek - Portable stateful big data processing in Apache BeamAljoscha Krettek - Portable stateful big data processing in Apache Beam
Aljoscha Krettek - Portable stateful big data processing in Apache Beam
 
Aljoscha Krettek - Apache Flink® and IoT: How Stateful Event-Time Processing ...
Aljoscha Krettek - Apache Flink® and IoT: How Stateful Event-Time Processing ...Aljoscha Krettek - Apache Flink® and IoT: How Stateful Event-Time Processing ...
Aljoscha Krettek - Apache Flink® and IoT: How Stateful Event-Time Processing ...
 
Timo Walther - Table & SQL API - unified APIs for batch and stream processing
Timo Walther - Table & SQL API - unified APIs for batch and stream processingTimo Walther - Table & SQL API - unified APIs for batch and stream processing
Timo Walther - Table & SQL API - unified APIs for batch and stream processing
 
Apache Flink Meetup: Sanjar Akhmedov - Joining Infinity – Windowless Stream ...
Apache Flink Meetup:  Sanjar Akhmedov - Joining Infinity – Windowless Stream ...Apache Flink Meetup:  Sanjar Akhmedov - Joining Infinity – Windowless Stream ...
Apache Flink Meetup: Sanjar Akhmedov - Joining Infinity – Windowless Stream ...
 
Kostas Kloudas - Extending Flink's Streaming APIs
Kostas Kloudas - Extending Flink's Streaming APIsKostas Kloudas - Extending Flink's Streaming APIs
Kostas Kloudas - Extending Flink's Streaming APIs
 
Fabian Hueske - Stream Analytics with SQL on Apache Flink
Fabian Hueske - Stream Analytics with SQL on Apache FlinkFabian Hueske - Stream Analytics with SQL on Apache Flink
Fabian Hueske - Stream Analytics with SQL on Apache Flink
 
Stephan Ewen - Stream Processing as a Foundational Paradigm and Apache Flink'...
Stephan Ewen - Stream Processing as a Foundational Paradigm and Apache Flink'...Stephan Ewen - Stream Processing as a Foundational Paradigm and Apache Flink'...
Stephan Ewen - Stream Processing as a Foundational Paradigm and Apache Flink'...
 
Stefan Richter - A look at Flink 1.2 and beyond @ Berlin Meetup
Stefan Richter - A look at Flink 1.2 and beyond @ Berlin Meetup Stefan Richter - A look at Flink 1.2 and beyond @ Berlin Meetup
Stefan Richter - A look at Flink 1.2 and beyond @ Berlin Meetup
 
Robert Metzger - Apache Flink Community Updates November 2016 @ Berlin Meetup
Robert Metzger - Apache Flink Community Updates November 2016 @ Berlin Meetup Robert Metzger - Apache Flink Community Updates November 2016 @ Berlin Meetup
Robert Metzger - Apache Flink Community Updates November 2016 @ Berlin Meetup
 
Keynote: Stephan Ewen - Stream Processing as a Foundational Paradigm and Apac...
Keynote: Stephan Ewen - Stream Processing as a Foundational Paradigm and Apac...Keynote: Stephan Ewen - Stream Processing as a Foundational Paradigm and Apac...
Keynote: Stephan Ewen - Stream Processing as a Foundational Paradigm and Apac...
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Webinar: How to contribute to Apache Flink - Robert Metzger

  • 1. How to contribute to Apache Flink® Robert Metzger Flink PMC, Software Engineer @ Ververica rmetzger@apache.org @rmetzger_
  • 2. What you will learn today • What is the Apache Software Foundation • What are the roles at an Apache project • How to become a committer • How to contribute to Apache Flink • The mailing lists • The documentation • Contributing code • Q & A / Hands-on
  • 3. Flink and the Apache Software Foundation • Flink is one of more than 300 top level projects at the ASF Independent open source project: "Stratosphere" Apache Incubator: “Apache Flink (incubating)” Top level Apache project Attic 2009 – 2014 April 2014 – Dec 2014 Since Dec 2014 Hopefully never J
  • 4. Apache Software Foundation • Celebrating 20 years of ASF this year • Initially about Apache HTTP server, “a patchy server” • Today, 300+ open source projects (+ 52 incubating) • 730 members and 7000+ committers • All volunteer, self-organized, decentralized • Providing projects with legal and infrastructure support, and a blueprint and experience for successful open source 21 founding members [photo attribution (CC BY) Mark Cox. Tagged image at https://www.flickr.com/photos/iamamoose/63963722/in/album-1381277/ ; gallery at https://www.flickr.com/photos/iamamoose/albums/1381277] “Community over code”
  • 5.
  • 6. Apache License 2.0 • Top 3 open source license, used by all ASF projects and many others • Business friendly (derivative work is allowed to be licensed differently) Recommended website: https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)
  • 7. Roles at the ASF (& Flink) ASF Members ASF Board of directors Flink PMC Chair Flink PMC (20) Project Management Committee Flink Committers (45) Contributors & Users Project oversight: review releases, long-term health of project Permission to commit code, <user>@apache.org email Implementation, testing, documentation, user support etc. Day-to-day oversight of the foundation Control & “ownership” members@a.o board@a.o private@f.a.o dev@f.a.o user@f.a.o user-zh@f.a.o commits@f.a.o issues@f.a.o public builds@f.a.o
  • 8. Becoming a Flink committer: Requirements • Formally: PMC will vote on a community member to become a committer (on private@) • Good contributions over a longer period of time, good technical oversights and experience (for reviews and discussions) • Understanding of “The Apache Way”, good community engagement
  • 9. Contribute to User Support • user@flink.apache.org (and user-zh@f.a.o) are the primary support channels: ~150 emails/week. 1000+ subscribers • Error messages, configuration, API • Architecture / Design questions • Stack Overflow • [apache-flink] tag: 2800 questions, 1100 unanswered • JIRA (Bug tracker) • Often, incoming bug reports are ”just” problems using Flink Sign up & answer questions
  • 10. Contribute to Evangelism • Meetups • Speak at your local meetup • Host a meetup group in your city (Ververica can help you!) • Help with venue, organization etc. • Conferences • Submit talks at conferences • Blogs • Share your experience • Twitter, LinkedIn, Facebook • Help spreading the word
  • 11. Contribute to Flink’s development • dev@flink.apache.org is the main communication and decision- making channel of Flink • Discussion of FLIPs (Flink Improvement Proposals) • Roadmap planning, release scheduling • Release voting • Community health • All other development and community-related questions (which libraries do we use, how do we approach large changes) Join the discussions
  • 12. Voting: How decisions are being made • Apache projects vote on: releases, committers, PMC members, procedural changes, code changes • +1 / -1, because … • Most important vote: releases • Duration of at least 72 hours (workdays) • Legal checks (checksums, signatures, license documentation) and functional checks (end to end tests, manual tests, performance) • See: https://cwiki.apache.org/confluence/display/FLINK/Verifying+a+Flink+Release • Lazy approval: Assume consensus after 72 hours, if nobody objects • Used for code changes, smaller proposals, procedural changes, ... • Currently under discussion: Flink Bylaws: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=120731026
  • 13. Contribute to Flink’s development • Contribute Documentation (or website) git clone https://github.com/apache/flink cd flink/docs/docker ./run.sh • An easy way to have a lot of impact on Flink • Jira tickets in component “Documentation” (currently 160 unresolved) • Small fixes as “[hotfix]” PRs, larger changes through JIRA->PR process • See also: https://flink.apache.org/contribute-documentation.html
  • 14. Contribute to Flink’s development: Code • Contribute code JIRA Ticket: Get consensus Implement Review Merge dev@ discussion & FLIP Get buy in on your change and find a committer willing to review and merge Involved changes often require a design document Reviews happen in pull requests in a 4-step process
  • 15. Contribute to Flink’s development: JIRA • A good JIRA ticket … • … is created ahead of time • ... Clearly describes the problem to solve • … is assigned to a component, has the right priority • Get buy-in from a committer … you will need somebody to review and merge your change later on • Expect a few days till there’s a first reaction (depending on the component, complexity) and weeks till there’s consensus
  • 16. Contribute to Flink’s development: Pull Request Review Description • Formal requirements: JIRA ID in title, description of the change, clean history (commits prefixed with JIRA ID) Consensus • Check if there’s agreement to merge this change as is • Should not be a problem if JIRA has been “approved” Architecture • Architectural fit within Flink Quality • Code Quality: documentation, error handling, concurrency / threading, dependencies
  • 17. Contribute to Flink’s development: Pull Request Review: Notes • Be patient: Reviews take time • In particular when a release is happening • Contribute reviews: If you don’t have a feature / fix to contribute, help checking pull requests in the “quality” stage (see label) • Stay in touch with the committer managing your contribution
  • 18. Conclusion • Introduction on Apache Flink and the ASF • There are many ways to contribute • User support • Project steering • Evangelism • Documentation / website • Code reviews • Fixes / features • Even if it sometimes doesn’t seem so: Contributions are very welcome! • Reach out to me rmetzger@apache.org / @rmetzger_ if you have questions
  • 19. Check out the schedule & keynotes on our website
  • 20. Q & A Bonus: Hands-on session to help people setting up their development environments Robert Metzger Flink PMC, Software Engineer @ Ververica rmetzger@apache.org @rmetzger_