SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
강대명(charsyam@naver.com)
오픈소스에
공헌을
시작하는 방법
카카오
2015.10.28
Who am I?
• 강대명(charsyam)
• (현)카카오스토리 백엔드 개발
• Apache Tajo Commiter
• Redis/Twemproxy Contributor
오늘의 주제
오픈소스
오늘의 주제
오픈소스
소스 공개,
자유로운 재배포
리눅스, 하둡, 스파크
어떻게 시작해야 할까요?
코끼리를 냉장고에
넣는 3가지 방법?
오픈 소스 공헌을
시작하는 3가지 방법
오픈소스 공헌을 시작하는 3가지 방법
1. Github 에서 오픈소스를 선택한다.
2. 코드를 수정한다.
3. Pull Request를 보낸다.
오픈소스 공헌을 시작하는 3가지 방법
1. Github 에서 오픈소스를 선택한다.
2. 코드를 수정한다.
3. Pull Request를 보낸다.
오픈소스 공헌을 시작하는 3가지 방법
1. Github 에서 오픈소스를 선택한다.
2. 코드를 수정한다.
3. Pull Request를 보낸다.
오늘의 주제
오해
오해
코드만 기여 가능
내가 내면 받아줄꺼야.
멋진 기능(큰 기능)
기여
기여=공헌
공헌
힘을 써 이바지 하다.
기여
기능 테스트
코드
문서화
오타버그리포팅
리뷰
기여
기능 테스트
코드
문서화
오타버그리포팅
리뷰
질문
오해
코드만 기여 가능
내가 내면 받아줄꺼야.
멋진 기능(큰 기능)
그는 당신을 모릅니다.
신뢰
신뢰
대화
참여도
기존 경험
리뷰
오해
코드만 기여 가능
내가 내면 받아줄꺼야.
멋진 기능(큰 기능)
서로의 방향이 다를 수
있습니다.
나에겐 필요하지만,
프로젝트 방향성과
다른…
적용 여부는
온전히 커미터의 결정
어떻게
시작할까?
빌드오류
옛날 OS
Minor
플랫폼
오타
주석
메뉴얼
Misspelling
https://pypi.python.org/pypi/misspellings
find . -name '*.c' | misspellings -f –
coreutils/src/cat.c:754: efficency -> "efficiency"
coreutils/src/comm.c:198: funtion -> "function"
coreutils/src/expr.c:21: seperate -> "separate"
coreutils/src/pr.c:1417: accomodate -> "accommodate"
coreutils/src/tac.c:342: unneccessary -> "unnecessary"
coreutils/src/test.c:91: supressed -> "suppressed"
주석이나 메뉴얼의 오타
커미터의 리뷰에 적은
노력이 듬.
처음에는 작은 것 부터
자주 보다 보면
코드가 이해되기 시작함
2종류의 사람
이 발표 이후에
아무것도 못하는 사람
이 발표 이후에
조그마한 것이라도
시작하는 사람…
자 이제부터…
시작하십시오.
꾸준히…
먼저 Github 사용법
부터 익히세요.
백수든 직장인이든…
Github 이 답입니다.
THANK YOU!

Contenu connexe

Tendances

To become Open Source Contributor
To become Open Source ContributorTo become Open Source Contributor
To become Open Source Contributor
DaeMyung Kang
 
GitHub로 프로젝트 운영하기
GitHub로 프로젝트 운영하기GitHub로 프로젝트 운영하기
GitHub로 프로젝트 운영하기
Lee Geonhee
 

Tendances (20)

[PandoraCube] 오픈 소스와 깃허브
[PandoraCube] 오픈 소스와 깃허브[PandoraCube] 오픈 소스와 깃허브
[PandoraCube] 오픈 소스와 깃허브
 
How to Contribute to OSS
How to Contribute to OSSHow to Contribute to OSS
How to Contribute to OSS
 
오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자
 
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
 
To become Open Source Contributor
To become Open Source ContributorTo become Open Source Contributor
To become Open Source Contributor
 
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
 
GitHub로 프로젝트 운영하기
GitHub로 프로젝트 운영하기GitHub로 프로젝트 운영하기
GitHub로 프로젝트 운영하기
 
GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서
 
How to contribute to open source
How to contribute to open sourceHow to contribute to open source
How to contribute to open source
 
D2 CAMPUS FEST 2015 오리엔테이션
D2 CAMPUS FEST 2015 오리엔테이션D2 CAMPUS FEST 2015 오리엔테이션
D2 CAMPUS FEST 2015 오리엔테이션
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
 
깃헙으로 코드리뷰 하기
깃헙으로 코드리뷰 하기깃헙으로 코드리뷰 하기
깃헙으로 코드리뷰 하기
 
찾아가는 Git/Github Seminar
찾아가는 Git/Github Seminar찾아가는 Git/Github Seminar
찾아가는 Git/Github Seminar
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code review
 
소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategy소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategy
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
How to use Github? (For Cien)
How to use Github? (For Cien)How to use Github? (For Cien)
How to use Github? (For Cien)
 
위클리 발표자료
위클리 발표자료위클리 발표자료
위클리 발표자료
 

En vedette

OpenSource Contributor
OpenSource ContributorOpenSource Contributor
OpenSource Contributor
DaeMyung Kang
 
