SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Apache Software Foundation:
How to Contribute
tzulitai@apache.org
Tzu-Li (Gordon) Tai
@tzulitai Oct 2016 @ Flink.tw Meetup
with Apache Flink as example ;)
● 戴資力(Gordon)
● Apache Flink Committer
● Co-organizer of Apache Flink Taiwan User Group
● Software Engineer @ VMFive
● Java, Scala
● Enjoy developing distributed computing systems
XX Who am I?
0
● Approaching Apache projects as a new contributor
● The contribution process, with Apache Flink as an example
● Becoming an Apache Committer
XX This talk will be about ...
1
How can I start contributing?
The usual first question ...
2
Look for tasks on
The project JIRA
board
Attend mail thread
discussions
3
Every Apache project has it’s own JIRA board
Every Apache project has 2 mailing lists:
1) User mailing list: user@xxx.apache.org
2) Dev mailing list: dev@xxx.apache.org
Yo! I have this really nice
feature I implemented for the
project.
Please review it and merge it!
It’s really useful !!
Why ain’t nobody
reviewing …...
tick …
tock …
tick …
tock ...
The Committer
The Committer
hmmm ….
I don’t see any prior discussion on
this feature.
It’s a pretty big chunk of code, is
there a design doc to refer to?
The New Contributor
The Committer The New Contributor
hmmm ….
I don’t see any prior discussion on
this feature.
It’s a pretty big chunk of code, is
there a design doc to refer to?
No!
But it’s really useful. We’ve been
running it in production for a while
already!
The Committer
Hey, lets slow things down a bit.
We should fall back to the mailing
threads and discuss with others on
how to proceed ...
The New Contributor
The Committer The New Contributor
Hey, lets slow things down a bit.
We should fall back to the mailing
threads and discuss with others on
how to proceed ...
Look for tasks on
The project JIRA
board
Attend mail thread
discussions
Reach
Community
Consensus
The Apache Way:
Community over Code
8
Ways to reach consensus:
● Start a discussion thread
● Ping a Committer
Look for tasks on
The project JIRA
board
Attend mail thread
discussions
Reach
Community
Consensus
Code & Submit Patch
reviews & refines
8
Look for tasks on
The project JIRA
board
Attend mail thread
discussions
Reach
Community
Consensus
Code & Submit Patch
reviews & refines
Committer merges
patch
8
The process, in Apache Flink
A Demo is worth a Hundred Slides ;)
9
Apache Flink
an open-source platform for distributed
stream and batch data processing
● Apache Top-Level Project since Jan. 2015
● Streaming Dataflow Engine at its core
○ Low latency
○ High Throughput
○ Stateful
○ Distributed
10
● ~230 contributors, 23 Committers / PMCs
● Used adoption:
○ Alibaba - realtime search ranking optimization
○ Uber - ride request fufillment marketplace
○ Netflix - Stream Processing as a Service (SPaaS)
○ Kings Gaming - realtime data science dashboard
○ ...
Apache Flink
an open-source platform for distributed
stream and batch data processing
10
Becoming an Apache Committer
If you want to take it really serious ...
11
12
12
成
功
嶺
QQ
12
公
司
專
案
爆
炸
12
12
Gaining trust among the current project PMCs and Committers:
It’s all about Trust!
● Show constant quality on your submissions
● Show responsibility in maintaining your code
● Become an expert in at least one of the major components
● Provide detailed reviews for other contributors’ submissions
● Answer user questions / attend discussions on the mailing list
● Help out testing of releases
13
Gaining trust among the current project PMCs and Committers:
It’s all about Trust!
● Show constant quality on your submissions
● Show responsibility in maintaining your code
● Become an expert in at least one of the major components
● Provide detailed reviews for other contributors’ submissions
● Answer user questions / attend discussions on the mailing list
● Help out testing of releases
13
Gaining trust among the current project PMCs and Committers:
It’s all about Trust!
● Show constant quality on your submissions
● Show responsibility in maintaining your code
● Become an expert in at least one of the major components
● Provide detailed reviews for other contributors’ submissions
● Answer user questions / attend discussions on the mailing list
● Help out testing of releases
13
Gaining trust among the current project PMCs and Committers:
It’s all about Trust!
● Show constant quality on your submissions
● Show responsibility in maintaining your code
● Become an expert in at least one of the major components
● Provide detailed reviews for other contributors’ submissions
● Answer user questions / attend discussions on the mailing list
● Help out testing of releases
13
Gaining trust among the current project PMCs and Committers:
It’s all about Trust!
● Show constant quality on your submissions
● Show responsibility in maintaining your code
● Become an expert in at least one of the major components
● Provide detailed reviews for other contributors’ submissions
● Answer user questions / attend discussions on the mailing list
● Help out testing of releases
13
Apache Software Foundation: How To Contribute, with Apache Flink as Example (2016/10/6 Flink.TW 3rd Meetup)

