SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
How to Contribute to Apache Flink
Bowen Li
Flink Committer, Engineer @ Alibaba
Seattle Flink Meetup @ AWS
May, 2019
What will you learn today
● Roles and tools at Flink
● How to become a Flink contributor
● How to become a committer
The Journey of Apache Flink
Roles at Apache Flink
Contributors
PMC
(21)
Committers
(45)
● PMC - Project Management Committee
● ASF - Apache Software Foundation
PMC votes and elects new
committer
Committer is elected from
active, committed contributors
PMC
Chair
Permission to commit code
<id>@apache.org email
Oversees project: releases,
health, legal, branding, infra
Reports to ASF Board quarterly
Report bugs, testing,
contribute code & doc,
support other users,
community work, etc
Users
Run Flink apps, ask
questions
Some users proactively
becomes contributors
Tools at Apache Flink
Communication Documentation
Design Doc / Wiki /
FLIP (Flink Improvement Proposal)
Tasks
Bugs / Features / Improvements
https://issues.apache.org/jira/projects/FLINK
Code
Example Process for FLIP
(Flink Improvement Proposal)
Discuss and
get Consensus Write Design Doc
Create Issues
Create PRs
Address Comments
Review
Build & Test
PR Merged
Create FLIP
How to become a Flink contributor?
● dev@flink.apache.org is the primary channel for discussion and
decision-making among Flink developers
○ FLIP, design discussion, roadmap planning, release voting & scheduling
○ All other miscellaneous development questions
○ Bring up your opinions and ideas!
○ See https://flink.apache.org/community.html#mailing-lists
Contibute to Flink Development - Join the Discussions!
● Apache projects vote on: releases, procedural/code changes, designs
● “+1 / -1, because …”
● Lazy consensus: Assume consensus after 72 hours if no one objects
○ Used for smaller changes, procedural changes, …
● Most Important Vote: Releases
○ Duration of at least 72 hours (workdays)
○ Contributors can help with
■ legal checks - checksums, licenses
■ functional checks - perf, upgrade/backward compatibility test, e2e test, manual test
■ See https://cwiki.apache.org/confluence/display/FLINK/Verifying+a+Flink+Release
Voting: How decisions are made
Contibute to Flink Development - Code and PR review
JIRA Ticket
Get consensus on your proposed change
Find a committer willing to review and merge
Implement
Pull Request Review &
Address Comments
Merge!
dev@ discussion
Usually for bigger changes with a
design doc or FLIP
Contibute to Flink Development - Code and PR review
Can’t emphasize more on getting committers’ consensus on your proposal before
implementing any code for bigger changes!
So often that contributors wasted their time if their proposed solution is rejected...
Tip for new contributors!
How to find a committer who can “sponsor” you?
Each committer is usually familiar with and responsible for a few modules.
Which committer can help you?
● the one that responds to your email or comment in your JIRA
● the one modifies related files and modules by look thru commit history
● the commonly acknowledged one
○ you’ll get more sense of it when being long enough in community
Contibute to Flink Development - Code and PR review
Machine Learning
Query Planner
DataStream API
Connectors
Metrics
State/Checkpoint/Savepoint
Runtime
Cluster & Resource Management
Python/Table API, SQL, SQL Client
Modules that you can contribute to, including but not limited to
Contibute to Flink Development - PR review
Contibute to Flink Development - Documentations
Contibute to Flink Development - Documentations
git clone https://github.com/apache/flink
cd flink/docs
●
○
●
●
○
●
Contibute to Flink Development - Documentations
…
…
Contibute to Evangelism
● Meetups
○ Speak about Flink at our Seattle Flink meetup or other meetups
○ Help host Flink meetup event
● Conferences
○ Give talks on Flink at conferences
● Blogs
○ Share your thoughts and experience on Flink
● Online and Social Networks
○ Talk about Flink on Twitter, Linkedin, StackShare, etc
Contibute to User Support
● user@flink.apache.org is the primary support channels where
contributors can help their peers and answer questions
○ ~150+ emails/week, a couple thousands of subscribers
● Stack Overflow
○ [apache-flink] tag: 2800 questions, 1100 unanswered
Problem and Solution
Not get immediate responses
Async Communication
Response can be in days
Consensus can take weeks
Committer will tell you why, and
help to come up with alternatives
Learn requirements on code quality
Emphasize on coding style,
comments, and doc
Code review is too picky
Ideas/proposals are rejected
Contributors new to the community are often upset about some situations.
Here are the common expectations to have and what you can do
How to become a Committer: Requirements
● Formally: PMC will vote on a community member to become a committer (on private@)
● Understanding of “The Apache Way”, good community engagement
● Meritocracy
○ Merit are earned with good, consistent contributions (those in previous slides) and
demonstrated expertise over a long period of time
● See https://flink.apache.org/how-to-contribute.html#how-to-become-a-committer
Thanks!
Twitter @Bowen__Li
Reference:
How to contribute to Apache Flink, Robert Metzger, 2019
Get involved in the Apache Flink Community, Xingcan Cui, 2018

