오픈소스의 성지, 깃허브(GitHub)
상태바
오픈소스의 성지, 깃허브(GitHub)
  • 투이컨설팅
  • 승인 2017.11.09 09:55
  • 조회수 3459
  • 댓글 0
이 콘텐츠를 공유합니다

투이컨설팅 이승하 이사

구글아마존마이크로소프트 등과 같은 글로벌 ICT 기업뿐만 아니라 삼성전자네이버카카오 등 국내 기업도 오픈소스 SW(OSS)를 적극적으로 활용하고 있다이들 기업은 자체적으로 개발한 기술을 OSS로 공개하거나반대로 외부에 공개된 OSS를 활용하여 새로운 제품과 서비스를 내놓고 있다기업은 기존 소프트웨어를 OSS화 함으로써 OSS 커뮤니티 참여자들의 창의력과 협동력을 활용해 소프트웨어의 품질과 성능을 강화시킬 수 있다또한 기업의 제한된 내부 인력만으로 문제를 해결하기보다는 OSS 커뮤니티의 도움으로 보다 혁신적 결과를 창출할 수 있다.


특히 대표 OSS 커뮤니티로 꼽히는 깃허브(GitHub)는 기업 및 개인(개발자) OSS 발전에 기여하고, OSS 참여자들이 집단지성을 발휘할 수 있어 주목받고 있다깃허브는 2008년 톰 프레스턴워너(Tom Preston-Werner), 크리스 완스트래스(Chris Wanstrath), 피제이 하이엣(PJ Hyett)이 공동 설립했다설립 후 개발자들 사이에서 유명세를 얻으면서 3 5천만 달러 이상의 외부 투자를 받았으며현재 기업가치는 20억 달러로 평가받고 있다깃허브는 200여 개 국가의 2,400만 명 이상이 사용하고 있으며, 150만 개 기업이 참여하고 있다개인과 기업이 만들어낸 오픈소스 리포지토리(Repository, 저장소) 6,700만 개 이상으로 2016 9월부터 현재까지 커밋(Commit, 확정)된 규모는 10억 건 이상으로 JAVACRIPT부터 C까지 웬만한 소스를 모두 찾아 볼 수 있다.



(Git)에서 시작한 깃허브(GitHub)

깃허브는 프로그램 소스 버전 관리 OSS인 깃(Git)에서 시작하였다깃은 리눅스 커널의 창시자이며 개발자인 리누스 토발즈(Linus Torvalds) 2005년에 만든 분산형 버전 관리 시스템이다깃은 빠른 속도와 단순한 구조동시다발적으로 수 천 개의 프로젝트의 브런치 생성과 완벽한 분산대규모 프로젝트에 적합한 규모 등을 목표로 만들어졌다.


깃은 명령어를 입력하면서 이용하기 때문에 다소 불편한 면이 있으나 깃을 이용하면 누가 어떤 소스 코드를 어떻게 수정했는지 기록하고 추적할 수 있어 동시에 많은 개발자가 함께 소프트웨어를 개발할 때 유용하게 사용되었다.


깃허브는 깃을 보다 편하게 이용할 수 있게 만든 웹 기반 호스팅 서비스다깃을 호스팅하는 깃허브는 그래픽 기반으로 프로그램 소스와 데이터의 버전을 관리할 수 있을 뿐만 아니라 커뮤니티에 참여하는 개발자와 쉽게 공유하고 소통할 수 있는 환경을 제공한다최근에는 코드 리뷰와 프로젝트 관리 기능도 추가하여 깃허브 사용자 지원을 강화하고 있다.



깃허브의 가장 강력한 기능은 포크(Fork)와 워치(Watch)

프로그램 소스와 문서의 분산형 버전 관리 시스템에서 출발하였기 때문에 깃허브는 일반적인 버전 관리 시스템에서 제공하는 복제동기화커밋 등의 기능은 모두 포함하고 있다. OSS의 중요한 가치인 공유와 기여혁신의 도구로 깃허브를 사용하기 위해서는 포크(Fork)와 워치(Watch) 기능을 잘 사용할 줄 알아야 한다.


