Getting involved in world class software engineering tips and tricks to join apache open source...
description
Transcript of Getting involved in world class software engineering tips and tricks to join apache open source...
![Page 1: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/1.jpg)
Getting Involved in World-class Software Engineering:Tips and Tricks to Join Apache Open Source Community
Evans Ye
HadoopCon 2014
Taiwan
04/09/2023
![Page 2: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/2.jpg)
• Evans Ye – Developer, SPN, Trend Micro– Worked on hadoop ecosystem
since 2012– Contributor for Apache Bigtop– TWHUG 2013Q4 & 2014Q1
Who am I
04/09/2023
![Page 3: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/3.jpg)
04/09/2023
Agenda
• Why you should join the community• My journey to Apache Bigtop• tips and tricks to join the community• Apache Bigtop status quo• Feature preview on recent development
![Page 4: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/4.jpg)
Why you should join open source community?
![Page 5: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/5.jpg)
04/09/2023
無私奉獻的精神 !
Well, Part of…
學習上乘的 coding技巧
![Page 6: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/6.jpg)
The Real Problem
![Page 7: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/7.jpg)
04/09/2023
超爛 DER這個軟體雖然有 A功能,卻沒有 B功能耶。
![Page 8: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/8.jpg)
04/09/2023
超爛 DER這個軟體 Bug好多,好難用。
![Page 9: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/9.jpg)
You can make it betterby join the community
![Page 10: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/10.jpg)
04/09/2023
• Do not have the feature we need?– Contribute
Get you’re desired feature keep maintained by the community(in next release)
• Too buggy?– improve its quality
less troubleshooting
less operational effort (apply workarounds…)
![Page 11: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/11.jpg)
04/09/2023
Extra bonus for individuals
• Expert’s free code review• Embrace new technology timely just like a
geek• Personal reputation• Improve English reading/writing skill by
communicate with native speakers
![Page 12: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/12.jpg)
Okay, How to contribute?
![Page 13: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/13.jpg)
04/09/2023
Basic working flow
Public issue tracking system
Create Ticket
Contributor
Attach patch
Committer
Reviewand commit
found a bug got some new featuresimprove the document
![Page 14: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/14.jpg)
真實案例:My Journey to Apache Bigtop
![Page 15: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/15.jpg)
04/09/2023
Apache Bigtop is a project for…
• Packaging– Packages Hadoop ecosystem RPMs, DEBs
• Testing– integration/interoperability testing framework
• Virtualization– vagrant based hadoop provisioning
• Deployment– A set of puppet recipes for deployment covers
most of the hadoop ecosystem
![Page 16: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/16.jpg)
04/09/2023
Started on Dec. 2013
• Create my first ticket:
• With a beautiful patch attached
• Thinking of that will probably get committed soon
![Page 17: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/17.jpg)
04/09/2023
• And nobody gives a ____ about me
– Maybe I didn’t describe the issue clearly…
![Page 18: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/18.jpg)
04/09/2023
再接再厲 !
• Create another ticket:
• Also a nice patch attached
![Page 19: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/19.jpg)
04/09/2023
4 days later…
• Some one jump in and tested the patch
COMMITTED!
![Page 20: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/20.jpg)
媽 ! 我終於對這世界有了(微不足道的 )貢獻
![Page 21: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/21.jpg)
Other Developed Features
![Page 22: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/22.jpg)
04/09/2023
– A open source command line VM(IaaS) provisioning tool
– Support shell, chef, puppet, ansible, etc provisioner
Quick intro. to Vagrant
Providers
Vagrantfile
VM
![Page 23: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/23.jpg)
04/09/2023
– A IT automation tool to help system administrators automate the many repetitive tasks
– Suitable for deployment and configuration management
– You only need to define the desired state
Quick intro. to Puppet
![Page 24: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/24.jpg)
04/09/2023
Hadoop cluster deploying from zero
Vagrant Box(Centos, Ubuntu,
…)
$ vagrant up
DONE!VirtualboxVMs
![Page 25: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/25.jpg)
04/09/2023
Usage
• System level integration test for hadoop ecosystem
• Easily to get a development environment• Reproduce/troubleshooting hadoop cluster
issues– Namenode, Jobtracker, ResourceManager HA
• Bigtop puppet recipes testing
• Bigtop github:– bigtop/bigtop-deploy/vm/vagrant-puppet/README.md
![Page 26: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/26.jpg)
Tips and Tricks to Join Open Source Community
![Page 27: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/27.jpg)
04/09/2023
Tip 1 – niche market
• Pick up a specific feature no one(or few people) interested.– Bigtop: vagrant based hadoop provisioning– HBase: canary tool
• Pros:– less “competitors”– New features are relatively easy to be improved
• Cons:– The feature might not be accepted by community
![Page 28: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/28.jpg)
04/09/2023
Tip 2 – claim tickets
• Users bug report• Some Sr. community members will create
lots of tickets• But they might not have time to resolve it.• Ask politely first, don’t duplicate effort
![Page 29: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/29.jpg)
04/09/2023
Example – BIGTOP-1171如果你還沒做,我可以試試看如果你正在做,我可以幫忙測試
我還沒做,但我想可以這樣做:step1, step2,…
我願意幫忙測你的 patch
![Page 30: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/30.jpg)
04/09/2023
Confidential | Copyright 2013 TrendMicro Inc.
Tip 3 – socializing with project members
• Knowing who can help is important– committers or active members
• Build up your personal reputation– your patch always has good quality – easy to test, easy to commit
2
![Page 31: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/31.jpg)
04/09/2023
Examples
Call for committer’s help to commit this in.
Ask other committer to help to commit the patch
![Page 32: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/32.jpg)
04/09/2023
Examples
Get project lead’s +1 is a BIG endorsement to your patch
![Page 33: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/33.jpg)
04/09/2023
Tip 4 – be patient
• Your patch may be ignored since they’re too busy– Wait for a while, probably a week– If no one responding on your patch, you can
ask for someone’s opinion– Add more description to better describe the
patch– Move on to other ticket, don’t wait
• Let it go~Let it go~
![Page 34: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/34.jpg)
04/09/2023
Bigtop 1163, my first ticket
• 155 days later, finally…
33 Days122 Days
2013 Dec. Jan. Feb. March April May 2014
Add more description
Got responded by a committer and soon get
committed
![Page 35: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/35.jpg)
04/09/2023
Average committed days
– It could be fast if community members knows well what you’re doing
• good doc, clear code, join discussion
BIGTO
P-116
3
BIGTO
P-116
7
BIGTO
P-117
1
BIGTO
P-117
4
BIGTO
P-117
8
BIGTO
P-127
4
BIGTO
P-133
6
BIGTO
P-134
7
BIGTO
P-134
8
BIGTO
P-141
60
40
80
120
160
![Page 36: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/36.jpg)
04/09/2023
Tip 5 – Join discussion
• Other open source members might have different opinion, thus you need to provide your different opinion as well.
![Page 37: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/37.jpg)
04/09/2023
Example
• A community member creates a ticket:
2
Delete Canary? No way!
Our HBase contributor
![Page 38: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/38.jpg)
04/09/2023
Confidential | Copyright 2013 TrendMicro Inc.
Tip 6 – Join mailing list
2
![Page 39: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/39.jpg)
04/09/2023
Tip 7 – Know how to use Jira
• Carefully select the priority when creating tickets – Don’t grant this in order to get more visibility
• remember to flip the status when patch attached
• Use Jira’s mention function when you’d like to get someone’’s attention.– [~evans_ye], any thoughts?
![Page 40: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/40.jpg)
Summary
![Page 41: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/41.jpg)
04/09/2023
Tips to Join Open Source Community
• niche market• claim tickets• socializing with project members• be patient• Join discussion• Join mailing list• Know how to use Jira
![Page 42: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/42.jpg)
Apache Bigtop Status Quo
![Page 43: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/43.jpg)
04/09/2023
Apache Bigtop Status Quo
• Bigtop 0.8.0 is going to release– Hadoop 2.4.1, HBase 0.98.5, Pig 0.12.1...
• Deprecated Makefile build system– switch to gradle
• Moving to JDK 7• Docker based continuous integration
– build, test, deploy on multiple platform
• Dropping Whirr…
![Page 44: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/44.jpg)
04/09/2023
Docker?
• Linux Container– high level view: lightweight VM– really fast, suitable for dev/testing
https://www.docker.com/whatisdocker/
![Page 45: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/45.jpg)
Feature preview to recent Development:Docker based hadoop provisioning
![Page 46: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/46.jpg)
04/09/2023
Docker based hadoop provisioning
to docker image
![Page 47: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/47.jpg)
Lighting-fast hadoop provisioning
![Page 48: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/48.jpg)
04/09/2023
LIVE DEMO
Provision a 3 node Hadoop cluster on Ultrabook in a minute!
![Page 49: Getting involved in world class software engineering tips and tricks to join apache open source community](https://reader034.fdocuments.in/reader034/viewer/2022052617/547e80c7b47959c5508b4b5f/html5/thumbnails/49.jpg)
Q&A
04/09/2023
We’re hiring!