Más contenido relacionado

Similar a How to contribute to Apache Flink @ Seattle Flink meetup

Teaching Online Pedagogical Repository: An Open Faculty Development Resource
Teaching Online Pedagogical Repository: An Open Faculty Development ResourceTeaching Online Pedagogical Repository: An Open Faculty Development Resource
Teaching Online Pedagogical Repository: An Open Faculty Development ResourceKelvin Thompson
 
Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)Phase2
 
Wrangle and Corral that License Agreement
Wrangle and Corral that License AgreementWrangle and Corral that License Agreement
Wrangle and Corral that License AgreementNASIG
 
OSMC 2021 | Contributing to open source with the example of icinga (1)
OSMC 2021 | Contributing to open source with the example of icinga (1)OSMC 2021 | Contributing to open source with the example of icinga (1)
OSMC 2021 | Contributing to open source with the example of icinga (1)NETWAYS
 
Web2Expo NY 2009 Presentation
Web2Expo NY 2009 PresentationWeb2Expo NY 2009 Presentation
Web2Expo NY 2009 PresentationLauren Cooney
 
Contributing to Open Source (Lightning Talk version)
Contributing to Open Source (Lightning Talk version)Contributing to Open Source (Lightning Talk version)
Contributing to Open Source (Lightning Talk version)cdw9
 
Improving developer documentation
Improving developer documentationImproving developer documentation
Improving developer documentationPronovix
 
Partner Tech Talk Q3: Q&A with PS - Migration and Upgrade
Partner Tech Talk Q3: Q&A with PS - Migration and UpgradePartner Tech Talk Q3: Q&A with PS - Migration and Upgrade
Partner Tech Talk Q3: Q&A with PS - Migration and Upgradeconfluent
 
Fundamentals of Open Source Development
Fundamentals of Open Source DevelopmentFundamentals of Open Source Development
Fundamentals of Open Source DevelopmentOSU Open Source Lab
 
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 SolutionsRegroove
 
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...Flink Forward
 
Why Open Source Products Are Important by a Google Tech Manager
Why Open Source Products Are Important by a Google Tech ManagerWhy Open Source Products Are Important by a Google Tech Manager
Why Open Source Products Are Important by a Google Tech ManagerProduct School
 
Facilitating Online Discussion in e-Learning
Facilitating Online Discussion in e-LearningFacilitating Online Discussion in e-Learning
Facilitating Online Discussion in e-LearningGlen Farrelly
 
Improving Your Apache Project's Image And Brand
 Improving Your Apache Project's Image And Brand Improving Your Apache Project's Image And Brand
Improving Your Apache Project's Image And BrandShane Curcuru
 
My developer works
My developer worksMy developer works
My developer worksveneatra
 
My developer works
My developer worksMy developer works
My developer worksveneatra
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
 

Similar a How to contribute to Apache Flink @ Seattle Flink meetup (20)

Teaching Online Pedagogical Repository: An Open Faculty Development Resource
Teaching Online Pedagogical Repository: An Open Faculty Development ResourceTeaching Online Pedagogical Repository: An Open Faculty Development Resource
Teaching Online Pedagogical Repository: An Open Faculty Development Resource
 
Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)Project Management as an Art Form (DrupalCon Chicago 2011)
Project Management as an Art Form (DrupalCon Chicago 2011)
 
Wrangle and Corral that License Agreement
Wrangle and Corral that License AgreementWrangle and Corral that License Agreement
Wrangle and Corral that License Agreement
 
OSMC 2021 | Contributing to open source with the example of icinga (1)
OSMC 2021 | Contributing to open source with the example of icinga (1)OSMC 2021 | Contributing to open source with the example of icinga (1)
OSMC 2021 | Contributing to open source with the example of icinga (1)
 
Web2Expo NY 2009 Presentation
Web2Expo NY 2009 PresentationWeb2Expo NY 2009 Presentation
Web2Expo NY 2009 Presentation
 
