본문 바로가기
Hello World/Beginner

Innersource란 무엇이고, 어떻게 적용할 수 있나?

by Run DaramG 2023. 6. 10.

InnerSource의 의미

Innersource는 기업 내부에서 오픈소스 개발 모델을 도입하는 것을 의미하는 개념이다.

이는 기업 내부에서 오픈소스와 유사한 협업 및 지식 공유 접근방식을 사용하여 SW개발을 진행하는 것을 의미한다.


InnerSource의 장점

그럼 Innersouce의 이점이 뭐가 있을까?

  • 지식 공유 및 협업
    • Innersource는 조직 내부의 팀과 개발자들 간에 지식 공유를 촉진하고 협업을 강화한다. 코드, 문서, 아이디어 등을 공유함으로써 조직 전체의 지식을 활용할 수 있다.
  • 코드 재사용
    • Innersource는 코드 재사용을 촉진한다. 다른 프로젝트나 팀에서 개발한 코드를 재사용함으로써 개발 생산성을 향상시킬 수 있다.
  • 투명성 및 신뢰
    • Innersource는 코드와 프로세스의 투명성을 제공하여 조직 내의 모든 개발자들이 프로젝트에 대한 이해를 가질 수 있도록 돕는다. 이는 개발자들 간의 신뢰를 증가시키고 조직 문화를 향상킨다.

대표적인 git기반의 코드 호스팅 플랫폼 - Bitbucket, GitHub, GitLab

GitHub 의 InnerSource 관련 기능들 

GitHub, GitLab, Bitbucket등 다양한 코드저장소들은 Innersource를 지원하기 위한 기능과 tool들을 제공하는데, 그 중 Git Hub 에서 제공하는 Innorsouce 지원 기능을 알아보자.

  • Organization
    • GitHub의 Organizations 기능은 조직 내에서 프로젝트를 구성하고 관리할 수 있는 기능을 제공한다. Organizations는 팀과 개발자 간의 협업을 촉진하고, 팀의 프로젝트에 대한 접근 권한을 관리하며, 이슈 트래킹 및 코드 리뷰 등의 기능을 제공한다.
  • Pull Requests
    • GitHub의 Pull Request 기능은 코드 리뷰 및 협업을 위한 중요한 기능이다. Innersource에서 Pull Request를 사용하면 팀 내에서 코드 변경 사항을 검토하고 승인할 수 있다.
  • Code Reviews
    • GitHub의 코드 리뷰 기능은 팀원들이 코드 변경 사항을 검토하고 의견을 공유할 수 있도록 도와준다. 이를 통해 품질 관리와 지식 공유를 강화할 수 있다.
  • Projects
    • GitHub의 Projects 기능은 프로젝트의 일정, 할 일 목록, 작업 관리 등을 위한 도구를 제공한다. 이를 통해 팀이 Innersource 프로젝트의 진행 상황을 시각화하고 조직적으로 관리할 수 있다.
  • GitHub은 이 외에도 다양한 협업 및 관리 기능을 제공하며, Innersource를 적용하는 조직에서는 이러한 기능을 사용하여 효과적인 내부 개발 모델을 구축할 수 있다.

InnerSource를 현업에 적용하기 위해서는 다음사항들이 중요하다.

  • 지원 및 교육
    • 조직내에서 Innersource를 적용하기 위한 지원과 교육을 제공해야한다. Innersource의 개념, 가치 및 사용 방법에 대한 이해를 조직의 구성원들에게 전달하는 것이 중요하다.
  • 참여와 피드백 문화
    • Innersource를 성공적으로 구현하기 위해서는 개발자들의 참여와 피드백 문화를 활성화해야 한다. 개발자들이 적극적으로 코드 리뷰, 이슈 피드백, 기여를 할 수 있도록 유도하고 지원해야 한다.
  • 적절한 Tool과 기술들
    • Innersource를 위해 적절한 도구와 기술을 선택해야 한다. 코드 호스팅 플랫폼 (예: GitHub, GitLab), 협업 도구, 품질 관리 도구 등을 활용하여 Innersource를 지원하도록 한다.

 

댓글