01 페이스북특강 (daum it pro bono) 140308
01 페이스북특강 (daum it pro bono) 14030801 페이스북특강 (daum it pro bono) 140308
01 페이스북특강 (daum it pro bono) 140308
csr_hope
 
Refactoring(inline class, Hide delegate, remove middle man)
Refactoring(inline class, Hide delegate, remove middle man)Refactoring(inline class, Hide delegate, remove middle man)
Refactoring(inline class, Hide delegate, remove middle man)
DaeMyung Kang
 
페이스북 페이지 분석 Pampered chef
페이스북 페이지 분석 Pampered chef페이스북 페이지 분석 Pampered chef
페이스북 페이지 분석 Pampered chef
Jun Hee Kim
 
git, git flow
git, git flowgit, git flow
git, git flow
eva
 
Selenium and XpressEngine
Selenium and XpressEngineSelenium and XpressEngine
Selenium and XpressEngine
Sol Kim
 

En vedette (20)

Internet scaleservice
Internet scaleserviceInternet scaleservice
Internet scaleservice
 
2015 SW마에스트로 100+ 컨퍼런스_카카오 플랫폼과 Elastic Web Service
2015 SW마에스트로 100+ 컨퍼런스_카카오 플랫폼과 Elastic Web Service2015 SW마에스트로 100+ 컨퍼런스_카카오 플랫폼과 Elastic Web Service
2015 SW마에스트로 100+ 컨퍼런스_카카오 플랫폼과 Elastic Web Service
 
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
코끼리를 냉장고에 넣는 법 - 최부호, NDC2013
 
OpenSource Contributor
OpenSource ContributorOpenSource Contributor
OpenSource Contributor
 
MariaDB
MariaDBMariaDB
MariaDB
 
Change Requirement
Change RequirementChange Requirement
Change Requirement
 
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
2015 SW마에스트로 100+ 컨퍼런스_오픈스택 Swift로 시작하는 오픈소스 분석 삽질기
 
Selenium for XE
Selenium for XESelenium for XE
Selenium for XE
 
01 페이스북특강 (daum it pro bono) 140308
01 페이스북특강 (daum it pro bono) 14030801 페이스북특강 (daum it pro bono) 140308
01 페이스북특강 (daum it pro bono) 140308
 
SW Maestro 1-1 Project Keynote PDF
SW Maestro 1-1 Project Keynote PDFSW Maestro 1-1 Project Keynote PDF
SW Maestro 1-1 Project Keynote PDF
 
Refactoring(inline class, Hide delegate, remove middle man)
Refactoring(inline class, Hide delegate, remove middle man)Refactoring(inline class, Hide delegate, remove middle man)
Refactoring(inline class, Hide delegate, remove middle man)
 
페이스북 페이지 분석 Pampered chef
페이스북 페이지 분석 Pampered chef페이스북 페이지 분석 Pampered chef
페이스북 페이지 분석 Pampered chef
 
git, git flow
git, git flowgit, git flow
git, git flow
 
모바일 환경에 대한 이해와 네이버의 방향
모바일 환경에 대한 이해와 네이버의 방향모바일 환경에 대한 이해와 네이버의 방향
모바일 환경에 대한 이해와 네이버의 방향
 
Selenium and XpressEngine
Selenium and XpressEngineSelenium and XpressEngine
Selenium and XpressEngine
 
Selenium for-ui-test
Selenium for-ui-testSelenium for-ui-test
Selenium for-ui-test
 
Python andselenium
Python andseleniumPython andselenium
Python andselenium
 
Random 111203223949-phpapp02
Random 111203223949-phpapp02Random 111203223949-phpapp02
Random 111203223949-phpapp02
 
Git flow
Git flowGit flow
Git flow
 
LinqPad for DevOps
LinqPad for DevOpsLinqPad for DevOps
LinqPad for DevOps
 

Plus de DaeMyung Kang

Plus de DaeMyung Kang (20)

Count min sketch
Count min sketchCount min sketch
Count min sketch
 
Redis
RedisRedis
Redis
 
Ansible
AnsibleAnsible
Ansible
 
Why GUID is needed
Why GUID is neededWhy GUID is needed
Why GUID is needed
 
How to use redis well
How to use redis wellHow to use redis well
How to use redis well
 
The easiest consistent hashing
The easiest consistent hashingThe easiest consistent hashing
The easiest consistent hashing
 
How to name a cache key
How to name a cache keyHow to name a cache key
How to name a cache key
 
Integration between Filebeat and logstash
Integration between Filebeat and logstash Integration between Filebeat and logstash
Integration between Filebeat and logstash
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
How To Become Better Engineer
How To Become Better EngineerHow To Become Better Engineer
How To Become Better Engineer
 
Kafka timestamp offset_final
Kafka timestamp offset_finalKafka timestamp offset_final
Kafka timestamp offset_final
 
Kafka timestamp offset
Kafka timestamp offsetKafka timestamp offset
Kafka timestamp offset
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lake
 
Redis acl
Redis aclRedis acl
Redis acl
 
Coffee store
Coffee storeCoffee store
Coffee store
 
Scalable webservice
Scalable webserviceScalable webservice
Scalable webservice
 
Number system
Number systemNumber system
Number system
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 

Soscon lt 1