Contributing to Open Source (Lightning Talk version)
Contributing to Open Source (Lightning Talk version)Contributing to Open Source (Lightning Talk version)
Contributing to Open Source (Lightning Talk version)
 
Improving developer documentation
Improving developer documentationImproving developer documentation
Improving developer documentation
 
Partner Tech Talk Q3: Q&A with PS - Migration and Upgrade
Partner Tech Talk Q3: Q&A with PS - Migration and UpgradePartner Tech Talk Q3: Q&A with PS - Migration and Upgrade
Partner Tech Talk Q3: Q&A with PS - Migration and Upgrade
 
Fundamentals of Open Source Development
Fundamentals of Open Source DevelopmentFundamentals of Open Source Development
Fundamentals of Open Source Development
 
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
 
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...
 
Why Open Source Products Are Important by a Google Tech Manager
Why Open Source Products Are Important by a Google Tech ManagerWhy Open Source Products Are Important by a Google Tech Manager
Why Open Source Products Are Important by a Google Tech Manager
 
Tf bawa
Tf bawaTf bawa
Tf bawa
 
Tf bawa
Tf bawaTf bawa
Tf bawa
 
Facilitating Online Discussion in e-Learning
Facilitating Online Discussion in e-LearningFacilitating Online Discussion in e-Learning
Facilitating Online Discussion in e-Learning
 
Symfony2
Symfony2Symfony2
Symfony2
 
Improving Your Apache Project's Image And Brand
 Improving Your Apache Project's Image And Brand Improving Your Apache Project's Image And Brand
Improving Your Apache Project's Image And Brand
 
My developer works
My developer worksMy developer works
My developer works
 
My developer works
My developer worksMy developer works
My developer works
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 

Más de Bowen Li

Flink and Hive integration - unifying enterprise data processing systems
Flink and Hive integration - unifying enterprise data processing systemsFlink and Hive integration - unifying enterprise data processing systems
Flink and Hive integration - unifying enterprise data processing systemsBowen Li
 
Apache Flink 101 - the rise of stream processing and beyond
Apache Flink 101 - the rise of stream processing and beyondApache Flink 101 - the rise of stream processing and beyond
Apache Flink 101 - the rise of stream processing and beyondBowen Li
 
Towards Apache Flink 2.0 - Unified Data Processing and Beyond, Bowen Li
Towards Apache Flink 2.0 - Unified Data Processing and Beyond, Bowen LiTowards Apache Flink 2.0 - Unified Data Processing and Beyond, Bowen Li
Towards Apache Flink 2.0 - Unified Data Processing and Beyond, Bowen LiBowen Li
 
Integrating Flink with Hive - Flink Forward SF 2019
Integrating Flink with Hive - Flink Forward SF 2019Integrating Flink with Hive - Flink Forward SF 2019
Integrating Flink with Hive - Flink Forward SF 2019Bowen Li
 
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...Bowen Li
 
AthenaX - Unified Stream & Batch Processing using SQL at Uber, Zhenqiu Huang,...
AthenaX - Unified Stream & Batch Processing using SQL at Uber, Zhenqiu Huang,...AthenaX - Unified Stream & Batch Processing using SQL at Uber, Zhenqiu Huang,...
AthenaX - Unified Stream & Batch Processing using SQL at Uber, Zhenqiu Huang,...Bowen Li
 
Community and Meetup Update, Seattle Flink Meetup, Feb 2019
Community and Meetup Update, Seattle Flink Meetup, Feb 2019Community and Meetup Update, Seattle Flink Meetup, Feb 2019
Community and Meetup Update, Seattle Flink Meetup, Feb 2019Bowen Li
 
Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019
Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019
Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019Bowen Li
 
Status Update of Seattle Flink Meetup, Jun 2018
Status Update of Seattle Flink Meetup, Jun 2018Status Update of Seattle Flink Meetup, Jun 2018
Status Update of Seattle Flink Meetup, Jun 2018Bowen Li
 
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018Bowen Li
 
Approximate queries and graph streams on Flink, theodore vasiloudis, seattle...
Approximate queries and graph streams on Flink, theodore vasiloudis,  seattle...Approximate queries and graph streams on Flink, theodore vasiloudis,  seattle...
Approximate queries and graph streams on Flink, theodore vasiloudis, seattle...Bowen Li
 
Stream processing with Apache Flink @ OfferUp
Stream processing with Apache Flink @ OfferUpStream processing with Apache Flink @ OfferUp
Stream processing with Apache Flink @ OfferUpBowen Li
 