Más contenido relacionado

La actualidad más candente

Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward
 
Kostas Tzoumas - Apache Flink®: State of the Union and What's Next
Kostas Tzoumas - Apache Flink®: State of the Union and What's NextKostas Tzoumas - Apache Flink®: State of the Union and What's Next
Kostas Tzoumas - Apache Flink®: State of the Union and What's Next
Ververica
 
Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...
Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...
Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...
Flink Forward
 

La actualidad más candente (20)

What's new in 1.9.0 blink planner - Kurt Young, Alibaba
What's new in 1.9.0 blink planner - Kurt Young, AlibabaWhat's new in 1.9.0 blink planner - Kurt Young, Alibaba
What's new in 1.9.0 blink planner - Kurt Young, Alibaba
 
Flink Forward Berlin 2017: Mihail Vieru - A Materialization Engine for Data I...
Flink Forward Berlin 2017: Mihail Vieru - A Materialization Engine for Data I...Flink Forward Berlin 2017: Mihail Vieru - A Materialization Engine for Data I...
Flink Forward Berlin 2017: Mihail Vieru - A Materialization Engine for Data I...
 
Stream Loops on Flink - Reinventing the wheel for the streaming era
Stream Loops on Flink - Reinventing the wheel for the streaming eraStream Loops on Flink - Reinventing the wheel for the streaming era
Stream Loops on Flink - Reinventing the wheel for the streaming era
 
Flink Streaming @BudapestData
Flink Streaming @BudapestDataFlink Streaming @BudapestData
Flink Streaming @BudapestData
 
Flink Forward Berlin 2017: Maciek Próchniak - TouK Nussknacker - creating Fli...
Flink Forward Berlin 2017: Maciek Próchniak - TouK Nussknacker - creating Fli...Flink Forward Berlin 2017: Maciek Próchniak - TouK Nussknacker - creating Fli...
Flink Forward Berlin 2017: Maciek Próchniak - TouK Nussknacker - creating Fli...
 
Counting Elements in Streams
Counting Elements in StreamsCounting Elements in Streams
Counting Elements in Streams
 
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
 
Automation tools: making things go... (March 2019)
Automation tools: making things go... (March 2019)Automation tools: making things go... (March 2019)
Automation tools: making things go... (March 2019)
 
Apache Flink Berlin Meetup May 2016
Apache Flink Berlin Meetup May 2016Apache Flink Berlin Meetup May 2016
Apache Flink Berlin Meetup May 2016
 
Kostas Tzoumas - Apache Flink®: State of the Union and What's Next
Kostas Tzoumas - Apache Flink®: State of the Union and What's NextKostas Tzoumas - Apache Flink®: State of the Union and What's Next
Kostas Tzoumas - Apache Flink®: State of the Union and What's Next
 
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
 
