Upgrade to Pro — share decks privately, control downloads, hide ads and more …

오픈소스 더 똑똑하게 관리하자

kakao
PRO
December 09, 2022

오픈소스 더 똑똑하게 관리하자

#OpenSource #CLI #오픈소스검증 #올리브플랫폼

오픈소스를 왜, 그리고 어떻게 관리해야 하는지에 대해 알아보고, 오픈소스를 더 똑똑하게 관리하기 위해 OLIVE Platform에 추가된 강력한 2가지 기능을 살펴봅니다. 그리고 OLIVE Platform's Next Level은 무엇인지 소개합니다.

OLIVE Platform: https://olive.kakao.com
OLIVE Platform 사용자 가이드: https://docs.google.com/presentation/d/1xBnYhPK26cEFWkxjx72FG9IOxmRsIqomB0b2UzGQzyM/edit#slide=id.g12fd0dddc15_0_1

발표자 : ricky.moon
카카오 오픈소스기술파트 개발자 리키입니다. 배움을 즐기고 긍정적인 사람이 되고자 노력합니다.

kakao
PRO

December 09, 2022
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. ੉ӝޙ Ricky.moon
    ஠஠য়
    Copyright 2022. Kakao Corp. All rights reserved. Redistribution or public display is not permitted without written permission from Kakao.
    য়೑ࣗझ ؊ ڙڙೞѱ ҙܻೞ੗
    if(kakao)2022
    OLIVE Platform’s Next Level

    View Slide

  2. 1. য়೑ࣗझ
    2. OLIVE Platform
    3. Level Up ( ? )
    4. Next Level

    View Slide

  3. 1. য়೑ࣗझ
    2. OLIVE Platform
    3. Level Up ( ? )
    4. Next Level

    View Slide

  4. য়೑ࣗझ
    য়೑ࣗझח ҕѐ੸ਵ۽ ঘࣁझೡ ࣻ ੓ѱ ࢸ҅غয ־ҳա ੗ਬ܂ѱ ࢎਊ, ࣻ੿, ߓನೡ ࣻ ੓ח ௏٘ੑפ׮.
    ױ, ߓನೞח ҃਋ য়೑ࣗझ੄ ۄ੉ࢶझ ੄ޖࢎ೦ਸ ળࣻೞৈ ࢎਊ೧ঠ ೤פ׮.

    View Slide

  5. ߓನ ߧਤ
    - ౸ݒ ߂ জ झషয ߓನ
    - ࣗझ௏٘ ߂ ߄੉ցܻ ੹׳
    - ҕѐ ੷੢ࣗী ࣗझ௏٘ ҕѐ
    - SDK ҕѐ
    - 3rd Party ઁҕ
    - ਢ ࢲ࠺झ(AGPL ۄ੉ࢶझ੄ য়೑ࣗझܳ ࢎਊೠ ҃਋)

    View Slide

  6. ۄ੉ࢶझ
    ۄ੉ࢶझח ਗ ੷੘ӂ੗৬ ੉ਊ੗ р੄ ࢎਊ ߑߨ ߂ ઑѤ੄ ߧਤܳ ݺदೠ ҅ডਸ ݈೤פ׮.
    য়೑ࣗझ ۄ੉ࢶझ
    Copyleft
    Permissive
    ઁড
    ઁড

    হ਺
    BSD
    Apache 

    2.0
    MIT EPL
    ౠೲ

    ઑ೦
    MPL
    AGPL

    3.0
    GPL

    3.0
    GPL

    2.0
    LGPL

    2.1

    View Slide

  7. MIT GPL
    Permissive Copyleft

    View Slide

  8. ഋࢎ ୊ߥ
    ࣗझ௏٘
    ҕѐ
    ౸ݒ Ә૑৬
    ࣚ೧ ߓ࢚
    ӝস ੉޷૑ ࢚ࣚ
    ੜޅػ য়೑ࣗझ ࢎਊ

    View Slide

  9. 0
    1800
    3600
    2018֙ 2019֙ 2020֙ 2021֙
    Ҵղ য়೑ࣗझ द੢ ӏݽ
    [ױਤ: রਗ]
    2,170
    2,520
    2,940
    3,430
    ୹୊: ੿ࠁాन࢑স૓൜ਗ ҕѐSW द੢ ӏݽ

    View Slide

  10. য়೑ࣗझ ࢎਊ ੉੼
    - ࠺ਊ ੺х
    - ୭न ӝࣿ ഛࠁ
    - ӝࣿ ҃੬۱ ъച
    - ಿ૕ ೱ࢚
    - ਋ࣻ ੋ۱ ഛࠁ

    View Slide

  11. How?
    “Ӓېࢲ য়೑ࣗझ ҙܻ যڌѱ ೧ঠ ೞաਃ?”

    View Slide

  12. 1. য়೑ࣗझ
    2. OLIVE Platform
    3. Level Up ( ? )
    4. Next Level

    View Slide

  13. OLIVE Platform
    2021֙ 6ਘ য়೑ࣗझ ҙܻ ೒ۖಬ য়೑

    View Slide

  14. Project
    Dependency
    &

    Code Snippet
    Open Source
    Component
    Analyze Mapping
    OLIVE Platform

    View Slide

  15. License Obligation History
    OLIVE Platform

    View Slide

  16. a

    View Slide

  17. olive.kakao.com

    View Slide

  18. View Slide

  19. 1. য়೑ࣗझ
    2. OLIVE Platform
    3. Level Up ( olive-cli )
    4. Next Level

    View Slide

  20. OLIVE Command Line Interface
    github.com/kakao/olive-cli/releases

    View Slide

  21. OLIVE Platform Web Service
    Open Source List
    Project
    Source Code Files

    View Slide

  22. ৵ ೙ਃೠоਃ?
    ࢎਊ੗ PC ജ҃
    Dependencies
    Open Source List

    View Slide

  23. যڌѱ оמೠоਃ?
    • org.springframework.boot
    • spring-boot-starter
    • 2.7.3
    dependency.json
    • Spring Boot
    • github.com/spring-projects/spring-boot
    • Apache License 2.0
    • Copyright 2012-2022 pivotal, Inc.
    • License notices
    mapping.json
    ࢎਊ੗ PC ജ҃
    analyze mapping
    Project

    View Slide

  24. ৵ ೙ਃೠоਃ?
    ࢎਊ੗ PC ജ҃
    con
    fi
    g.yaml
    dependency.json
    manual-component.json
    apply

    View Slide

  25. OLIVE CLI ੸ਊ ࢎ۹ - Aࢎ
    OLIVE
    CLI
    ࠁউݎ
    analyze ҙܻ
    য়೑ࣗझ ݒೝ
    Ҋ૑ޙ ߊә
    Project

    View Slide

  26. OLIVE CLI ੸ਊ ࢎ۹ - ஠஠য়ߛ௼
    OLIVE
    CLI
    OLIVE
    CLI
    Әਲ਼ݎ ҃৔ݎ
    analyze ҙܻ
    Ѿҗ ౵ੌ ੹࣠
    (Dependencies)
    য়೑ࣗझ ݒೝ
    Ҋ૑ޙ ߊә
    Project

    View Slide

  27. OLIVE CLI ݺ۸য
    init
    status
    analyze
    mapping
    add component
    report
    component
    license
    notice apply

    View Slide

  28. 1. য়೑ࣗझ
    2. OLIVE Platform
    3. Level Up ( Code Snippet ࠙ࢳ )
    4. Next Level

    View Slide

  29. Code Snippet੉ۆ?
    void function
    fi
    zzbuzz
    For (i = 1; i<=100; i++) {
    set print_number to true;
    If i is divisible by 3
    print "Fizz";
    set print_number to false;
    If i is divisible by 5
    print "Buzz";
    set print_number to false;
    If print_number, print i;
    print a newline;
    }

    View Slide

  30. Code Snippet ࠙ࢳ
    Project Files Analyze

    View Slide

  31. User
    ৵ ೙ਃೠоਃ?
    Application
    Code Snippet Deploy
    Open Source

    View Slide

  32. User
    ৵ ೙ਃೠоਃ?
    Application
    Code Snippet Deploy
    GPL 2.0

    View Slide

  33. ۄ੉ࢶझ ੄ޖࢎ೦
    ߓನ ೲਊ
    ࣻ੿ ղਊ Ҋ૑
    ۄ੉ࢶझ Ҋ૑
    ۄ੉ࢶदо ౠೲ ࣗ࣠ 

    ઁӝ द ۄ੉ࢶझ ઙܐ
    ࠂઁ ೲਊ
    ࣗझ௏٘ 

    ઁҕ ੄ޖ৬ ߧਤ
    ۄ੉ࢶझ ࢎࠄ ୎ࠗ
    ݺद੸ ౠೲ 

    ۄ੉ࢶझ੄ ೲਊ
    ࣻ੿ ೲਊ
    ۄ੉ࢶझ ਬ૑
    ࠁૐ੄ ࠗੋ
    ଼੐੄ ઁೠ
    ੉ܴ, ࢚಴, 

    ࢚ഐী ؀ೠ ࢎਊ ઁೠ
    ܻߡझ ূ૑פয݂ ೲਊ
    ࢎਊ ਃӘ ࠗҗ ೲਊ
    ӝఋ ର߹(ઁೠ) ઑ೦ ର߹ ઑ೦ ୶о ೲਊ
    ࣗझ௏٘ ҕѐ ۄ੉ࢶझ ୽ج ೧Ѿ
    ੉ܴ ߸҃ೞ૑ ঋ਺

    View Slide

  34. OLIVE Platform
    ࢤࢿ
    GitHub োز
    ౵ੌ স۽٘
    OLIVE CLI
    ҙܻ
    ݯߡ ҙܻ
    ൤झషܻ
    ࠙ࢳ
    Dependency
    Code Snippet
    ܻ࠭
    ஹನք౟
    ۄ੉ࢶझ
    ੄ޖࢎ೦
    ܻನ౟
    ୓௼ܻझ౟
    Ҋ૑ޙ

    View Slide

  35. 1. য়೑ࣗझ
    2. OLIVE Platform
    3. Level Up ( ? )
    4. Next Level

    View Slide

  36. Next Level
    OLIVE UI ઁҕ
    OLIVE KB ؘ੉ఠ ഛ੢
    য়೑ࣗझ ஂডࢿ ઁҕ
    ೐۽ં౟ ࠙ࢳ Ҋبച ౵ੌ ղ Copyright ఐ૑
    SBOM ౵ੌ ૑ਗ
    য়೑ࣗझ ࢤక҅ ӝৈ
    Next Level
    OLIVE KB ؘ੉ఠ ഛ੢
    Level Up
    ׮নೠ ࣗ࣍ ۽Ӓੋ
    ৔ޙ ঱য ૑ਗ
    Code Snippet ࠙ࢳ
    OLIVE CLI

    View Slide

  37. OLIVE Knowledge Base
    ಁః૑ ੷੢ࣗ
    ؘ੉ఠ ੿ઁ
    ಁః૑ ੷੢
    ஂডࢿ ੿ࠁ ੷੢
    OLIVE KB

    View Slide

  38. ৵ ೙ਃೠоਃ?
    Name Version ୹୊ ۄ੉ࢶझ ஂডࢿ ਤ೷ ੿ࠁ
    SomeDependency 0.1.0 ? ? ?
    ࠙ࢳ ਃ୒
    User

    View Slide

  39. OLIVE KBী ࣻ૘ غয ੓׮ݶ?
    ࠙ࢳ ਃ୒
    OLIVE KB
    Name Version ୹୊ ۄ੉ࢶझ ஂডࢿ ਤ೷ ੿ࠁ
    SomeDependency 0.1.0 KnownPackage MIT CVE-YYYY-NNNN
    User

    View Slide

  40. Public API ઁҕ
    ૑ࣘ੸ੋ 

    ؘ੉ఠ݃੉׬
    OLIVE KB ഝਊ ߂ ҅ദ
    ܻ࠭ܳ ాೠ 

    न܉ب ೱ࢚
    ಁః૑ ୹୊
    ஂডࢿ
    ۄ੉ࢶझ
    Project ࠙ࢳ
    OLIVE KB

    View Slide

  41. Q&A

    View Slide

  42. // Kakao য়೑ࣗझӝࣿ౵౟
    if(hasTech && hasPassion){
    click('job opening')
    }

    View Slide

  43. Thank You

    View Slide

  44. ଵҊ ޙ೴
    1) য়೑ࣗझ Ѩૐ بҳ: OLIVE CLI ࣗѐ, https://tech.kakao.com/2022/06/09/olive-cli/
    2) OLIVE Platform: ஠஠য়ীࢲ ઁҕೞח য়೑ࣗझ ҙܻ ࢲ࠺झ, https://tech.kakao.com/2021/02/22/olive-platform/
    3) য়೑ࣗझ ۄ੉ࢶझ ߸ച੄ ൒ܴ, https://tech.kakao.com/2021/09/08/opensource-license/
    4) Red Hat, 2019֙ 10ਘ 24ੌ, https://www.redhat.com/ko/topics/open-source/what-is-open-source
    5) ҕѐSWۄ੉ࢶझ, https://www.oss.kr/oss_license
    6) OSI ۄ੉ࢶझ, https://www.olis.or.kr/license/Detailselect.do?lId=1004
    7) ҕѐSW زೱ, https://www.oss.kr/oss_trend
    8) ਤఃߔҗ, ੄ࢎ௏٘, https://ko.wikipedia.org/wiki/੄ࢎ௏٘

    View Slide

  45. E.O.D

    View Slide