Apache Flink @ Alibaba - Seattle Apache Flink Meetup
Apache Flink @ Alibaba - Seattle Apache Flink MeetupApache Flink @ Alibaba - Seattle Apache Flink Meetup
Apache Flink @ Alibaba - Seattle Apache Flink MeetupBowen Li
 
Opening - Seattle Apache Flink Meetup
Opening - Seattle Apache Flink MeetupOpening - Seattle Apache Flink Meetup
Opening - Seattle Apache Flink MeetupBowen Li
 

Más de Bowen Li (14)

Flink and Hive integration - unifying enterprise data processing systems
Flink and Hive integration - unifying enterprise data processing systemsFlink and Hive integration - unifying enterprise data processing systems
Flink and Hive integration - unifying enterprise data processing systems
 
Apache Flink 101 - the rise of stream processing and beyond
Apache Flink 101 - the rise of stream processing and beyondApache Flink 101 - the rise of stream processing and beyond
Apache Flink 101 - the rise of stream processing and beyond
 
Towards Apache Flink 2.0 - Unified Data Processing and Beyond, Bowen Li
Towards Apache Flink 2.0 - Unified Data Processing and Beyond, Bowen LiTowards Apache Flink 2.0 - Unified Data Processing and Beyond, Bowen Li
Towards Apache Flink 2.0 - Unified Data Processing and Beyond, Bowen Li
 
Integrating Flink with Hive - Flink Forward SF 2019
Integrating Flink with Hive - Flink Forward SF 2019Integrating Flink with Hive - Flink Forward SF 2019
Integrating Flink with Hive - Flink Forward SF 2019
 
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
Tensorflow data preparation on Apache Beam using Portable Flink Runner, Ankur...
 
AthenaX - Unified Stream & Batch Processing using SQL at Uber, Zhenqiu Huang,...
AthenaX - Unified Stream & Batch Processing using SQL at Uber, Zhenqiu Huang,...AthenaX - Unified Stream & Batch Processing using SQL at Uber, Zhenqiu Huang,...
AthenaX - Unified Stream & Batch Processing using SQL at Uber, Zhenqiu Huang,...
 
Community and Meetup Update, Seattle Flink Meetup, Feb 2019
Community and Meetup Update, Seattle Flink Meetup, Feb 2019Community and Meetup Update, Seattle Flink Meetup, Feb 2019
Community and Meetup Update, Seattle Flink Meetup, Feb 2019
 
Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019
Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019
Integrating Flink with Hive, Seattle Flink Meetup, Feb 2019
 
Status Update of Seattle Flink Meetup, Jun 2018
Status Update of Seattle Flink Meetup, Jun 2018Status Update of Seattle Flink Meetup, Jun 2018
Status Update of Seattle Flink Meetup, Jun 2018
 
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
 
Approximate queries and graph streams on Flink, theodore vasiloudis, seattle...
Approximate queries and graph streams on Flink, theodore vasiloudis,  seattle...Approximate queries and graph streams on Flink, theodore vasiloudis,  seattle...
Approximate queries and graph streams on Flink, theodore vasiloudis, seattle...
 
Stream processing with Apache Flink @ OfferUp
Stream processing with Apache Flink @ OfferUpStream processing with Apache Flink @ OfferUp
Stream processing with Apache Flink @ OfferUp
 
Apache Flink @ Alibaba - Seattle Apache Flink Meetup
Apache Flink @ Alibaba - Seattle Apache Flink MeetupApache Flink @ Alibaba - Seattle Apache Flink Meetup
Apache Flink @ Alibaba - Seattle Apache Flink Meetup
 
Opening - Seattle Apache Flink Meetup
Opening - Seattle Apache Flink MeetupOpening - Seattle Apache Flink Meetup
Opening - Seattle Apache Flink Meetup
 

Último