Flink Forward San Francisco 2019: Scaling a real-time streaming warehouse wit...
Flink Forward San Francisco 2019: Scaling a real-time streaming warehouse wit...Flink Forward San Francisco 2019: Scaling a real-time streaming warehouse wit...
Flink Forward San Francisco 2019: Scaling a real-time streaming warehouse wit...
 
Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...
Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...
Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...
 
Archivematica Technical Training Diagnostics Guide (September 2018)
Archivematica Technical Training Diagnostics Guide (September 2018)Archivematica Technical Training Diagnostics Guide (September 2018)
Archivematica Technical Training Diagnostics Guide (September 2018)
 
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
 
Berlin Apache Flink Meetup May 2015, Community Update
Berlin Apache Flink Meetup May 2015, Community UpdateBerlin Apache Flink Meetup May 2015, Community Update
Berlin Apache Flink Meetup May 2015, Community Update
 
Introduction to the Archivematica API (September 2018)
Introduction to the Archivematica API (September 2018)Introduction to the Archivematica API (September 2018)
Introduction to the Archivematica API (September 2018)
 
Flink Forward San Francisco 2019: Moving from Lambda and Kappa Architectures ...
Flink Forward San Francisco 2019: Moving from Lambda and Kappa Architectures ...Flink Forward San Francisco 2019: Moving from Lambda and Kappa Architectures ...
Flink Forward San Francisco 2019: Moving from Lambda and Kappa Architectures ...
 
Grafana 7.0
Grafana 7.0Grafana 7.0
Grafana 7.0
 
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...
 

Destacado

Destacado (16)

Apache Flink Training Workshop @ HadoopCon2016 - #2 DataSet API Hands-On
Apache Flink Training Workshop @ HadoopCon2016 - #2 DataSet API Hands-OnApache Flink Training Workshop @ HadoopCon2016 - #2 DataSet API Hands-On
Apache Flink Training Workshop @ HadoopCon2016 - #2 DataSet API Hands-On
 
Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)
Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)
Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)
 
Yarn Resource Management Using Machine Learning
Yarn Resource Management Using Machine LearningYarn Resource Management Using Machine Learning
Yarn Resource Management Using Machine Learning
 
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
Hadoop con 2016_9_10_王經篤(Jing-Doo Wang)
 
How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environment
 
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security
 
2016 Hadoop Conf TW - 如何建置數據精靈
2016 Hadoop Conf TW - 如何建置數據精靈2016 Hadoop Conf TW - 如何建置數據精靈
2016 Hadoop Conf TW - 如何建置數據精靈
 
Flink Apachecon Presentation
Flink Apachecon PresentationFlink Apachecon Presentation
Flink Apachecon Presentation
 
HadoopCon 2016 - 用 Jupyter Notebook Hold 住一個上線 Spark Machine Learning 專案實戰
HadoopCon 2016  - 用 Jupyter Notebook Hold 住一個上線 Spark  Machine Learning 專案實戰HadoopCon 2016  - 用 Jupyter Notebook Hold 住一個上線 Spark  Machine Learning 專案實戰
HadoopCon 2016 - 用 Jupyter Notebook Hold 住一個上線 Spark Machine Learning 專案實戰
 
BI in Xuenn
BI in XuennBI in Xuenn
BI in Xuenn
 
HadoopCon'16, Taipei @myui
HadoopCon'16, Taipei @myuiHadoopCon'16, Taipei @myui
HadoopCon'16, Taipei @myui
 
Achieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloudAchieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloud
 
SparkR - Play Spark Using R (20160909 HadoopCon)
SparkR - Play Spark Using R (20160909 HadoopCon)SparkR - Play Spark Using R (20160909 HadoopCon)
SparkR - Play Spark Using R (20160909 HadoopCon)
 
Hadoop con2016 - Implement Real-time Centralized logging System by Elastic Stack
Hadoop con2016 - Implement Real-time Centralized logging System by Elastic StackHadoop con2016 - Implement Real-time Centralized logging System by Elastic Stack
Hadoop con2016 - Implement Real-time Centralized logging System by Elastic Stack
 
