From 4fcdf0b0d4f37daf58bf4a845a48049f7c3b4c02 Mon Sep 17 00:00:00 2001 From: Haksung Jang Date: Thu, 8 Apr 2021 20:26:53 +0900 Subject: [PATCH 1/3] add git lectures --- oss-governance-guide.md | 323 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 323 insertions(+) diff --git a/oss-governance-guide.md b/oss-governance-guide.md index 62d1220..625907a 100644 --- a/oss-governance-guide.md +++ b/oss-governance-guide.md @@ -1,3 +1,319 @@ +- [요약](#요약) + - [본 가이드의 배경 및 취지](#본-가이드의-배경-및-취지) + - [구성 내용](#구성-내용) + - [각 장의 내용 소개 (사용하기 / 기여하기 / 공개하기 / OSPO)](#각-장의-내용-소개-사용하기--기여하기--공개하기--ospo) + - [1. 오픈소스 사용하기](#1-오픈소스-사용하기) + - [2. 오픈소스 기여하기](#2-오픈소스-기여하기) + - [3. 오픈소스 공개하기](#3-오픈소스-공개하기) + - [4. OSPO (Open Source Program Office, 오픈소스 프로그램 사무소)](#4-ospo-open-source-program-office-오픈소스-프로그램-사무소) + - [결론 및 제언](#결론-및-제언) +- [오픈소스 사용하기](#오픈소스-사용하기) + - [기업이 바라보는 오픈소스](#기업이-바라보는-오픈소스) + - [국내 기업들의 오픈소스 도입 현황](#국내-기업들의-오픈소스-도입-현황) + - [오픈소스 도입 현황](#오픈소스-도입-현황) + - [국내 오픈소스 시장 현황](#국내-오픈소스-시장-현황) + - [오픈소스 도입 이유](#오픈소스-도입-이유) + - [비용 절감](#비용-절감) + - [최신 기술](#최신-기술) + - [안정성](#안정성) + - [역량 강화](#역량-강화) + - [생산성의 증가](#생산성의-증가) + - [시장 확대](#시장-확대) + - [인재 확보](#인재-확보) + - [오픈소스 도입시 고려사항](#오픈소스-도입시-고려사항) + - [보안](#보안) + - [오픈소스 기술 지원](#오픈소스-기술-지원) + - [오픈소스 커뮤니티](#오픈소스-커뮤니티) + - [컴플라이언스, 지식재산권](#컴플라이언스-지식재산권) + - [호환성](#호환성) +- [오픈소스 사용 가이드 - 기업 편](#오픈소스-사용-가이드---기업-편) + - [오픈소스를 사용하고 관리하기](#오픈소스를-사용하고-관리하기) + - [오픈소스 컴플라이언스](#오픈소스-컴플라이언스) + - [오픈소스 컴플라이언스의 정의](#오픈소스-컴플라이언스의-정의) + - [오픈소스 컴플라이언스 프로세스](#오픈소스-컴플라이언스-프로세스) + - [**1. 오픈소스 라이브러리 식별**](#1-오픈소스-라이브러리-식별) + - [**2. 소스 코드 감사**](#2-소스-코드-감사) + - [**3. 이슈 확인 및 해결**](#3-이슈-확인-및-해결) + - [**4. 아키텍처 리뷰**](#4-아키텍처-리뷰) + - [**5. 승인**](#5-승인) + - [**6. 고지**](#6-고지) + - [**7. 검증**](#7-검증) + - [라이선스 의무사항](#라이선스-의무사항) + - [오픈소스 배포](#오픈소스-배포) + - [오픈소스 라이선스 공통 의무사항](#오픈소스-라이선스-공통-의무사항) + - [오픈소스 라이선스 컴플라이언스 실행](#오픈소스-라이선스-컴플라이언스-실행) + - [사용 중인 오픈소스를 추적 해야 하는 이유](#사용-중인-오픈소스를-추적-해야-하는-이유) + - [**오픈소스 목록 관리**](#오픈소스-목록-관리) + - [**라이선스 확인**](#라이선스-확인) + - [**취약점 파악**](#취약점-파악) + - [**패치 및 버전 업데이트**](#패치-및-버전-업데이트) + - [오픈소스 목록 수동 관리](#오픈소스-목록-수동-관리) + - [**오픈소스 파악의 어려움**](#오픈소스-파악의-어려움) + - [**사용된 오픈소스 목록 누락**](#사용된-오픈소스-목록-누락) + - [**배포 프로세스 지연**](#배포-프로세스-지연) + - [오픈소스 목록 관리의 자동화](#오픈소스-목록-관리의-자동화) + - [오픈소스 관리 도구 소개](#오픈소스-관리-도구-소개) + - [오픈소스 관리 도구를 선택하는 기준](#오픈소스-관리-도구를-선택하는-기준) + - [주요 오픈소스 관리 도구 소개](#주요-오픈소스-관리-도구-소개) + - [**Olive (Kakao)** - https://olive.kakao.com](#olive-kakao---httpsolivekakaocom) + - [**Fossa** - https://fossa.com](#fossa---httpsfossacom) + - [**Snyk** - https://snyk.io](#snyk---httpssnykio) + - [**WhiteSource** - https://www.whitesourcesoftware.com](#whitesource---httpswwwwhitesourcesoftwarecom) + - [**FOSSology** - https://www.fossology.org](#fossology---httpswwwfossologyorg) + - [**SW360** - https://www.eclipse.org/sw360](#sw360---httpswwweclipseorgsw360) + - [**SPDX** - https://spdx.dev](#spdx---httpsspdxdev) + - [**ClearlyDefined** - https://clearlydefined.io](#clearlydefined---httpsclearlydefinedio) + - [오픈소스 고지 의무사항](#오픈소스-고지-의무사항) + - [고지 항목](#고지-항목) + - [저작권 고지](#저작권-고지) + - [라이선스 고지 (사본 첨부)](#라이선스-고지-사본-첨부) + - [수정 내용 고지](#수정-내용-고지) + - [고지 방법](#고지-방법) + - [Apache Royale 프로젝트(73)의 예](#apache-royale-프로젝트sup73sup의-예) + - [Apache Hive 프로젝트(74)의 예](#apache-hive-프로젝트sup74sup의-예) + - [카카오톡(96)의 예](#카카오톡sup96sup의-예) + - [LG전자(95)의 예](#lg전자sup95sup의-예) + - [오픈소스의 보안 취약성](#오픈소스의-보안-취약성) + - [오픈소스의 보안 취약성 현황](#오픈소스의-보안-취약성-현황) + - [오픈소스의 보안 취약성 사례](#오픈소스의-보안-취약성-사례) + - [오픈소스의 보안 취약성 조치](#오픈소스의-보안-취약성-조치) + - [취약성 데이터베이스](#취약성-데이터베이스) + - [Mitre의 CVE(Common Vulnerabilities and Exposures) - https://cve.mitre.org](#mitre의-cvecommon-vulnerabilities-and-exposures---httpscvemitreorg) + - [Sonatype OSS Index - https://ossindex.sonatype.org](#sonatype-oss-index---httpsossindexsonatypeorg) + - [DevSecOps](#devsecops) + - [IBM DevSecOps 모범 사례](#ibm-devsecops-모범-사례) + - [**자산 추적**](#자산-추적) + - [**위협 평가 수행**](#위협-평가-수행) + - [**보안 체크리스트**](#보안-체크리스트) + - [**가능한 자동화**](#가능한-자동화) + - [**보안 우선 문화 구축**](#보안-우선-문화-구축) + - [**컨테이너 보안 모범 사례 적용**](#컨테이너-보안-모범-사례-적용) + - [**모든 것을 암호화**](#모든-것을-암호화) + - [GitHub 기능을 활용한 보안 관리 사례](#github-기능을-활용한-보안-관리-사례) + - [**Dependency Graph**](#dependency-graph) + - [**dependabot**](#dependabot) + - [**코드 스캐닝**](#코드-스캐닝) + - [**Secret 스캐닝**](#secret-스캐닝) +- [오픈소스 사용 가이드 - 개발자 편](#오픈소스-사용-가이드---개발자-편) + - [오픈소스 생태계의 이해](#오픈소스-생태계의-이해) + - [오픈소스 생태계 구성](#오픈소스-생태계-구성) + - [**생산자**](#생산자) + - [**공급자**](#공급자) + - [**소비자**](#소비자) + - [오픈소스 커뮤니티](#오픈소스-커뮤니티-1) + - [오픈소스 재단](#오픈소스-재단) + - [**OSI (Open Source Initiative)**](#osi-open-source-initiative) + - [**Free Software Foundation**](#free-software-foundation) + - [**Linux Foundation**](#linux-foundation) + - [**Apache Software Foundation**](#apache-software-foundation) + - [**Cloud Foundry Foundation**](#cloud-foundry-foundation) + - [오픈소스 라이선스](#오픈소스-라이선스) + - [오픈소스 라이선스 구분](#오픈소스-라이선스-구분) + - [**permissive 라이선스**](#permissive-라이선스) + - [**copyleft 라이선스**](#copyleft-라이선스) + - [오픈소스 선택 가이드](#오픈소스-선택-가이드) + - [오픈소스 선택 기준](#오픈소스-선택-기준) + - [**기능성**](#기능성) + - [**오픈소스 사용 조건 및 성능**](#오픈소스-사용-조건-및-성능) + - [**라이선스**](#라이선스) + - [**보안**](#보안-1) + - [**인기도**](#인기도) + - [**소스 코드**](#소스-코드) + - [**문서화**](#문서화) + - [오픈소스 선택 체크리스트](#오픈소스-선택-체크리스트) +- [오픈소스 기여하기](#오픈소스-기여하기) + - [기업은 왜 오픈소스에 기여해야 하나?](#기업은-왜-오픈소스에-기여해야-하나) + - [1. 유지 관리 비용을 절감할 수 있다](#1-유지-관리-비용을-절감할-수-있다) + - [2. 오픈소스 프로젝트의 방향에 영향을 미칠 수 있다](#2-오픈소스-프로젝트의-방향에-영향을-미칠-수-있다) + - [3. 우수한 개발자를 고용할 수 있다](#3-우수한-개발자를-고용할-수-있다) + - [개발자는 왜 오픈소스에 기여해야 하나?](#개발자는-왜-오픈소스에-기여해야-하나) + - [1. 공공의 이익에 기여할 수 있다](#1-공공의-이익에-기여할-수-있다) + - [2. 실력을 키울 수 있다](#2-실력을-키울-수-있다) + - [3. 오픈소스를 깊은 수준에서 이해하고 기술을 습득할 수 있다.](#3-오픈소스를-깊은-수준에서-이해하고-기술을-습득할-수-있다) + - [4. 협업을 배울 수 있다](#4-협업을-배울-수-있다) + - [5. 많은 사용자를 경험할 수 있다](#5-많은-사용자를-경험할-수-있다) + - [6. 새로운 사람을 만날 수 있다](#6-새로운-사람을-만날-수-있다) + - [7. 평판과 경력을 키울 수 있다](#7-평판과-경력을-키울-수-있다) + - [8. 리더쉽을 배울 수 있다](#8-리더쉽을-배울-수-있다) +- [오픈소스 기여 가이드 - 기업 편](#오픈소스-기여-가이드---기업-편) + - [오픈소스 기여 전략을 수립하라](#오픈소스-기여-전략을-수립하라) + - [1. 기업에 오픈소스 기여가 중요한 이유가 무엇인가?](#1-기업에-오픈소스-기여가-중요한-이유가-무엇인가) + - [2. 기업이 전략적으로 사용하는 오픈소스 프로젝트가 무엇인가?](#2-기업이-전략적으로-사용하는-오픈소스-프로젝트가-무엇인가) + - [3. 어떤 프로젝트에 기여해야 하는가?](#3-어떤-프로젝트에-기여해야-하는가) + - [4. 이미 기여하고 있는 현황을 파악하라](#4-이미-기여하고-있는-현황을-파악하라) + - [5. 이미 전문가를 보유하고 있는가? 아니면 추가로 채용해야 하는가?](#5-이미-전문가를-보유하고-있는가-아니면-추가로-채용해야-하는가) + - [6. 오픈소스 프로젝트를 후원하기 위한 자금이 필요한가?](#6-오픈소스-프로젝트를-후원하기-위한-자금이-필요한가) + - [7. 기업의 오픈소스 활동을 어떻게 홍보할 것인가?](#7-기업의-오픈소스-활동을-어떻게-홍보할-것인가) + - [8. 기업의 오픈소스 기여 가이드와 프로세스는 준비했는가?](#8-기업의-오픈소스-기여-가이드와-프로세스는-준비했는가) + - [9. 충분한 교육은 제공하는가?](#9-충분한-교육은-제공하는가) + - [오픈소스 기여 정책의 방향을 설정하라](#오픈소스-기여-정책의-방향을-설정하라) + - [오픈소스 기여 정책에는 어떤 내용을 포함해야 하나?](#오픈소스-기여-정책에는-어떤-내용을-포함해야-하나) + - [1. 기여를 허용하는 기준을 수립하라](#1-기여를-허용하는-기준을-수립하라) + - [2. 개인이 업무 시간 이외에 개발한 코드라면?](#2-개인이-업무-시간-이외에-개발한-코드라면) + - [3. 기업 계정의 이메일을 사용하게 하라](#3-기업-계정의-이메일을-사용하게-하라) + - [4. CLA / DCO에 주의하라](#4-cla--dco에-주의하라) + - [CLA (Contributor License Agreement)](#cla-contributor-license-agreement) + - [DCO (Developer Certificate of Origin)](#dco-developer-certificate-of-origin) + - [5. 기업 저작권을 표시하게 하라](#5-기업-저작권을-표시하게-하라) + - [6. 행동강령을 준수하게 하라](#6-행동강령을-준수하게-하라) + - [7. 기여자 목록을 확보하여 활용하라](#7-기여자-목록을-확보하여-활용하라) +- [오픈소스 기여 가이드 - 개발자 편](#오픈소스-기여-가이드---개발자-편) + - [기여 전에 알아야 할 기본 지식](#기여-전에-알아야-할-기본-지식) + - [저작권을 고려하라](#저작권을-고려하라) + - [소속 기업의 오픈소스 정책을 확인하고 따르라](#소속-기업의-오픈소스-정책을-확인하고-따르라) + - [소스 코드만 기여할 수 있나?](#소스-코드만-기여할-수-있나) + - [문서 작성 / 번역](#문서-작성--번역) + - [테스트 / 이슈 생성](#테스트--이슈-생성) + - [디자인](#디자인) + - [코드 작성](#코드-작성) + - [마케팅](#마케팅) + - [이벤트 행사](#이벤트-행사) + - [오픈소스 프로젝트에는 누가 있나?](#오픈소스-프로젝트에는-누가-있나) + - [리더 (Leader)](#리더-leader) + - [메인테이너 (Maintainer)](#메인테이너-maintainer) + - [커미터 (Committer)](#커미터-committer) + - [기여자 (Contributor)](#기여자-contributor) + - [사용자 (User)](#사용자-user) + - [오픈소스 프로젝트는 어떤 문서를 제공하는가?](#오픈소스-프로젝트는-어떤-문서를-제공하는가) + - [README](#readme) + - [LICENSE (혹은 COPYING)](#license-혹은-copying) + - [CONTRIBUTING](#contributing) + - [CODE OF CONDUCT](#code-of-conduct) + - [기타 문서](#기타-문서) + - [어떤 프로젝트에 기여해야 하나?](#어떤-프로젝트에-기여해야-하나) + - [오픈소스 라이선스 파일이 있는가?](#오픈소스-라이선스-파일이-있는가) + - [프로젝트가 활발히 기여를 받고 있는가?](#프로젝트가-활발히-기여를-받고-있는가) + - [프로젝트 이슈를 확인하라](#프로젝트-이슈를-확인하라) + - [프로젝트의 Pull Request를 확인하라.](#프로젝트의-pull-request를-확인하라) + - [프로젝트가 기여를 환영하는 분위기인가?](#프로젝트가-기여를-환영하는-분위기인가) + - [좋은 기여자가 되기 위한 길잡이](#좋은-기여자가-되기-위한-길잡이) + - [1. 커뮤니티에 참여하라](#1-커뮤니티에-참여하라) + - [2. 잠시 살펴봐라](#2-잠시-살펴봐라) + - [3. 거버넌스를 이해하라](#3-거버넌스를-이해하라) + - [4. 작은 것부터 시작하라](#4-작은-것부터-시작하라) + - [5. 이벤트에 참가하라](#5-이벤트에-참가하라) + - [6. 초기 단계의 코드부터 기여하라](#6-초기-단계의-코드부터-기여하라) + - [기여를 준비해보자](#기여를-준비해보자) + - [1. 오픈소스 프로젝트의 문서를 숙지하라](#1-오픈소스-프로젝트의-문서를-숙지하라) + - [2. CLA / DCO 서명은 주의하라](#2-cla--dco-서명은-주의하라) + - [3. 기여 코드를 점검하라](#3-기여-코드를-점검하라) + - [4. 기업 내부 승인을 받아라](#4-기업-내부-승인을-받아라) + - [기여는 어떻게 제출해야 하나?](#기여는-어떻게-제출해야-하나) + - [1. 이전 이력을 확인하라](#1-이전-이력을-확인하라) + - [2. Issue를 생성하라](#2-issue를-생성하라) + - [3. 커뮤니케이션을 시작하라](#3-커뮤니케이션을-시작하라) + - [정확한 의사를 전달하라](#정확한-의사를-전달하라) + - [무조건 물어보지 말고, 먼저 스스로 해볼 수 있는 걸 하라](#무조건-물어보지-말고-먼저-스스로-해볼-수-있는-걸-하라) + - [대화는 가능한 간결하게 하라](#대화는-가능한-간결하게-하라) + - [모든 커뮤니케이션은 공개하라](#모든-커뮤니케이션은-공개하라) + - [문의하였으면 기다려라](#문의하였으면-기다려라) + - [커뮤니티의 결정을 존중하라](#커뮤니티의-결정을-존중하라) + - [무엇보다도 품위를 유지하라](#무엇보다도-품위를-유지하라) + - [4. Pull Request를 생성하라](#4-pull-request를-생성하라) + - [Pull Request 시기](#pull-request-시기) + - [GitHub에서의 Pull Request 절차](#github에서의-pull-request-절차) + - [5. Feedback을 받아라](#5-feedback을-받아라) + - [응답이 없다?](#응답이-없다) + - [수정을 요청한다?](#수정을-요청한다) + - [거절됐다?](#거절됐다) + - [수락됐다!](#수락됐다) +- [오픈소스 공개하기](#오픈소스-공개하기) + - [오픈소스 공개, 왜?](#오픈소스-공개-왜) + - [기업에서 얻는 이점](#기업에서-얻는-이점) + - [기술 브랜드 인지도 향상](#기술-브랜드-인지도-향상) + - [직원 리텐션 효과](#직원-리텐션-효과) + - [직원들 기술 역량 향상](#직원들-기술-역량-향상) + - [오픈소스 커뮤니티로부터 받는 지지 (오픈소스 생태계 선순환)](#오픈소스-커뮤니티로부터-받는-지지-오픈소스-생태계-선순환) + - [커뮤니티 리소스 유입](#커뮤니티-리소스-유입) + - [제품의 셀링 포인트(selling point)로 작용](#제품의-셀링-포인트selling-point로-작용) + - [개발자로써 얻는 이점](#개발자로써-얻는-이점) + - [가독성 높은 코드의 작성 실력](#가독성-높은-코드의-작성-실력) + - [문서 작성 실력](#문서-작성-실력) + - [커뮤니케이션 실력](#커뮤니케이션-실력) + - [오픈소스의 동작 원리 이해](#오픈소스의-동작-원리-이해) + - [포트폴리오](#포트폴리오) +- [오픈소스 공개 가이드 - 기업 편](#오픈소스-공개-가이드---기업-편) + - [공개 규칙 마련하기](#공개-규칙-마련하기) + - [누가?(1):누가 검토할 것인가? 유관부서들에 오픈소스 공개에 대해 설명하기](#누가1누가-검토할-것인가-유관부서들에-오픈소스-공개에-대해-설명하기) + - [1. 특허팀: 공개하려는 프로그램에 자사의 특허가 포함되어있지는 않은지 확인한다.](#1-특허팀-공개하려는-프로그램에-자사의-특허가-포함되어있지는-않은지-확인한다) + - [2. 상표팀: 공개하려는 프로그램의 명칭이 타사의 상표권을 침해하지 않는지 확인한다.](#2-상표팀-공개하려는-프로그램의-명칭이-타사의-상표권을-침해하지-않는지-확인한다) + - [3. 보안팀: 공개하려는 프로그램에 기업의 기밀 정보가 포함되어있지는 않은지, 그리고 보안취약점이 없는지 확인한다.](#3-보안팀-공개하려는-프로그램에-기업의-기밀-정보가-포함되어있지는-않은지-그리고-보안취약점이-없는지-확인한다) + - [4. 오픈소스 검수팀: 공개하려는 프로그램에 어떤 오픈소스가 포함되었는지 확인한다.](#4-오픈소스-검수팀-공개하려는-프로그램에-어떤-오픈소스가-포함되었는지-확인한다) + - [5. 인사팀: 직원이 입사할때 작성한 근로계약서, 비밀유지서약서 등에서 오픈소스 공개는 예외로 간주됨을 인지한다.](#5-인사팀-직원이-입사할때-작성한-근로계약서-비밀유지서약서-등에서-오픈소스-공개는-예외로-간주됨을-인지한다) + - [6. 홍보팀&마케팅팀: 공개한 오픈소스가 세상에 널리 알려지도록 노력한다.](#6-홍보팀마케팅팀-공개한-오픈소스가-세상에-널리-알려지도록-노력한다) + - [7. 법무팀: 법적인 부분을 검토하고 오픈소스를 접하는 사람들이 안전한 환경에 있도록 보장한다.](#7-법무팀-법적인-부분을-검토하고-오픈소스를-접하는-사람들이-안전한-환경에-있도록-보장한다) + - [누가?(2):누가 공개하고 운영할 것인가? 멤버 역할과 권한 설정 규칙 정하기](#누가2누가-공개하고-운영할-것인가-멤버-역할과-권한-설정-규칙-정하기) + - [언제?:언제 공개할 것인가? 공개 시점 정하기](#언제언제-공개할-것인가-공개-시점-정하기) + - [어디서?:어디에 공개할 것인가? 공개 위치 선정하기](#어디서어디에-공개할-것인가-공개-위치-선정하기) + - [어떻게?:어떤 조건으로 공개할 것인가? 공개에 적합한 라이선스 후보군 정하기](#어떻게어떤-조건으로-공개할-것인가-공개에-적합한-라이선스-후보군-정하기) + - [문서화하기](#문서화하기) + - [오픈소스 공개 신청서](#오픈소스-공개-신청서) + - [공개하기](#공개하기) + - [신청서 확인](#신청서-확인) + - [검토](#검토) + - [공개 준비](#공개-준비) + - [오픈소스 거버넌스 문서 추가](#오픈소스-거버넌스-문서-추가) + - [저장소 생성, 멤버 권한 설정](#저장소-생성-멤버-권한-설정) + - [코드 이전](#코드-이전) + - [배포 준비](#배포-준비) + - [공개](#공개) + - [공개만 하면 끝인가요? 그 이후에 해야할 일](#공개만-하면-끝인가요-그-이후에-해야할-일) + - [소통하기](#소통하기) + - [소셜 미디어](#소셜-미디어) + - [기술 블로그](#기술-블로그) + - [웹사이트 제작](#웹사이트-제작) + - [다양한 커뮤니케이션 수단 마련](#다양한-커뮤니케이션-수단-마련) + - [기술 콘퍼런스 참여](#기술-콘퍼런스-참여) + - [로고 제작](#로고-제작) + - [사용자 늘리기](#사용자-늘리기) + - [요약](#요약-1) +- [오픈소스 공개 가이드 - 개발자 편](#오픈소스-공개-가이드---개발자-편) + - [오픈소스 공개를 준비하기](#오픈소스-공개를-준비하기) + - [기업의 입장에서 오픈소스를 판단하는 기준을 생각해보기](#기업의-입장에서-오픈소스를-판단하는-기준을-생각해보기) + - [공개 이후 운영 계획에 대해 생각해보기](#공개-이후-운영-계획에-대해-생각해보기) + - [오픈소스 운영에 필요한 도구 탐색하고 공부하기](#오픈소스-운영에-필요한-도구-탐색하고-공부하기) + - [`README.md` 작성 요령](#readmemd-작성-요령) + - [`CONTRIBUTING.md` 작성 요령](#contributingmd-작성-요령) + - [오픈소스 운영하기](#오픈소스-운영하기) + - [오픈소스 배포하기](#오픈소스-배포하기) + - [Issue tracker 활용 best practice](#issue-tracker-활용-best-practice) + - [이슈 템플릿 활용](#이슈-템플릿-활용) + - [Label 활용](#label-활용) + - [초심자를 위한 이슈](#초심자를-위한-이슈) + - [Pull request 운영 best practice](#pull-request-운영-best-practice) + - [Pull request 템플릿 활용](#pull-request-템플릿-활용) + - [적극적으로 댓글을 활용](#적극적으로-댓글을-활용) + - [부드러운 재촉](#부드러운-재촉) + - [요약](#요약-2) +- [OSPO (Open Source Program Office)](#ospo-open-source-program-office) + - [오픈소스 프로그램이란?](#오픈소스-프로그램이란) + - [OSPO란?](#ospo란) + - [OSPO 역할](#ospo-역할) + - [1. 올바른 오픈소스의 사용](#1-올바른-오픈소스의-사용) + - [2. 외부 오픈소스 프로젝트로의 기여](#2-외부-오픈소스-프로젝트로의-기여) + - [3. 사내 프로젝트의 오픈소스 공개](#3-사내-프로젝트의-오픈소스-공개) + - [OSPO 구성 절차](#ospo-구성-절차) + - [1. 리더를 임명하라](#1-리더를-임명하라) + - [2. OSPO의 역할을 정의하라](#2-ospo의-역할을-정의하라) + - [3. 피드백을 수렴하라](#3-피드백을-수렴하라) + - [어느 조직 내에 OSPO를 만들어야 하나?](#어느-조직-내에-ospo를-만들어야-하나) + - [개발 조직 속에서의 OSPO](#개발-조직-속에서의-ospo) + - [법무 조직 속에서의 OSPO](#법무-조직-속에서의-ospo) + - [마케팅 조직 속에서의 OSPO](#마케팅-조직-속에서의-ospo) + - [OSPO에는 어떤 인원이 필요한가?](#ospo에는-어떤-인원이-필요한가) + - [오픈소스 프로그램 매니저](#오픈소스-프로그램-매니저) + - [컴플라이언스 담당](#컴플라이언스-담당) + - [법무 담당](#법무-담당) + - [IT 지원 담당](#it-지원-담당) + - [오픈소스 에반젤리스트](#오픈소스-에반젤리스트) + - [구체적으로 OSPO는 무엇을 해야 하는가?](#구체적으로-ospo는-무엇을-해야-하는가) + - [정책을 수립하라](#정책을-수립하라) + - [정책을 전파하라](#정책을-전파하라) + - [프로세스를 구축하라](#프로세스를-구축하라) + - [자동화 도구를 지원하라](#자동화-도구를-지원하라) +- [참고링크](#참고링크) +- [참고문헌](#참고문헌) + # 요약 ## 본 가이드의 배경 및 취지 @@ -1350,6 +1666,13 @@ GitHub에서 자신의 Repository에 가면 Compare & pull request 버튼이 활 이후 Upstream Repository의 관리자는 요청된 Pull Request를 검토하여 Merge 여부를 결정한다. +> **Git 사용이 처음이라면** +> 다음의 Git에 대한 안내서를 참고할 수 있다. +> * [Git cheat sheet](https://training.github.com/downloads/ko/github-git-cheat-sheet) +> * [Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문](https://opentutorials.org/course/2708) +> * [누구나 쉽게 이해할 수 있는 Git입문](https://backlog.com/git-tutorial/kr/intro/intro1_1.html) + + > **Pull Request가 처음이라면** > * Pull Request가 처음이라면 [**Make a Pull Request**](http://makeapullrequest.com/) (26)(비디오 강의)를 참고한다. > * 또한, [**First Contributions**](https://github.com/Roshanjossey/first-contributions) (27)에서 Pull Request 만드는 것을 연습할 수 있다. From 5731d584753e3624c59f91437a558ea8e8d62546 Mon Sep 17 00:00:00 2001 From: Haksung Jang Date: Thu, 8 Apr 2021 21:33:48 +0900 Subject: [PATCH 2/3] add cr --- oss-governance-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oss-governance-guide.md b/oss-governance-guide.md index 625907a..48e665e 100644 --- a/oss-governance-guide.md +++ b/oss-governance-guide.md @@ -1666,7 +1666,7 @@ GitHub에서 자신의 Repository에 가면 Compare & pull request 버튼이 활 이후 Upstream Repository의 관리자는 요청된 Pull Request를 검토하여 Merge 여부를 결정한다. -> **Git 사용이 처음이라면** +> **Git 사용이 처음이라면** > 다음의 Git에 대한 안내서를 참고할 수 있다. > * [Git cheat sheet](https://training.github.com/downloads/ko/github-git-cheat-sheet) > * [Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문](https://opentutorials.org/course/2708) From c00855aaac8201f977c101b54bd94d55f40c2cff Mon Sep 17 00:00:00 2001 From: Haksung Jang Date: Thu, 8 Apr 2021 21:34:52 +0900 Subject: [PATCH 3/3] remove toc --- oss-governance-guide.md | 316 ---------------------------------------- 1 file changed, 316 deletions(-) diff --git a/oss-governance-guide.md b/oss-governance-guide.md index 48e665e..d4221a9 100644 --- a/oss-governance-guide.md +++ b/oss-governance-guide.md @@ -1,319 +1,3 @@ -- [요약](#요약) - - [본 가이드의 배경 및 취지](#본-가이드의-배경-및-취지) - - [구성 내용](#구성-내용) - - [각 장의 내용 소개 (사용하기 / 기여하기 / 공개하기 / OSPO)](#각-장의-내용-소개-사용하기--기여하기--공개하기--ospo) - - [1. 오픈소스 사용하기](#1-오픈소스-사용하기) - - [2. 오픈소스 기여하기](#2-오픈소스-기여하기) - - [3. 오픈소스 공개하기](#3-오픈소스-공개하기) - - [4. OSPO (Open Source Program Office, 오픈소스 프로그램 사무소)](#4-ospo-open-source-program-office-오픈소스-프로그램-사무소) - - [결론 및 제언](#결론-및-제언) -- [오픈소스 사용하기](#오픈소스-사용하기) - - [기업이 바라보는 오픈소스](#기업이-바라보는-오픈소스) - - [국내 기업들의 오픈소스 도입 현황](#국내-기업들의-오픈소스-도입-현황) - - [오픈소스 도입 현황](#오픈소스-도입-현황) - - [국내 오픈소스 시장 현황](#국내-오픈소스-시장-현황) - - [오픈소스 도입 이유](#오픈소스-도입-이유) - - [비용 절감](#비용-절감) - - [최신 기술](#최신-기술) - - [안정성](#안정성) - - [역량 강화](#역량-강화) - - [생산성의 증가](#생산성의-증가) - - [시장 확대](#시장-확대) - - [인재 확보](#인재-확보) - - [오픈소스 도입시 고려사항](#오픈소스-도입시-고려사항) - - [보안](#보안) - - [오픈소스 기술 지원](#오픈소스-기술-지원) - - [오픈소스 커뮤니티](#오픈소스-커뮤니티) - - [컴플라이언스, 지식재산권](#컴플라이언스-지식재산권) - - [호환성](#호환성) -- [오픈소스 사용 가이드 - 기업 편](#오픈소스-사용-가이드---기업-편) - - [오픈소스를 사용하고 관리하기](#오픈소스를-사용하고-관리하기) - - [오픈소스 컴플라이언스](#오픈소스-컴플라이언스) - - [오픈소스 컴플라이언스의 정의](#오픈소스-컴플라이언스의-정의) - - [오픈소스 컴플라이언스 프로세스](#오픈소스-컴플라이언스-프로세스) - - [**1. 오픈소스 라이브러리 식별**](#1-오픈소스-라이브러리-식별) - - [**2. 소스 코드 감사**](#2-소스-코드-감사) - - [**3. 이슈 확인 및 해결**](#3-이슈-확인-및-해결) - - [**4. 아키텍처 리뷰**](#4-아키텍처-리뷰) - - [**5. 승인**](#5-승인) - - [**6. 고지**](#6-고지) - - [**7. 검증**](#7-검증) - - [라이선스 의무사항](#라이선스-의무사항) - - [오픈소스 배포](#오픈소스-배포) - - [오픈소스 라이선스 공통 의무사항](#오픈소스-라이선스-공통-의무사항) - - [오픈소스 라이선스 컴플라이언스 실행](#오픈소스-라이선스-컴플라이언스-실행) - - [사용 중인 오픈소스를 추적 해야 하는 이유](#사용-중인-오픈소스를-추적-해야-하는-이유) - - [**오픈소스 목록 관리**](#오픈소스-목록-관리) - - [**라이선스 확인**](#라이선스-확인) - - [**취약점 파악**](#취약점-파악) - - [**패치 및 버전 업데이트**](#패치-및-버전-업데이트) - - [오픈소스 목록 수동 관리](#오픈소스-목록-수동-관리) - - [**오픈소스 파악의 어려움**](#오픈소스-파악의-어려움) - - [**사용된 오픈소스 목록 누락**](#사용된-오픈소스-목록-누락) - - [**배포 프로세스 지연**](#배포-프로세스-지연) - - [오픈소스 목록 관리의 자동화](#오픈소스-목록-관리의-자동화) - - [오픈소스 관리 도구 소개](#오픈소스-관리-도구-소개) - - [오픈소스 관리 도구를 선택하는 기준](#오픈소스-관리-도구를-선택하는-기준) - - [주요 오픈소스 관리 도구 소개](#주요-오픈소스-관리-도구-소개) - - [**Olive (Kakao)** - https://olive.kakao.com](#olive-kakao---httpsolivekakaocom) - - [**Fossa** - https://fossa.com](#fossa---httpsfossacom) - - [**Snyk** - https://snyk.io](#snyk---httpssnykio) - - [**WhiteSource** - https://www.whitesourcesoftware.com](#whitesource---httpswwwwhitesourcesoftwarecom) - - [**FOSSology** - https://www.fossology.org](#fossology---httpswwwfossologyorg) - - [**SW360** - https://www.eclipse.org/sw360](#sw360---httpswwweclipseorgsw360) - - [**SPDX** - https://spdx.dev](#spdx---httpsspdxdev) - - [**ClearlyDefined** - https://clearlydefined.io](#clearlydefined---httpsclearlydefinedio) - - [오픈소스 고지 의무사항](#오픈소스-고지-의무사항) - - [고지 항목](#고지-항목) - - [저작권 고지](#저작권-고지) - - [라이선스 고지 (사본 첨부)](#라이선스-고지-사본-첨부) - - [수정 내용 고지](#수정-내용-고지) - - [고지 방법](#고지-방법) - - [Apache Royale 프로젝트(73)의 예](#apache-royale-프로젝트sup73sup의-예) - - [Apache Hive 프로젝트(74)의 예](#apache-hive-프로젝트sup74sup의-예) - - [카카오톡(96)의 예](#카카오톡sup96sup의-예) - - [LG전자(95)의 예](#lg전자sup95sup의-예) - - [오픈소스의 보안 취약성](#오픈소스의-보안-취약성) - - [오픈소스의 보안 취약성 현황](#오픈소스의-보안-취약성-현황) - - [오픈소스의 보안 취약성 사례](#오픈소스의-보안-취약성-사례) - - [오픈소스의 보안 취약성 조치](#오픈소스의-보안-취약성-조치) - - [취약성 데이터베이스](#취약성-데이터베이스) - - [Mitre의 CVE(Common Vulnerabilities and Exposures) - https://cve.mitre.org](#mitre의-cvecommon-vulnerabilities-and-exposures---httpscvemitreorg) - - [Sonatype OSS Index - https://ossindex.sonatype.org](#sonatype-oss-index---httpsossindexsonatypeorg) - - [DevSecOps](#devsecops) - - [IBM DevSecOps 모범 사례](#ibm-devsecops-모범-사례) - - [**자산 추적**](#자산-추적) - - [**위협 평가 수행**](#위협-평가-수행) - - [**보안 체크리스트**](#보안-체크리스트) - - [**가능한 자동화**](#가능한-자동화) - - [**보안 우선 문화 구축**](#보안-우선-문화-구축) - - [**컨테이너 보안 모범 사례 적용**](#컨테이너-보안-모범-사례-적용) - - [**모든 것을 암호화**](#모든-것을-암호화) - - [GitHub 기능을 활용한 보안 관리 사례](#github-기능을-활용한-보안-관리-사례) - - [**Dependency Graph**](#dependency-graph) - - [**dependabot**](#dependabot) - - [**코드 스캐닝**](#코드-스캐닝) - - [**Secret 스캐닝**](#secret-스캐닝) -- [오픈소스 사용 가이드 - 개발자 편](#오픈소스-사용-가이드---개발자-편) - - [오픈소스 생태계의 이해](#오픈소스-생태계의-이해) - - [오픈소스 생태계 구성](#오픈소스-생태계-구성) - - [**생산자**](#생산자) - - [**공급자**](#공급자) - - [**소비자**](#소비자) - - [오픈소스 커뮤니티](#오픈소스-커뮤니티-1) - - [오픈소스 재단](#오픈소스-재단) - - [**OSI (Open Source Initiative)**](#osi-open-source-initiative) - - [**Free Software Foundation**](#free-software-foundation) - - [**Linux Foundation**](#linux-foundation) - - [**Apache Software Foundation**](#apache-software-foundation) - - [**Cloud Foundry Foundation**](#cloud-foundry-foundation) - - [오픈소스 라이선스](#오픈소스-라이선스) - - [오픈소스 라이선스 구분](#오픈소스-라이선스-구분) - - [**permissive 라이선스**](#permissive-라이선스) - - [**copyleft 라이선스**](#copyleft-라이선스) - - [오픈소스 선택 가이드](#오픈소스-선택-가이드) - - [오픈소스 선택 기준](#오픈소스-선택-기준) - - [**기능성**](#기능성) - - [**오픈소스 사용 조건 및 성능**](#오픈소스-사용-조건-및-성능) - - [**라이선스**](#라이선스) - - [**보안**](#보안-1) - - [**인기도**](#인기도) - - [**소스 코드**](#소스-코드) - - [**문서화**](#문서화) - - [오픈소스 선택 체크리스트](#오픈소스-선택-체크리스트) -- [오픈소스 기여하기](#오픈소스-기여하기) - - [기업은 왜 오픈소스에 기여해야 하나?](#기업은-왜-오픈소스에-기여해야-하나) - - [1. 유지 관리 비용을 절감할 수 있다](#1-유지-관리-비용을-절감할-수-있다) - - [2. 오픈소스 프로젝트의 방향에 영향을 미칠 수 있다](#2-오픈소스-프로젝트의-방향에-영향을-미칠-수-있다) - - [3. 우수한 개발자를 고용할 수 있다](#3-우수한-개발자를-고용할-수-있다) - - [개발자는 왜 오픈소스에 기여해야 하나?](#개발자는-왜-오픈소스에-기여해야-하나) - - [1. 공공의 이익에 기여할 수 있다](#1-공공의-이익에-기여할-수-있다) - - [2. 실력을 키울 수 있다](#2-실력을-키울-수-있다) - - [3. 오픈소스를 깊은 수준에서 이해하고 기술을 습득할 수 있다.](#3-오픈소스를-깊은-수준에서-이해하고-기술을-습득할-수-있다) - - [4. 협업을 배울 수 있다](#4-협업을-배울-수-있다) - - [5. 많은 사용자를 경험할 수 있다](#5-많은-사용자를-경험할-수-있다) - - [6. 새로운 사람을 만날 수 있다](#6-새로운-사람을-만날-수-있다) - - [7. 평판과 경력을 키울 수 있다](#7-평판과-경력을-키울-수-있다) - - [8. 리더쉽을 배울 수 있다](#8-리더쉽을-배울-수-있다) -- [오픈소스 기여 가이드 - 기업 편](#오픈소스-기여-가이드---기업-편) - - [오픈소스 기여 전략을 수립하라](#오픈소스-기여-전략을-수립하라) - - [1. 기업에 오픈소스 기여가 중요한 이유가 무엇인가?](#1-기업에-오픈소스-기여가-중요한-이유가-무엇인가) - - [2. 기업이 전략적으로 사용하는 오픈소스 프로젝트가 무엇인가?](#2-기업이-전략적으로-사용하는-오픈소스-프로젝트가-무엇인가) - - [3. 어떤 프로젝트에 기여해야 하는가?](#3-어떤-프로젝트에-기여해야-하는가) - - [4. 이미 기여하고 있는 현황을 파악하라](#4-이미-기여하고-있는-현황을-파악하라) - - [5. 이미 전문가를 보유하고 있는가? 아니면 추가로 채용해야 하는가?](#5-이미-전문가를-보유하고-있는가-아니면-추가로-채용해야-하는가) - - [6. 오픈소스 프로젝트를 후원하기 위한 자금이 필요한가?](#6-오픈소스-프로젝트를-후원하기-위한-자금이-필요한가) - - [7. 기업의 오픈소스 활동을 어떻게 홍보할 것인가?](#7-기업의-오픈소스-활동을-어떻게-홍보할-것인가) - - [8. 기업의 오픈소스 기여 가이드와 프로세스는 준비했는가?](#8-기업의-오픈소스-기여-가이드와-프로세스는-준비했는가) - - [9. 충분한 교육은 제공하는가?](#9-충분한-교육은-제공하는가) - - [오픈소스 기여 정책의 방향을 설정하라](#오픈소스-기여-정책의-방향을-설정하라) - - [오픈소스 기여 정책에는 어떤 내용을 포함해야 하나?](#오픈소스-기여-정책에는-어떤-내용을-포함해야-하나) - - [1. 기여를 허용하는 기준을 수립하라](#1-기여를-허용하는-기준을-수립하라) - - [2. 개인이 업무 시간 이외에 개발한 코드라면?](#2-개인이-업무-시간-이외에-개발한-코드라면) - - [3. 기업 계정의 이메일을 사용하게 하라](#3-기업-계정의-이메일을-사용하게-하라) - - [4. CLA / DCO에 주의하라](#4-cla--dco에-주의하라) - - [CLA (Contributor License Agreement)](#cla-contributor-license-agreement) - - [DCO (Developer Certificate of Origin)](#dco-developer-certificate-of-origin) - - [5. 기업 저작권을 표시하게 하라](#5-기업-저작권을-표시하게-하라) - - [6. 행동강령을 준수하게 하라](#6-행동강령을-준수하게-하라) - - [7. 기여자 목록을 확보하여 활용하라](#7-기여자-목록을-확보하여-활용하라) -- [오픈소스 기여 가이드 - 개발자 편](#오픈소스-기여-가이드---개발자-편) - - [기여 전에 알아야 할 기본 지식](#기여-전에-알아야-할-기본-지식) - - [저작권을 고려하라](#저작권을-고려하라) - - [소속 기업의 오픈소스 정책을 확인하고 따르라](#소속-기업의-오픈소스-정책을-확인하고-따르라) - - [소스 코드만 기여할 수 있나?](#소스-코드만-기여할-수-있나) - - [문서 작성 / 번역](#문서-작성--번역) - - [테스트 / 이슈 생성](#테스트--이슈-생성) - - [디자인](#디자인) - - [코드 작성](#코드-작성) - - [마케팅](#마케팅) - - [이벤트 행사](#이벤트-행사) - - [오픈소스 프로젝트에는 누가 있나?](#오픈소스-프로젝트에는-누가-있나) - - [리더 (Leader)](#리더-leader) - - [메인테이너 (Maintainer)](#메인테이너-maintainer) - - [커미터 (Committer)](#커미터-committer) - - [기여자 (Contributor)](#기여자-contributor) - - [사용자 (User)](#사용자-user) - - [오픈소스 프로젝트는 어떤 문서를 제공하는가?](#오픈소스-프로젝트는-어떤-문서를-제공하는가) - - [README](#readme) - - [LICENSE (혹은 COPYING)](#license-혹은-copying) - - [CONTRIBUTING](#contributing) - - [CODE OF CONDUCT](#code-of-conduct) - - [기타 문서](#기타-문서) - - [어떤 프로젝트에 기여해야 하나?](#어떤-프로젝트에-기여해야-하나) - - [오픈소스 라이선스 파일이 있는가?](#오픈소스-라이선스-파일이-있는가) - - [프로젝트가 활발히 기여를 받고 있는가?](#프로젝트가-활발히-기여를-받고-있는가) - - [프로젝트 이슈를 확인하라](#프로젝트-이슈를-확인하라) - - [프로젝트의 Pull Request를 확인하라.](#프로젝트의-pull-request를-확인하라) - - [프로젝트가 기여를 환영하는 분위기인가?](#프로젝트가-기여를-환영하는-분위기인가) - - [좋은 기여자가 되기 위한 길잡이](#좋은-기여자가-되기-위한-길잡이) - - [1. 커뮤니티에 참여하라](#1-커뮤니티에-참여하라) - - [2. 잠시 살펴봐라](#2-잠시-살펴봐라) - - [3. 거버넌스를 이해하라](#3-거버넌스를-이해하라) - - [4. 작은 것부터 시작하라](#4-작은-것부터-시작하라) - - [5. 이벤트에 참가하라](#5-이벤트에-참가하라) - - [6. 초기 단계의 코드부터 기여하라](#6-초기-단계의-코드부터-기여하라) - - [기여를 준비해보자](#기여를-준비해보자) - - [1. 오픈소스 프로젝트의 문서를 숙지하라](#1-오픈소스-프로젝트의-문서를-숙지하라) - - [2. CLA / DCO 서명은 주의하라](#2-cla--dco-서명은-주의하라) - - [3. 기여 코드를 점검하라](#3-기여-코드를-점검하라) - - [4. 기업 내부 승인을 받아라](#4-기업-내부-승인을-받아라) - - [기여는 어떻게 제출해야 하나?](#기여는-어떻게-제출해야-하나) - - [1. 이전 이력을 확인하라](#1-이전-이력을-확인하라) - - [2. Issue를 생성하라](#2-issue를-생성하라) - - [3. 커뮤니케이션을 시작하라](#3-커뮤니케이션을-시작하라) - - [정확한 의사를 전달하라](#정확한-의사를-전달하라) - - [무조건 물어보지 말고, 먼저 스스로 해볼 수 있는 걸 하라](#무조건-물어보지-말고-먼저-스스로-해볼-수-있는-걸-하라) - - [대화는 가능한 간결하게 하라](#대화는-가능한-간결하게-하라) - - [모든 커뮤니케이션은 공개하라](#모든-커뮤니케이션은-공개하라) - - [문의하였으면 기다려라](#문의하였으면-기다려라) - - [커뮤니티의 결정을 존중하라](#커뮤니티의-결정을-존중하라) - - [무엇보다도 품위를 유지하라](#무엇보다도-품위를-유지하라) - - [4. Pull Request를 생성하라](#4-pull-request를-생성하라) - - [Pull Request 시기](#pull-request-시기) - - [GitHub에서의 Pull Request 절차](#github에서의-pull-request-절차) - - [5. Feedback을 받아라](#5-feedback을-받아라) - - [응답이 없다?](#응답이-없다) - - [수정을 요청한다?](#수정을-요청한다) - - [거절됐다?](#거절됐다) - - [수락됐다!](#수락됐다) -- [오픈소스 공개하기](#오픈소스-공개하기) - - [오픈소스 공개, 왜?](#오픈소스-공개-왜) - - [기업에서 얻는 이점](#기업에서-얻는-이점) - - [기술 브랜드 인지도 향상](#기술-브랜드-인지도-향상) - - [직원 리텐션 효과](#직원-리텐션-효과) - - [직원들 기술 역량 향상](#직원들-기술-역량-향상) - - [오픈소스 커뮤니티로부터 받는 지지 (오픈소스 생태계 선순환)](#오픈소스-커뮤니티로부터-받는-지지-오픈소스-생태계-선순환) - - [커뮤니티 리소스 유입](#커뮤니티-리소스-유입) - - [제품의 셀링 포인트(selling point)로 작용](#제품의-셀링-포인트selling-point로-작용) - - [개발자로써 얻는 이점](#개발자로써-얻는-이점) - - [가독성 높은 코드의 작성 실력](#가독성-높은-코드의-작성-실력) - - [문서 작성 실력](#문서-작성-실력) - - [커뮤니케이션 실력](#커뮤니케이션-실력) - - [오픈소스의 동작 원리 이해](#오픈소스의-동작-원리-이해) - - [포트폴리오](#포트폴리오) -- [오픈소스 공개 가이드 - 기업 편](#오픈소스-공개-가이드---기업-편) - - [공개 규칙 마련하기](#공개-규칙-마련하기) - - [누가?(1):누가 검토할 것인가? 유관부서들에 오픈소스 공개에 대해 설명하기](#누가1누가-검토할-것인가-유관부서들에-오픈소스-공개에-대해-설명하기) - - [1. 특허팀: 공개하려는 프로그램에 자사의 특허가 포함되어있지는 않은지 확인한다.](#1-특허팀-공개하려는-프로그램에-자사의-특허가-포함되어있지는-않은지-확인한다) - - [2. 상표팀: 공개하려는 프로그램의 명칭이 타사의 상표권을 침해하지 않는지 확인한다.](#2-상표팀-공개하려는-프로그램의-명칭이-타사의-상표권을-침해하지-않는지-확인한다) - - [3. 보안팀: 공개하려는 프로그램에 기업의 기밀 정보가 포함되어있지는 않은지, 그리고 보안취약점이 없는지 확인한다.](#3-보안팀-공개하려는-프로그램에-기업의-기밀-정보가-포함되어있지는-않은지-그리고-보안취약점이-없는지-확인한다) - - [4. 오픈소스 검수팀: 공개하려는 프로그램에 어떤 오픈소스가 포함되었는지 확인한다.](#4-오픈소스-검수팀-공개하려는-프로그램에-어떤-오픈소스가-포함되었는지-확인한다) - - [5. 인사팀: 직원이 입사할때 작성한 근로계약서, 비밀유지서약서 등에서 오픈소스 공개는 예외로 간주됨을 인지한다.](#5-인사팀-직원이-입사할때-작성한-근로계약서-비밀유지서약서-등에서-오픈소스-공개는-예외로-간주됨을-인지한다) - - [6. 홍보팀&마케팅팀: 공개한 오픈소스가 세상에 널리 알려지도록 노력한다.](#6-홍보팀마케팅팀-공개한-오픈소스가-세상에-널리-알려지도록-노력한다) - - [7. 법무팀: 법적인 부분을 검토하고 오픈소스를 접하는 사람들이 안전한 환경에 있도록 보장한다.](#7-법무팀-법적인-부분을-검토하고-오픈소스를-접하는-사람들이-안전한-환경에-있도록-보장한다) - - [누가?(2):누가 공개하고 운영할 것인가? 멤버 역할과 권한 설정 규칙 정하기](#누가2누가-공개하고-운영할-것인가-멤버-역할과-권한-설정-규칙-정하기) - - [언제?:언제 공개할 것인가? 공개 시점 정하기](#언제언제-공개할-것인가-공개-시점-정하기) - - [어디서?:어디에 공개할 것인가? 공개 위치 선정하기](#어디서어디에-공개할-것인가-공개-위치-선정하기) - - [어떻게?:어떤 조건으로 공개할 것인가? 공개에 적합한 라이선스 후보군 정하기](#어떻게어떤-조건으로-공개할-것인가-공개에-적합한-라이선스-후보군-정하기) - - [문서화하기](#문서화하기) - - [오픈소스 공개 신청서](#오픈소스-공개-신청서) - - [공개하기](#공개하기) - - [신청서 확인](#신청서-확인) - - [검토](#검토) - - [공개 준비](#공개-준비) - - [오픈소스 거버넌스 문서 추가](#오픈소스-거버넌스-문서-추가) - - [저장소 생성, 멤버 권한 설정](#저장소-생성-멤버-권한-설정) - - [코드 이전](#코드-이전) - - [배포 준비](#배포-준비) - - [공개](#공개) - - [공개만 하면 끝인가요? 그 이후에 해야할 일](#공개만-하면-끝인가요-그-이후에-해야할-일) - - [소통하기](#소통하기) - - [소셜 미디어](#소셜-미디어) - - [기술 블로그](#기술-블로그) - - [웹사이트 제작](#웹사이트-제작) - - [다양한 커뮤니케이션 수단 마련](#다양한-커뮤니케이션-수단-마련) - - [기술 콘퍼런스 참여](#기술-콘퍼런스-참여) - - [로고 제작](#로고-제작) - - [사용자 늘리기](#사용자-늘리기) - - [요약](#요약-1) -- [오픈소스 공개 가이드 - 개발자 편](#오픈소스-공개-가이드---개발자-편) - - [오픈소스 공개를 준비하기](#오픈소스-공개를-준비하기) - - [기업의 입장에서 오픈소스를 판단하는 기준을 생각해보기](#기업의-입장에서-오픈소스를-판단하는-기준을-생각해보기) - - [공개 이후 운영 계획에 대해 생각해보기](#공개-이후-운영-계획에-대해-생각해보기) - - [오픈소스 운영에 필요한 도구 탐색하고 공부하기](#오픈소스-운영에-필요한-도구-탐색하고-공부하기) - - [`README.md` 작성 요령](#readmemd-작성-요령) - - [`CONTRIBUTING.md` 작성 요령](#contributingmd-작성-요령) - - [오픈소스 운영하기](#오픈소스-운영하기) - - [오픈소스 배포하기](#오픈소스-배포하기) - - [Issue tracker 활용 best practice](#issue-tracker-활용-best-practice) - - [이슈 템플릿 활용](#이슈-템플릿-활용) - - [Label 활용](#label-활용) - - [초심자를 위한 이슈](#초심자를-위한-이슈) - - [Pull request 운영 best practice](#pull-request-운영-best-practice) - - [Pull request 템플릿 활용](#pull-request-템플릿-활용) - - [적극적으로 댓글을 활용](#적극적으로-댓글을-활용) - - [부드러운 재촉](#부드러운-재촉) - - [요약](#요약-2) -- [OSPO (Open Source Program Office)](#ospo-open-source-program-office) - - [오픈소스 프로그램이란?](#오픈소스-프로그램이란) - - [OSPO란?](#ospo란) - - [OSPO 역할](#ospo-역할) - - [1. 올바른 오픈소스의 사용](#1-올바른-오픈소스의-사용) - - [2. 외부 오픈소스 프로젝트로의 기여](#2-외부-오픈소스-프로젝트로의-기여) - - [3. 사내 프로젝트의 오픈소스 공개](#3-사내-프로젝트의-오픈소스-공개) - - [OSPO 구성 절차](#ospo-구성-절차) - - [1. 리더를 임명하라](#1-리더를-임명하라) - - [2. OSPO의 역할을 정의하라](#2-ospo의-역할을-정의하라) - - [3. 피드백을 수렴하라](#3-피드백을-수렴하라) - - [어느 조직 내에 OSPO를 만들어야 하나?](#어느-조직-내에-ospo를-만들어야-하나) - - [개발 조직 속에서의 OSPO](#개발-조직-속에서의-ospo) - - [법무 조직 속에서의 OSPO](#법무-조직-속에서의-ospo) - - [마케팅 조직 속에서의 OSPO](#마케팅-조직-속에서의-ospo) - - [OSPO에는 어떤 인원이 필요한가?](#ospo에는-어떤-인원이-필요한가) - - [오픈소스 프로그램 매니저](#오픈소스-프로그램-매니저) - - [컴플라이언스 담당](#컴플라이언스-담당) - - [법무 담당](#법무-담당) - - [IT 지원 담당](#it-지원-담당) - - [오픈소스 에반젤리스트](#오픈소스-에반젤리스트) - - [구체적으로 OSPO는 무엇을 해야 하는가?](#구체적으로-ospo는-무엇을-해야-하는가) - - [정책을 수립하라](#정책을-수립하라) - - [정책을 전파하라](#정책을-전파하라) - - [프로세스를 구축하라](#프로세스를-구축하라) - - [자동화 도구를 지원하라](#자동화-도구를-지원하라) -- [참고링크](#참고링크) -- [참고문헌](#참고문헌) - # 요약 ## 본 가이드의 배경 및 취지