(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 

Último (20)

(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 

How to contribute to Apache Flink @ Seattle Flink meetup

  • 1. How to Contribute to Apache Flink Bowen Li Flink Committer, Engineer @ Alibaba Seattle Flink Meetup @ AWS May, 2019
  • 2. What will you learn today ● Roles and tools at Flink ● How to become a Flink contributor ● How to become a committer
  • 3. The Journey of Apache Flink
  • 4. Roles at Apache Flink Contributors PMC (21) Committers (45) ● PMC - Project Management Committee ● ASF - Apache Software Foundation PMC votes and elects new committer Committer is elected from active, committed contributors PMC Chair Permission to commit code <id>@apache.org email Oversees project: releases, health, legal, branding, infra Reports to ASF Board quarterly Report bugs, testing, contribute code & doc, support other users, community work, etc Users Run Flink apps, ask questions Some users proactively becomes contributors
  • 5. Tools at Apache Flink Communication Documentation Design Doc / Wiki / FLIP (Flink Improvement Proposal) Tasks Bugs / Features / Improvements https://issues.apache.org/jira/projects/FLINK Code
  • 6. Example Process for FLIP (Flink Improvement Proposal) Discuss and get Consensus Write Design Doc Create Issues Create PRs Address Comments Review Build & Test PR Merged Create FLIP
  • 7. How to become a Flink contributor?
  • 8. ● dev@flink.apache.org is the primary channel for discussion and decision-making among Flink developers ○ FLIP, design discussion, roadmap planning, release voting & scheduling ○ All other miscellaneous development questions ○ Bring up your opinions and ideas! ○ See https://flink.apache.org/community.html#mailing-lists Contibute to Flink Development - Join the Discussions!
  • 9. ● Apache projects vote on: releases, procedural/code changes, designs ● “+1 / -1, because …” ● Lazy consensus: Assume consensus after 72 hours if no one objects ○ Used for smaller changes, procedural changes, … ● Most Important Vote: Releases ○ Duration of at least 72 hours (workdays) ○ Contributors can help with ■ legal checks - checksums, licenses ■ functional checks - perf, upgrade/backward compatibility test, e2e test, manual test ■ See https://cwiki.apache.org/confluence/display/FLINK/Verifying+a+Flink+Release Voting: How decisions are made
  • 10. Contibute to Flink Development - Code and PR review JIRA Ticket Get consensus on your proposed change Find a committer willing to review and merge Implement Pull Request Review & Address Comments Merge! dev@ discussion Usually for bigger changes with a design doc or FLIP
  • 11. Contibute to Flink Development - Code and PR review Can’t emphasize more on getting committers’ consensus on your proposal before implementing any code for bigger changes! So often that contributors wasted their time if their proposed solution is rejected... Tip for new contributors!
  • 12. How to find a committer who can “sponsor” you? Each committer is usually familiar with and responsible for a few modules. Which committer can help you? ● the one that responds to your email or comment in your JIRA ● the one modifies related files and modules by look thru commit history ● the commonly acknowledged one ○ you’ll get more sense of it when being long enough in community
  • 13. Contibute to Flink Development - Code and PR review Machine Learning Query Planner DataStream API Connectors Metrics State/Checkpoint/Savepoint Runtime Cluster & Resource Management Python/Table API, SQL, SQL Client Modules that you can contribute to, including but not limited to
  • 14. Contibute to Flink Development - PR review
  • 15. Contibute to Flink Development - Documentations
  • 16. Contibute to Flink Development - Documentations git clone https://github.com/apache/flink cd flink/docs ● ○ ● ● ○ ●
  • 17.
  • 18. Contibute to Flink Development - Documentations … …
  • 19. Contibute to Evangelism ● Meetups ○ Speak about Flink at our Seattle Flink meetup or other meetups ○ Help host Flink meetup event ● Conferences ○ Give talks on Flink at conferences ● Blogs ○ Share your thoughts and experience on Flink ● Online and Social Networks ○ Talk about Flink on Twitter, Linkedin, StackShare, etc
  • 20. Contibute to User Support ● user@flink.apache.org is the primary support channels where contributors can help their peers and answer questions ○ ~150+ emails/week, a couple thousands of subscribers ● Stack Overflow ○ [apache-flink] tag: 2800 questions, 1100 unanswered
  • 21. Problem and Solution Not get immediate responses Async Communication Response can be in days Consensus can take weeks Committer will tell you why, and help to come up with alternatives Learn requirements on code quality Emphasize on coding style, comments, and doc Code review is too picky Ideas/proposals are rejected Contributors new to the community are often upset about some situations. Here are the common expectations to have and what you can do
  • 22. How to become a Committer: Requirements ● Formally: PMC will vote on a community member to become a committer (on private@) ● Understanding of “The Apache Way”, good community engagement ● Meritocracy ○ Merit are earned with good, consistent contributions (those in previous slides) and demonstrated expertise over a long period of time ● See https://flink.apache.org/how-to-contribute.html#how-to-become-a-committer
  • 23. Thanks! Twitter @Bowen__Li Reference: How to contribute to Apache Flink, Robert Metzger, 2019 Get involved in the Apache Flink Community, Xingcan Cui, 2018