Click-Through Example for Flink’s KafkaConsumer Checkpointing
Click-Through Example for Flink’s KafkaConsumer CheckpointingClick-Through Example for Flink’s KafkaConsumer Checkpointing
Click-Through Example for Flink’s KafkaConsumer Checkpointing
 
Log Event Stream Processing In Flink Way
Log Event Stream Processing In Flink WayLog Event Stream Processing In Flink Way
Log Event Stream Processing In Flink Way
 

Similar a Apache Software Foundation: How To Contribute, with Apache Flink as Example (2016/10/6 Flink.TW 3rd Meetup)

Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
IxiaRomania
 
OSSDN Introduction 06112015
OSSDN Introduction 06112015OSSDN Introduction 06112015
OSSDN Introduction 06112015
Rick Bauer
 

Similar a Apache Software Foundation: How To Contribute, with Apache Flink as Example (2016/10/6 Flink.TW 3rd Meetup) (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
 
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...
 
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
 
Overcoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open SourceOvercoming the Fear of Contributing to Open Source
Overcoming the Fear of Contributing to Open Source
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
Getting started contributing to Apache Spark
Getting started contributing to Apache SparkGetting started contributing to Apache Spark
Getting started contributing to Apache Spark
 
Webinar: How to contribute to Apache Flink - Robert Metzger
Webinar:  How to contribute to Apache Flink - Robert MetzgerWebinar:  How to contribute to Apache Flink - Robert Metzger
Webinar: How to contribute to Apache Flink - Robert Metzger
 
Basics of Open Source Contribution - WWCodeMobile
Basics of Open Source Contribution - WWCodeMobileBasics of Open Source Contribution - WWCodeMobile
Basics of Open Source Contribution - WWCodeMobile
 
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)
 
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
 
DevOps practices and tools of a small company in love with open source
DevOps practices and tools of a small company in love with open sourceDevOps practices and tools of a small company in love with open source
DevOps practices and tools of a small company in love with open source
 
OSSDN Introduction 06112015
OSSDN Introduction 06112015OSSDN Introduction 06112015
OSSDN Introduction 06112015
 
DockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operationsDockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operations
 
A Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor CommunityA Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor Community
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
LCA13: Upstreaming 101
LCA13: Upstreaming 101LCA13: Upstreaming 101
LCA13: Upstreaming 101
 
Upstreaming 1013
Upstreaming 1013Upstreaming 1013
Upstreaming 1013
 
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and Beyond
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and BeyondGetting Started Contributing to Apache Spark – From PR, CR, JIRA, and Beyond
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and Beyond
 
