Git 교과서

코드 이력, 하나도 놓치지 마라!

버전 관리 시스템의 이해와 설치부터 커밋, 브랜치, 임시 처리, 병합, 복귀, 서브모듈, 태그까지
깃, 소스트리, 깃허브로 실습하며 기본기를 탄탄하게 다진다!

Yes24 교보문고 알라딘 인터파크 길벗

커뮤니티


오픈 소스가 성공하기 위해서는 커뮤니티의 역할이 매우 중요합니다.


양파 모델


커뮤니티는 다양한 구성원들이 동참하고 이들 사이에는 수많은 이해관계가 존재합니다.

각 구성원들은 자신들의 역할과 권한을 가지고 있습니다. 이러한 역할과 권한의 대표적인 커뮤니티 구조로는 양파 모델(onion model)이 있습니다. 안쪽에 위치하 구성원일수록 많은 권한과 역할을 가지고 있고, 바깥쪽의 구성원들은 상대적으로 권한과 역할이 적은 것이 특징입니다.


분업


OSS 커뮤니티에서의 분업은 매우 자연스러운 일입니다. 또한, 분업을 통하여 확장이 가능합니다. 분업 과정에서 구성원은 크게 코어 멤버(core members)와 액티브 멤버(active members)로 구별됩니다.


구조


OSS 프로젝트는 특성상 많은 사람들이 구성되어 있으며 지리적 장소 또한 분산되어 있습니다.
OSS 특성상 조직 구조는 자발적 참여로 수평적, 자유롭게 강제성을 띠지 않고 자유로운 것이 특징입니다.


코어 멤버(core members)


코어 멤버는 프로젝트의 첫 아이디어의 소유자, 프로젝트를 방향을 이끌어나가는 핵심 멤버를 말합니다. 코어 멤버는 극수소의 몇 명으로 구성됩니다.

코어 멤버는 프로젝트의 라이선스, 소프트웨어의 배포, 커뮤니티를 유지하기 위한 다양한 비즈니스 모델 등을 수립하는 역할을 수행합니다. 코어 멤버는 양파 모델에서의 중앙에 있는 구성원들입니다.


액티브 멤버(active members)


액티브 멤버는 크게 액티브 개발자와 버그 수정자로 구분됩니다. 액티브 개발자는 새로운 기능을 작성하고, 버그의 수정을 정기적으로 수행합니다. 또한, 관련 문서들의 초안을 생성합니다.

버그 수정자는 리포트된 문제점들을 분석하여 수정합니다. 이렇게 수정 패치한 코드를 액티브 개발자에게 전달하는 역할을 합니다.


페리페럴 멤버(peripheral Members)


OSS 커뮤니티에서 가장 많은 구성원은 페리페럴 멤버입니다. 이들은 프로젝트에 산발적인 참여를 합니다.

페리페럴 멤버들은 가끔씩 코드 개선에 기여를 하지만, 대부분 코드의 문제점들을 보고하는 것으로 역할을 수행합니다. 그리고 다른 사용자층을 지원하는 역할 도 같이 수행합니다. 또는 보통 지식교류, 기여 및 다른 커뮤니티와 연결하는 등 중간 다리 역할을 수행합니다.


패시브 유저(Passive User)


패시브 유저를 커뮤니티 멤버 구성원으로 포함을 하기에는 다소 어려우나, 프로젝트가 활성화를 도우는 점에서는 멤버로 볼 수 있습니다. 패시브 유저는 해당 프로젝트를 사용하는 사용자 층입니다. 제품을 사용함과 동시에 의견(comments)을 제공합니다.