Skip to main content Link Menu Expand (external link) Document Search Copy Copied

OLIVE Platform

OLIVE Platform은 프로젝트를 실시간으로 스캔하고 프로젝트에 사용된 오픈소스와 라이선스를 확인하여,
오픈소스 라이선스 의무 사항을 준수할 수 있도록 지원하는 오픈소스 관리 서비스입니다.

img.png

OLIVE Platform 탄생 배경

카카오는 2014년 11월, 오픈소스를 올바르게 사용하고 관리하기 위해 오픈소스 관리 조직을 신설했습니다.
오픈소스 라이선스 검증은 카카오톡 애플리케이션을 시작으로, 현재는 배포되는 모든 서비스와 SDK 및 오픈소스를 대상으로 검증이 진행되고 있습니다.

OLIVE, 그 첫 시작 Hermes

카카오는 새로운 연결, 더 나은 세상이라는 슬로건에 맞춰 다양한 서비스를 제공하고 있습니다.
다양한 서비스에서 사용한 오픈소스를 확인하고 관리할 수 있는 자동화된 도구가 필요했습니다.
코드 레벨의 분석 솔루션 도입을 시작으로, 오픈소스 관리 도구인 Hermes를 개발하여 Android와 iOS 애플리케이션 대응부터 검증 과정을 자동화하기 시작했습니다.

OLIVE, Next level 오픈소스 검증 도구의 필요성

시간이 흐르며, 점차 늘어나는 서비스의 다양한 개발 환경과 언어 및 플랫폼에 대해 대응했습니다.
특히 카카오 미니의 출시 당시엔 운영체제(Operation System, OS) 레벨까지 오픈소스 검증 범위가 확장되었습니다.
또한, 사내의 오픈소스 정책들을 수립하고 개발자를 대상으로 오픈소스 교육도 병행하며, 오픈소스 사용에 대한 인식을 개선해 나갔습니다.

이러한 정책 수립 및 사내 교육과, 검증 과정의 자동화 및 효율화를 통해, 오픈소스 검증 시간을 단축하고 검증 품질도 향상할 수 있었습니다.
그러나 검증 작업을 오픈소스 관리 조직에서 전담하다 보니, 한정된 리소스로 모든 서비스에 대응하기가 어려워졌습니다.
서비스들은 오픈소스 검증을 오픈소스 관리 조직에서 완료한 후에야, 관련 이슈들을 확인하고 대응할 수 있었습니다.
때문에, 효율적인 검증을 위해, 단순 자동화 이상의 새로운 전략이 필요한 상황이었습니다.

이에, 카카오는 개발자 모두가 주도적으로 오픈소스 관리 시스템에 참여할 수 있는 서비스를 목표로 하여, 검증 시스템을 확장하였습니다.
이렇게 탄생한 OLIVE를 사용해, 서비스 개발자는 언제든 오픈소스 검증을 진행하여, 사용한 오픈소스를 리포트를 통해 확인하고 대응할 수 있게 되었습니다.
서비스 개발이 완료되면, 배포 전에 검증을 수행하고 오픈소스 관리자에게 리뷰를 요청하는 프로세스를 구축했습니다.
즉, 검증 결과에 대한 최종 확인을 오픈소스 관리 조직에서 진행하는 형태로 개편되었으며, 전체 검증 프로세스의 효율이 크게 증가하였습니다.

OLIVE Platform 탄생

OLIVE Platform은 카카오 서비스에서 사용하는 오픈소스를 올바르게 사용하고 관리하기 위해 개발된 OLIVE를 모두가 사용할 수 있도록 공개한 오픈소스 관리 서비스 입니다. 신뢰할 수 있는 오픈소스 DB를 구축해 보다 쉽고, 빠르고, 정확하게 오픈소스를 검증할 수 있도록 지속적인 기능 추가, 개선 작업을 진행하고 있습니다. 우리는 오랜 시간 고민 끝에 만든 이 서비스가 모든 개발자들의 오픈소스에 대한 이해를 높이고 서비스의 오픈소스 관리에 도움이 되기를 바랍니다.

OLIVE Platform 사용 시 기대효과

OLIVE Platform을 도입하면, 아래 기대효과들을 얻을 수 있습니다.

  • 서비스 개발자의 오픈소스 라이선스에 대한 이해도 상승
  • 개발문화 개선
  • 개발한 소프트웨어의 보안 문제점을 빠르게 파악하고 대처 가능
  • 개발한 소프트웨어의 라이선스 의무 수행
  • 개발한 소프트웨어의 취약점 발견

OLIVE Platform 기능

프로젝트 분석

  • GitHub 계정을 연동하거나 CLI로 프로젝트를 분석하여, 사용 중인 의존성 정보와 코드스니펫 정보를 확인할 수 있습니다.
  • 다른 사람을 프로젝트의 멤버 초대하고 공유하여, 프로젝트를 함께 관리할 수 있습니다.

매핑

  • 분석된 의존성과 코드스니펫에 매핑된 오픈소스 컴포넌트를 확인하고, 매핑되지 않은 의존성을 직접 매핑할 수 있습니다.
  • 직접 매핑한 오픈소스는 오픈소스 데이터베이스(Database, DB)에 추가하여 추후 자신의 프로젝트의 자동분석에 재활용할 수 있습니다.

라이선스 검증

  • 프로젝트에서 사용한 오픈소스 컴포넌트의 라이선스와 의무 사항을 확인할 수 있습니다.
  • 라이선스 관련 이슈가 발견되었을 경우, 그 해결 방법을 함께 가이드하고 있습니다.

리포트 생성

  • 스캔이 완료되면 체크리스트와 리포트가 자동으로 생성됩니다.
  • 이전 스캔 시점의 검증 결과와 현재를 비교할 수 있고, 검증이 진행되는 중에도 오픈소스 고지문을 미리 확인할 수 있습니다.
  • 검증이 완료되면 고지문(참고용)을 다운로드할 수 있습니다.

OLIVE Platform 기능 참고

OLIVE Platform 히스토리

  • 2020.11.18: OLIVE Platform(Beta) 서비스 오픈
  • 2021.06.30: OLIVE Platform 정식 서비스 오픈
  • 2022.03.24: 프로젝트 추가 시 파일 업로드 지원
  • 2022.04.21: OLIVE Platform CLI 오픈
  • 2022.11.14: 소셜 로그인 지원
  • 2022.11.23: 코드스니펫 분석 기능 추가

© Kakao Corp. All rights reserved.
This site uses Just the Docs, a documentation theme for Jekyll.