Contributing to open source using Git
Contributing to open source using GitContributing to open source using Git
Contributing to open source using Git
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Apache Software Foundation: How To Contribute, with Apache Flink as Example (2016/10/6 Flink.TW 3rd Meetup)

  • 1. Apache Software Foundation: How to Contribute tzulitai@apache.org Tzu-Li (Gordon) Tai @tzulitai Oct 2016 @ Flink.tw Meetup with Apache Flink as example ;)
  • 2. ● 戴資力(Gordon) ● Apache Flink Committer ● Co-organizer of Apache Flink Taiwan User Group ● Software Engineer @ VMFive ● Java, Scala ● Enjoy developing distributed computing systems XX Who am I? 0
  • 3. ● Approaching Apache projects as a new contributor ● The contribution process, with Apache Flink as an example ● Becoming an Apache Committer XX This talk will be about ... 1
  • 4. How can I start contributing? The usual first question ... 2
  • 5. Look for tasks on The project JIRA board Attend mail thread discussions 3 Every Apache project has it’s own JIRA board Every Apache project has 2 mailing lists: 1) User mailing list: user@xxx.apache.org 2) Dev mailing list: dev@xxx.apache.org
  • 6.
  • 7.
  • 8. Yo! I have this really nice feature I implemented for the project. Please review it and merge it! It’s really useful !!
  • 9. Why ain’t nobody reviewing …... tick … tock … tick … tock ...
  • 11. The Committer hmmm …. I don’t see any prior discussion on this feature. It’s a pretty big chunk of code, is there a design doc to refer to? The New Contributor
  • 12. The Committer The New Contributor hmmm …. I don’t see any prior discussion on this feature. It’s a pretty big chunk of code, is there a design doc to refer to? No! But it’s really useful. We’ve been running it in production for a while already!
  • 13. The Committer Hey, lets slow things down a bit. We should fall back to the mailing threads and discuss with others on how to proceed ... The New Contributor
  • 14. The Committer The New Contributor Hey, lets slow things down a bit. We should fall back to the mailing threads and discuss with others on how to proceed ...
  • 15. Look for tasks on The project JIRA board Attend mail thread discussions Reach Community Consensus The Apache Way: Community over Code 8 Ways to reach consensus: ● Start a discussion thread ● Ping a Committer
  • 16. Look for tasks on The project JIRA board Attend mail thread discussions Reach Community Consensus Code & Submit Patch reviews & refines 8
  • 17. Look for tasks on The project JIRA board Attend mail thread discussions Reach Community Consensus Code & Submit Patch reviews & refines Committer merges patch 8
  • 18. The process, in Apache Flink A Demo is worth a Hundred Slides ;) 9
  • 19. Apache Flink an open-source platform for distributed stream and batch data processing ● Apache Top-Level Project since Jan. 2015 ● Streaming Dataflow Engine at its core ○ Low latency ○ High Throughput ○ Stateful ○ Distributed 10
  • 20. ● ~230 contributors, 23 Committers / PMCs ● Used adoption: ○ Alibaba - realtime search ranking optimization ○ Uber - ride request fufillment marketplace ○ Netflix - Stream Processing as a Service (SPaaS) ○ Kings Gaming - realtime data science dashboard ○ ... Apache Flink an open-source platform for distributed stream and batch data processing 10
  • 21. Becoming an Apache Committer If you want to take it really serious ... 11
  • 22. 12
  • 23. 12
  • 26. 12
  • 27. Gaining trust among the current project PMCs and Committers: It’s all about Trust! ● Show constant quality on your submissions ● Show responsibility in maintaining your code ● Become an expert in at least one of the major components ● Provide detailed reviews for other contributors’ submissions ● Answer user questions / attend discussions on the mailing list ● Help out testing of releases 13
  • 28. Gaining trust among the current project PMCs and Committers: It’s all about Trust! ● Show constant quality on your submissions ● Show responsibility in maintaining your code ● Become an expert in at least one of the major components ● Provide detailed reviews for other contributors’ submissions ● Answer user questions / attend discussions on the mailing list ● Help out testing of releases 13
  • 29. Gaining trust among the current project PMCs and Committers: It’s all about Trust! ● Show constant quality on your submissions ● Show responsibility in maintaining your code ● Become an expert in at least one of the major components ● Provide detailed reviews for other contributors’ submissions ● Answer user questions / attend discussions on the mailing list ● Help out testing of releases 13
  • 30.
  • 31. Gaining trust among the current project PMCs and Committers: It’s all about Trust! ● Show constant quality on your submissions ● Show responsibility in maintaining your code ● Become an expert in at least one of the major components ● Provide detailed reviews for other contributors’ submissions ● Answer user questions / attend discussions on the mailing list ● Help out testing of releases 13
  • 32.
  • 33. Gaining trust among the current project PMCs and Committers: It’s all about Trust! ● Show constant quality on your submissions ● Show responsibility in maintaining your code ● Become an expert in at least one of the major components ● Provide detailed reviews for other contributors’ submissions ● Answer user questions / attend discussions on the mailing list ● Help out testing of releases 13