apache software foundation: how to contribute, with apache flink as example (2016/10/6 flink.tw 3rd...

34
Apache Software Foundation: How to Contribute [email protected] Tzu-Li (Gordon) Tai @tzulitai Oct 2016 @ Flink.tw Meetup with Apache Flink as example ;)

Upload: apache-flink-taiwan-user-group

Post on 16-Apr-2017

225 views

Category:

Software


0 download

TRANSCRIPT

Apache Software Foundation:

How to Contribute

[email protected]

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 onThe project JIRA

board

Attend mail threaddiscussions

3

Every Apache project has it’s own JIRA board

Every Apache project has 2 mailing lists:

1) User mailing list: [email protected]) Dev mailing list: [email protected]

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 nobodyreviewing …...

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 onThe project JIRA

board

Attend mail threaddiscussions

ReachCommunityConsensus

The Apache Way:Community over Code

8

Ways to reach consensus:

● Start a discussion thread● Ping a Committer

Look for tasks onThe project JIRA

board

Attend mail threaddiscussions

ReachCommunityConsensus

Code & Submit Patch

reviews & refines

8

Look for tasks onThe project JIRA

board

Attend mail threaddiscussions

ReachCommunityConsensus

Code & Submit Patch

reviews & refines

Committer merges patch

8

The process, in Apache FlinkA Demo is worth a Hundred Slides ;)

9

Apache Flinkan open-source platform for distributedstream 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 Flinkan open-source platform for distributedstream and batch data processing

10

Becoming an Apache CommitterIf 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