포크(Fork)는 어떤 리포지토리에 있는 프로그램 소스 코드를 내가 작성할 수 있도록 사본을 생성하는 것을 의미한다변경된 내용 반영이 완료되면 커밋(Commit) 후 포크(Fork)한 리포지토리 소유자에게 풀(Pull) 요청을 하면 된다리포지토리 소유자는 테스트를 한 후 기여 사항을 사용할 수 있게 한다. 2017년 깃허브 내 많은 리포지토리 중 가장 많이 포크(Fork)된 리포지토리는 구글에서 오픈소스로 공개한 기계학습 라이브러리인 “텐서플로우(Tensorflow)”이다텐서플로우는 36,988번 포크(Fork)되어 있으며, 1,100명의 이상의 개발자가 기여자(Contributors)로 참여하고 있다.

워치(Watch)는 포크(Fork)된 리포지토리에서 어떤 일이 벌어지고 있는지 알고 싶을 때 사용한다관심 있는 리파지토리에서 워치(Watch)를 선택하면 어떤 일이 벌어지고 있는지 업데이트 알람이 등록된 이메일로 오게 된다알람 내용을 확인하는 과정 중 현재하는 작업에 영향을 주는 변경사항이 있을 경우 해당 프로그램 소스를 가져와 병합(Merge)을 하면 된다이러한 워치(Watch) 기능은 깃허브 내에서도 확인이 가능하지만 “데브스페이스” 앱을 사용하여 깃허브 계정으로 팔로우한 개발자스타(Star, 즐겨찾기버튼을 누른 리포지토리에 관한 정보를 실시간으로 확인이 가능하다리포지토리 소유자는 기여자와 관심이 있는 참여자가 떠나지 않도록 프로그램 소스 변경이 지속되어야 하며등록된 이슈(Issues)에 피드백을 빨리할 수 있어야 한다.



깃허브 활용 확대정보공개부터 채용까지


깃허브에서 다루는 정보는 프로그램 소스 코드만을 대상으로 하지 않는다한 개발자는 본인의 프로젝트 하위에 리포지토리를 생성하여 화면 개발 시 활용 가능한 체크리스트를 폰트이미지, JAVACRIPT 등으로 구분하여 공유하고 참여자들의 의견을 받아 토론을 하고 있다.


미국 조달청(GSA)의 오픈소스팀 18F 2015년 경매 금액을 먼저 설정하고 더 낮은 금액으로 기술을 만들겠다는 참가자에게 먼저 개발할 기회를 주었다참가자가 개발해야 하는 기능과 문제(18F가 이미 만든 프로그램에 데이터 기능을 추가하는 것)는 깃허브에 이슈로 등록하고 개발 과정을 관리하고 공개하였다또한 서울시는 소프트웨어 개발자들이 공공데이터의 접근성과 활용성을 높이기 위해 깃허브 내에 서울시 페이지(https://github.com/seoul-opengov/opengov)를 만들어 결재문서정책연구보고서사전정보공표 등 3개 분야 중심으로 2016년부터 행정 정보를 공개하고 있다.


깃허브는 개발자 커뮤니티 역할도 하고 있다깃허브 개발자 페이지에서 참여한 프로젝트코멘트팔로워 등 개발자에 관한 많은 내용을 확인할 수 있다글로벌 ICT 회사의 채용 담당자는 소프트웨어 개발자를 채용함에 있어 OSS의 이해 정도개방형 혁신에 대한 능동적 태도 등을 확인하기 위해 페이스북보다는 깃허브에서 해당 개발자가 어떤 프로젝트에 참여하고 얼마큼 적극적으로 기여 활동을 했는지 확인하고 있다.


뿐만 아니라 카카오는 깃허브 블로그(https://github.com/kakao/kakao.github.io)를 통해 신입 공채 코딩 테스트 문제 1차와 2차 해설서를 제공하여 카카오에 관심 있는 소프트웨어 개발자가 계속 참여하도록 하고 있다.


디지털 혁신에서 OSS의 활용은 선택이 아닌 필수가 되어가고 있다내부 조직의 소프트웨어 역량을 강화하고외부 OSS 커뮤니티와 협업 체계를 구축하는 것은 디지털 혁신 생태계에서 반드시 고려해야 하는 사항이다디지털 혁신을 준비하는 기업은 새로운 제품과 서비스를 만듦에 있어 비용을 절감하는 경제적 측면시장에 보다 빨리 접근하기 위한 효율성 측면일하는 방식의 궁극적 변화를 유도하는 문화적 측면에서 깃허브를 어떻게 활용할 것인가를 고민해야 할 것이다.



끝 -



※ 위 내용은 '투이톡' 모바일 앱을 통해서도 확인하실 수 있습니다.

하루 5분, 스마트해지는 시간~투이톡!!

앱 다운로드

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.