$30 off During Our Annual Pro Sale. View Details »

OSSの歩き方 / Walking with OSS

OSSの歩き方 / Walking with OSS

社内のOSS研修で使用したスライドです。
OSS 活動を始めるまでのガイドとなることを目的としました。

2019/02/28: 研修時に上がった Q&A の項目を追加しました

Takayuki Matsubara

February 18, 2019
Tweet

More Decks by Takayuki Matsubara

Other Decks in Programming

Transcript

  1. OSSͷา͖ํ
    @ma2ge

    View Slide

  2. ࿩खʹ͍ͭͯ
    4 ීஈ OSS Λ࢖ͬͯ࢓ࣄΛ͍ͯ͠Δ͕ OSS ͷઐ໳ՈͰ͸ͳ
    ͍
    4 GitHub Ͱࣗ࡞ͷϥΠϒϥϦΛ10ݸҎ্ެ։
    4 GitHub Ͱͷ OSS ʹର͢Δ Pull Request(PR)਺͸໿100
    ݸ͘Β͍(೥਺ͷׂʹ͸ͦΜͳʹଟ͘ͳ͍Ͱ͢)

    View Slide

  3. ࿩͢͜ͱ
    OSSΛద੾ʹ࢖͍ɺOSSͱڞଘ͢ΔͨΊೖΓޱ·Ͱ
    4 OSSͱ͸
    4 OSSͷٕज़બఆ
    4 OSS׆ಈʹ͍ͭͯ
    4 OSS׆ಈΛ͸͡ΊΔͨΊͷεςοϓ

    View Slide

  4. OSSͱ͸

    View Slide

  5. Φʔϓϯιʔειϑτ΢ΣΞ
    Φʔϓϯιʔειϑτ΢ΣΞʢӳ: Open Source Softwareɺ
    ུশ: OSSʣͱ͸ɺར༻ऀͷ໨తΛ໰ΘͣιʔείʔυΛ࢖
    ༻ɺௐࠪɺ࠶ར༻ɺमਖ਼ɺ֦ுɺ࠶഑෍͕Մೳͳιϑτ΢ΣΞ
    ͷ૯শͰ͋Δɻ
    — Wikipedia1
    1 https://ja.wikipedia.org/wiki/
    %E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%BD%
    E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2

    View Slide

  6. Φʔϓϯιʔεͷఆٛ
    4 http://www.opensource.jp/osd/osd-japanese.html ʹ
    ͯ༁͕ެ։
    4 ϥΠηϯε͸ಛʹେࣄ
    4 ఆٛ͸શ10߲໨͋ΔͷͰ͕͢ɺͦͷ͏ͪϥΠηϯεͱ͍
    ͏ݴ༿͕ೖ͍ͬͯΔ߲໨͕9ݸ

    View Slide

  7. ϥΠηϯε

    View Slide

  8. iOS ൛ Google Chrome ͷ
    ϥΠηϯεදࣔ

    View Slide

  9. ͳͥදࣔΛ͍ͯ͠Δͷ͔
    MIT License
    Copyright (c) [year] [fullname]
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.
    https://choosealicense.com/licenses/mit/

    View Slide

  10. ୅දతͳϥΠηϯε
    ϥΠηϯε ৚݅
    GNU AGPLv3/GPLv3/LGPLv3 ίʔυ։ؚࣔΉɺAGPL ͸ωοτϫʔΫΛհ
    ͯ͠αʔϏεఏڙ͢Δ৔߹΋ର৅
    Apache License 2.0 ίʔυ։ࣔෆཁɺMITʹՃ͑ͯมߋ಺༰Λυ
    ΩϡϝϯτԽ͢Δඞཁ
    MIT License ίʔυ։ࣔෆཁɺϥΠηϯεදهͱஶ࡞ݖ
    ৄ͘͠͸ https://choosealicense.com/licenses/ Λࢀরɻ

    View Slide

  11. OSS͸ϥΠηϯεʹैͬͯར༻͠Α͏
    4 ϥΠηϯεͷར༻৚͕݅ۀ຿্໰୊ͱͳΒͳ͍͔ద੾ʹ൑
    அ͢Δඞཁ͕͋Δ
    4 ಛʹڧΊͷϥΠηϯεͷ৔߹͸৻ॏͳ൑அ͕ٻΊΒΕΔ
    4 ྫ͑͹Ϗδωε্ίʔυ։ࣔ͸Ͱ͖ͳ͍ͷͰ͋Ε͹ GPL
    ܥ͸ؾʹ͓ͯ͘͠΂͖
    4 ৄ͍͠ਓɺ๏຿ɾ஌తࡒ࢈ݖͷઐ໳ՈͳͲʹ૬ஊ͢Δ

    View Slide

  12. ϥΠηϯεʹ͍ͭͯͷϦιʔε
    4 Choose an open source license | Choose a License
    https://choosealicense.com/
    4 GithubʹΑΔɺΦʔϓϯιʔεϥΠηϯεͷબͼํ
    https://www.catch.jp/oss-license/2013/09/10/
    github/
    4 OSSϥΠηϯεͷڭՊॻ ٕज़ධ࿦ࣾ

    View Slide

  13. ར༻ऀʹͱͬͯͷOSS
    4 ݱࡏͰ͸΄ͱΜͲͷιϑτ΢ΣΞ։ൃऀʹͱͬͯOSS͸ৗ
    ʹ৮Ε͍ͯΔ΋ͷ
    4 ۀ຿ͰOSSΛద੾ʹར༻͠ɺίϛϡχςΟͱڞଘ͍ͯ͘͠
    ͜ͱ͕ٻΊΒΕ͍ͯΔ

    View Slide

  14. OSSͷٕज़બఆ

    View Slide

  15. OSSΛ࢖͏৔߹
    ศརͦ͏ͳϥΠϒϥϦݟ͚ͭͨɺ։ൃʹ૊Έࠐ΋͏

    View Slide

  16. OSSΛ࢖͏৔߹

    ศརͳϥΠϒϥϦݟ͚ͭͨɺ։ൃʹ૊Έࠐ΋͏

    View Slide

  17. OSSΛ࢖͏ϦεΫΛߟྀ(ಛʹۀ຿)
    4 લ൒Ͱ΋৮ΕͨϥΠηϯε
    4 OSSͷผOSS΁ͷґଘ਺
    4 OSSͷ඼࣭
    4 ΞΫςΟϒ౓߹͍
    4 ར༻࣮੷
    4 νʔϜ։ൃ

    View Slide

  18. OSSͷผ OSS ΁ͷґଘ਺
    4 ผͷOSS΁ͷґଘ਺͕ଟ͍ͱɺΞοϓσʔτͰࠔΔ͜ͱ͕
    ͋Δ
    4 ྫ͑͹ґଘ͍ͯ͠ΔϥΠϒϥϦͷҰ෦͕։ൃఀࢭͯ͠
    Rails ͷΞοϓάϨʔυ͕Ͱ͖ͳ͍ͱ͔
    4 ґଘ͢Δ΋ͷ͕ଟ͚Ε͹ɺͦΕ͚ͩ໨Λ͔͚͓ͯ͘ϥΠϒ
    ϥϦ͕૿͑Δ͜ͱʹ΋ͳΔ

    View Slide

  19. OSS ͷ඼࣭
    4 ςετίʔυ͕͋Δ͔
    4 υΩϡϝϯτ͕଍Γ͍ͯΔ͔
    4 ίʔυΛݟͯ໰୊ͳͦ͞͏͔

    View Slide

  20. ΞΫςΟϒ౓߹͍
    4 ίϛοτਓ਺͸ͲΕ͘Β͍͔ɻ1ਓͩͱͨ͠Βͦͷਓ͕ࣙΊ
    ͯ͠·ͬͨΒ?
    4 ίϛϡχςΟ͸͋Δ͔ɺ׆ൃʹٞ࿦͞Ε͍ͯΔ͔
    4 ࠷ޙͷίϛοτ͔Β೔͕ۭ͍͍ͯͳ͍͔
    4 Issue/PR ਺ͱɺͦΕΒͷ์ஔ۩߹͸Ͳ͏͔

    View Slide

  21. ར༻࣮੷
    4 ࡞ͬͨਓҎ֎ʹ΋࢖ΘΕ͍ͯΔ͔
    4 OSS ք۾Ͱ΋໨ʹ͢Δاۀ͕࢖͍ͬͯΔ͔
    4 ελʔ਺ɺμ΢ϯϩʔυ਺ͳͲ
    4 GitHub Ͱ Repository ʹରͯ͠ελʔ਺͕ଟ͍͔
    4 ϥΠϒϥϦͷμ΢ϯϩʔυ਺Λ ruby Ͱ͋Ε͹
    rubygems.orgɺnpm Ͱ΋μ΢ϯϩʔυ਺͕ݟΕΔ

    View Slide

  22. νʔϜ։ൃ
    4 पΓͷਓ͸͍͖ͭͯͯ͘Εͦ͏͔ɺνʔϜʹ஥ؒ͸͍Δ͔

    View Slide

  23. දʹͯ͠ൺֱͯ͠ΈΔ
    ϥΠϒϥϦA ϥΠϒϥϦB ϥΠϒϥϦC
    ϥΠηϯε ⭕ MIT ⭕ Apache2 ⭕ MIT
    υΩϡϝϯτ " ⭕ #
    ϥΠϒϥϦґଘ਺ ⭕ 8 ⭕ 6 # 30
    ςετίʔυ ⭕ ⭕ ⭕
    μ΢ϯϩʔυ਺ " 100ສ 10ສ # 10
    ελʔ਺ ⭕ 1500 " 3000 # 3
    Issue/PR ์ஔ۩߹ # " #
    νʔϜϝϯόʔར༻࣮੷ 2 0 0
    ... ... ... ...

    View Slide

  24. OSSબఆͷώϯτ
    4 ީิͷOSSΛϦεΫͷϚτϦοΫεΛ࢖͏ͳͲͯ͠ൺֱ͢
    Δ
    4 ϦεΫ͸͋ͬͯ΋ڐ༰Ͱ͖Δ΋ͷͳΒબΜͰ΋ྑ͍

    View Slide

  25. OSS׆ಈʹ͍ͭͯ

    View Slide

  26. 4 ࢖͏
    4 ίʔυΛಡΉ
    4 ελʔΛ͚ͭΔ
    4 IssueΛ࡞Δ
    4 Pull RequestΛૹΔ
    4 υΩϡϝϯτ࡞੒/຋༁
    4 ίϛολʔͱͯ͠ϝϯςφϯε͢Δ
    4 ࣗ෼ͰίʔυΛެ։͢Δ

    View Slide

  27. 4 ࢖͏
    4 ίʔυΛಡΉ
    4 ελʔΛ͚ͭΔ
    4 IssueΛ࡞Δ
    4 Pull RequestΛૹΔ
    4 υΩϡϝϯτ࡞੒/຋༁
    4 ίϛολʔͱͯ͠ϝϯςφϯε͢Δ
    4 ࣗ෼ͰίʔυΛެ։͢Δ

    View Slide

  28. ͦ΋ͦ΋Ͳ͜Ͱ͢Δͷ͔
    4 GitHub/BitBucket/GitLab
    4 ଞʹ΋ϓϩδΣΫτ͝ͱʹҟͳΔ
    4 Ruby ͸όάใࠂ͕ Redmine Ͱɺίʔυ͸ SVN Ͱ؅
    ཧɺGitHub ʹϛϥʔ΋͋Δ͕ϝΠϯ͸·ͩ SVN ͷํ
    4 Kotlin ͸ Issue ؅ཧ͕ YouTrackɺGitHub Ͱ͸ Issue
    λϒ͕ͳ͍

    View Slide

  29. ߩݙ͢Δ͖͔͚ͬ͸
    4 υΩϡϝϯτಡΜͩΓɺαϯϓϧΛಈ͔ͨ͠Γͯ͠ typo
    ݟ͚ͭͨ
    4 ։ൃͰ࢖ͬͯͯόά౿Μͩ
    4 ػೳ΍ϦϑΝΫλϦϯάͷఏҊΛࢥ͍͍ͭͨ
    4 ಛఆͷ OSS ʹͲ͏ͯ͠΋ߩݙ͍ͨ͠

    View Slide

  30. ߩݙํ๏ʹ͍ͭͯ
    4 ϓϩδΣΫτ͝ͱʹϧʔϧ͕͋Δ
    4 όάใࠂ͸͜͏Ͱɺύον͸͜͏ૹͬͯͱ͔
    4 CONTRIBUTING.md, README.md ౳ͷهࡌΛΈͯै͏
    4 Pull Request ΍ Issue ΛૹΔલʹɺطଘͷ΋ͷΛ֬ೝͯ͠
    งғؾΛ೺Ѳ͓ͯ͘͠
    4 ͦΕΒͱେ͖͘ҟͳΔํ๏ΛऔΒͳ͚Ε͹ɺϝϯςφʔ
    ΋ࠔΔ͜ͱ͸গͳ͍

    View Slide

  31. https://github.com/getsentry/sentry-elixir

    View Slide

  32. GitHub ͰͷҰൠతͳ Pull Request ํ๏
    4 fork
    4 ϩʔΧϧͰ։ൃɺमਖ਼
    4 Pull Request ࡞Δ
    4 ൓ԠΛ଴ͭɺࢦఠ͕͋Ε͹ରԠ͢Δ
    4 ্ख͍͚͘͹ Merge ͞ΕΔ

    View Slide

  33. ࣄྫ

    View Slide

  34. ࢓ࣄͰඞཁʹͳΔύλʔϯ1
    4 ࢓ࣄͰ࢖͏͜ͱΛݕ౼͍ͯͨ͠ϥΠϒϥϦʹػೳ௥Ճͨ͠
    ͔ͬͨ
    4 retry ΛσϑΥϧτͰ͍ͯͨ͠ͷ͕ͩɺͦΕΛͯ͠ཉ͘͠
    ͳ͔ͬͨͷͰɺطଘಈ࡞͸ͦͷ··ʹΦϓγϣϯͰมߋͰ
    ͖ΔఏҊΛͨ͠
    https://github.com/quipper/sbpayment.rb/pull/46

    View Slide

  35. ࢓ࣄͰඞཁʹͳΔύλʔϯ2
    4 Rails 5 beta Ͱ༧Ίಈ࡞֬ೝ͓ͯͭ͘͠΋ΓͰࢼͨ͠Βό
    άʹૺ۰ͨ͠
    4 Cookie ͔ΒऔಘͰ͖Δ஋͕Τεέʔϓ͞Ε͍ͯͳ͍΋ͷ
    Ͱɺςετίʔυ͕ͦΕͳΓʹ͔ͬ͠Γॻ͔Ε͍ͯͨͷͰ
    ݟ͔ͭͬͨ(ςετେࣄ)
    4 ӳޠྗʹࣗ৴͕ͳ͔ͬͨͷ͔αϯϓϧΞϓϦ·Ͱ࡞ͬͯͨ
    https://github.com/rails/rails/pull/22828

    View Slide

  36. υΩϡϝϯτ΁ͷߩݙ
    4 Kotlin Fest Ͱ shiraji ͞ΜͷηογϣϯΛฉ͖ɺKotlin ΁
    αϯϓϧίʔυΛ௥Ճ͢Δ PR Λ࣮ࢪ
    4 ࢦఠΛड͚ͯमਖ਼ͨ͠ޙ൓Ԡ͕Ұ୴్ઈ͚͑ͨͲɺ20೔΄
    ͲͰແࣄϚʔδ·Ͱߦ͖·ͨ͠
    4 ϝϯςφʔͷํ͸๩͔ͬͨ͠Γ͢ΔͷͰɺׂͱ൓Ԡ଴ͭ
    ͜ͱ͸ී௨ʹ͋Δ
    https://github.com/JetBrains/kotlin/pull/1828

    View Slide

  37. ίʔυ΁ͷߩݙ
    4 power_assert_ex Λ࡞͍ͬͯΔࡍʹ AST Λ traverse Ͱ͖
    Δػೳ͕ඞཁʹͳΓɺElixir ݴޠଆʹ΋ mailing list ܦ༝Ͱ
    ఏҊͨ͠
    https://github.com/elixir-lang/elixir/pull/3832

    View Slide

  38. OSS׆ಈΛ͸͡ΊΔͨΊ
    ͷεςοϓ

    View Slide

  39. ͱ͸͍͍͖͑ͳΓߩݙ͢ΔͱݴΘΕͯ΋ɺͲ͏ͨ͠Β͍͍ͷ͔
    ͱͳΔਓ΋ଟ͍͸ͣɻͰ͢ͷͰ OSS ։ൃΛ͸͡ΊΔͨΊͷώ
    ϯτΛूΊͯΈ·ͨ͠ɻ
    ࣗ෼΋౰࣌͸ͦ͏ͰɺͲ͏ͨ͠Β͍͍ͷ͔ਖ਼௚Α͘Θ͔Βͳ͍
    ΋ͷͷɺদా͞ΜͷʮιʔγϟϧίʔσΟϯάͷੈքʯ3Λಡ
    ΜͰܹࢗΛड͚ͨΓɺasakusa.rb4ʹࢀՃ࣮ͯ͠ࡍʹOSS׆ಈ
    Λ͍ͯ͠ΔਓͨͪΛΈͯঃʑʹ؆୯ͳ͜ͱ͔ΒͰ͖ΔΑ͏ʹͳ
    Γ·ͨ͠ɻ
    4 https://asakusarb.esa.io/
    3 https://speakerdeck.com/a_matsuda/social-coding

    View Slide

  40. ϑΝʔετεςοϓ͸؆୯ͳ΋ͷͰ
    4 ελʔΛ͚ͭΔ
    4 ྫ͑͹ fix typo
    4 ͜Ε΋ཱ೿ͳߩݙɺυΩϡϝϯτΛݟͯ typo ͰΤϥʔʹ
    ձ͏ਓ͕ٹ͑Δ͔΋͠Εͳ͍

    View Slide

  41. ελʔΛ͚ͭΔ
    4 ͓खܰɺࣗ෼͸͍͍Ͷ͢Δ͘Β͍ͷؾ࣋ͪɺԠԉ͍ͨ͠ؾ
    ࣋ͪͰ͚ͭͯΔ(͓͔͛Ͱελʔ਺͸1.3k΋͋Δ )
    4 ίϛϡχςΟͷ஥ؒΛԠԉ͢Δͷ͸ࣗવɺ։ൃऀͱͯ͠΋
    Ϟνϕʔγϣϯʹܨ͕Δ͠ɺͦͷ։ൃऀ΁ͷ௚઀తͳΩϟ
    ϦΞʹߩݙͰ͖ΔखஈʹͳΔ

    View Slide

  42. Elixir ࡞ऀʹελʔ͞Ε
    Δ

    View Slide

  43. GitHub ͷτϨϯυʹೖ
    Δ

    View Slide

  44. ༨ஊ: ࣗ෼ͷ޷͖ͳϥΠϒϥϦʹελʔΛ
    ͚ͭΔ - ґଘؔ܎ؚΊͯ
    4 bundle-star(Ruby), mix-star(Elixir) Λ࡞ͬͨͷͰྑ͚
    Ε͹࢖ͬͯΈͯ
    4 https://github.com/ma2gedev/{bundle-star,mix-
    star}
    4 ΠϯεύΠΞ͞Εͯ cheeaun ͞Μ͕࡞ͬͨ npm-
    star(JavaScript) ΋͋Γ·͢
    4 https://github.com/cheeaun/npm-star

    View Slide

  45. ӳޠ
    4 ͜Ε͸ؤுΔ͔͠ͳ͍͕ɺ࠷ॳ͸पΓͷਅࣅࣄͰ΋े෼
    4 ຊ֨తʹ͍ͨ͠ਓ͸ຏ͍͍͖ͯ·͠ΐ͏
    4 Elixir ΛֶͿΑ͏ʹͳͬͯཧղͨ͠ͷ͸ɺग़࢝Ίͱ͔ɺϚ
    Πφʔͳ΋ͷΛબͿͱڧ੍తʹӳޠ৘ใ͔͠ͳ͘ͳΔͷͰ
    ಀ͛ಓ͕ͳ͘ͳͬͯΦεεϝ

    View Slide

  46. ίϛϡχςΟ΁ࢀՃ
    ·ͣ͸ମݧͯ͠ΈΔͱ͍͏͜ͱͰίϛϡχςΟʹࢀՃͯ͠ΈΔ
    ͷ͸Ͳ͏Ͱ͠ΐ͏͔ɻ͢Ͱʹ OSS ։ൃ͍ͯ͠Δਓͷ੠Λฉ͘
    ͜ͱ͸ޙԡ͠ʹͳΔͰ͠ΐ͏ɻ
    - OSS Gate - https://oss-gate.github.io/
    - OSS։ൃʹࢀՃ͢ΔʮೖΓޱʯΛఏڙ͢ΔऔΓ૊Έ
    - OSS Days - https://tech.speee.jp/entry/2018/10/09/140500
    - Speee ͞ΜͰߦΘΕ͍ͯΔऔΓ૊Έɺ୭Ͱ΋ࣗ༝ࢀՃͰ͖Δͦ͏Ͱ͢
    - OSS ΋͘΋͘ձ - https://github.com/m3dev/oss-mokumoku
    - ΤϜεϦʔʹձ৔ఏڙΛͯ͠΋Β͍ɺຖि OSS ʹ͍ͭͯ΋͘΋͘͢ΔձΛ։͍ͯ·͢

    View Slide

  47. OSS ΛԠԉ͢ΔΠϕϯ
    τ
    4 24 Pull Requests - https://
    24pullrequests.com/
    4 Advent Calendar ͷ PR ൛ɺ΍
    Γ͕͍͸͋Δ
    4 Hacktoberfest - https://
    hacktoberfest.digitalocean.co
    m/
    4 ຖ೥10݄ʹ։࠵ɺOSS ʹ5ݸ PR
    ΛૹΔͱ T γϟπΛ΋Β͑Δ

    View Slide

  48. ΩϟϦΞΛߟ͑ͯߩݙ͢Δ
    4 ϘϥϯςΟΞతʹ͢Δ͜ͱ΋ྑ͍͠ɺࣗ෼ͷΩϟϦΞΛҙ
    ࣝͯ͠ɺߩݙ͢ΔOSSΛબΜͩΓɺϥΠϒϥϦΛ࡞ͬͨΓ
    ઓུతʹ͢Δ͜ͱ΋େࣄ
    4 GitHub ʹެ։͍ͯ͠ΔϥΠϒϥϦ΍ɺߩݙઌͷ OSS ʹ
    Αͬͯ͸໊ࢗ୅ΘΓ΍ɺϚʔέςΟϯάπʔϧʹͳΔ

    View Slide

  49. ΩϟϦΞΛߟ͑ͯߩݙ͢Δ
    4 ྫ͑͹ࣗ෼ͷ৔߹͸ Rails ΤϯδχΞͩͬͨ౰࣌͸ɺRails
    ͷϥΠϒϥϦΛ࡞ͬͨΓɺRails ΁ PR ͍ͯͨ͠ɻElixir Λ
    ΍ΔΑ͏ʹͳ͔ͬͯΒ͸ͦͪΒ΁γϑτͨ͠Γɻ
    4 2013೥ʹ։ൃͨ͠ bundle-star ͱ͍͏πʔϧΛωλʹγ
    ϯΨϙʔϧͰൃද͢Δ͜ͱʹͳͬͨΓ5
    5 https://medium.com/@ma2ge/reddotrubyconf-2017-%E3%81%AB%E5%8F%82%E5%8A%A0-
    %E8%8B%B1%E8%AA%9E%E3%81%A7%E7%99%BA%E8%A1%A8%E3%81%97%E3%81%A6%E3%81%8D%E3
    %81%BE%E3%81%97%E3%81%9F-ca3a97fa1f65

    View Slide

  50. ͦͷଞΑ͍Ϧιʔε
    4 ߩݙͰ͖ΔOSSͷݟ͚ͭํ -׬݁ฤ- / How to find "Good
    First Issues" Final - https://speakerdeck.com/
    ohbarye/how-to-find-good-first-issues-final
    4 OSSೖ໳ ੈքʹࢀՃ͢Δ࠷ॳͷͻͱԡ͠ / OSS first step
    - https://speakerdeck.com/vvakame/oss-first-step
    4 2019-01-24 ۀ຿ͰͷOSSͱͷؔΘΓํ - https://
    speakerdeck.com/kamijin_fanta/2019-01-24-ye-wu-
    defalseosstofalseguan-warifang

    View Slide

  51. ·ͱΊ
    4 OSSͱϥΠηϯε
    4 OSSͷٕज़બఆ
    4 OSS׆ಈʹ͍ͭͯ
    4 OSS׆ಈΛ͸͡ΊΔͨΊͷεςοϓ

    View Slide

  52. Takayuki Matsubara
    4 Twitter: @ma2ge
    4 GitHub: @ma2gedev
    4 Like: Ruby, Elixir and OSS
    4 OSS ΋͘΋͘ձओ࠵
    4 M3, Inc. / ΤϜεϦʔגࣜձࣾ

    View Slide

  53. Q&A

    View Slide

  54. Issue Λ্͛Δ͜ͱ͸ߩݙʹͳΔͷ͔
    Issue Λ্͛Δ͜ͱ΋ཱ೿ͳߩݙɻ࡞ऀ͕ؾ͍͍ͮͯͳ͍໰୊
    ͔΋͠Εͳ͍ͷͰɺIssue Ұཡʹͳ͔ͬͨΓɺ࠷৽όʔδϣϯ
    Ͱ΋௚͍ͬͯͳ͍ͱ͍͏͜ͱ͕Θ͔͍ͬͯΕ͹ใࠂ͢Δͷ͕ྑ
    ͍ͱߟ͑·͢ɻ

    View Slide

  55. ωΠςΟϒΞϓϦͳͲͰ࢖͍ͬͯΔϥΠϒϥϦͷϥΠη
    ϯεΛެ։͢ΔͨΊʹͲ͏͍ͯ͠Δͷ͔
    4 ྫ͑͹ Android ͩͱ Android License Tools Plugin 6 ͕
    ͋Δ
    4 ͦͷଞʹ΋ϥΠηϯεදࣔͷͨΊͷϥΠϒϥϦ͕͋Δͷ
    Ͱɺͦ͏͍ͬͨ΋ͷΛ࢖͏ͱखܰʹදࣔͰ͖ɺҙਤͤͣϥ
    Πηϯεදه͕࿙Εͯ͠·͏͜ͱ΋ආ͚ΒΕΔ
    6 cookpad/license-tools-plugin: Gradle plugin to check library licenses and generate license pages.
    https://github.com/cookpad/license-tools-plugin

    View Slide

  56. ۀ຿޲͚ʹϥΠηϯε͕ͳ͍ίʔυΛ࢖͏͜ͱ͸Ͱ͖
    Δͷ͔
    ͳΔ΂͘ͳΒར༻Λආ͚ͨํ͕ྑ͍Ͱ͠ΐ͏ɻGitHub Ͱ͸ϥ
    Πηϯε͕ͳ͍ίʔυ͸ No License7 ͱͳΓஶ࡞ݖ͕ద༻͞
    Ε·͢ɻ͜Ε͸ୈࡾऀʹΑΔίʔυͷෳ੡ɾ࠶഑෍ɾվมΛڐ
    Մ͠ͳ͍͜ͱʹͳΔͨΊɺOSS ͷఆ͔ٛΒ֎Εࣗ༝ʹར༻͢
    Δ͜ͱ͕Ͱ͖·ͤΜɻ΋͠ར༻͢Δ৔߹͸ݸผʹஶऀͷํʹڐ
    ՄΛ͍ͨͩ͘ͳͲͷखஈ͕ඞཁʹͳΔͰ͠ΐ͏ɻ
    7 No License | Choose a License https://choosealicense.com/no-permission/

    View Slide

  57. ଞਓͷ PR ʹमਖ਼ΛࠞͥΔૹΓํ͸͋Δͷ͔
    ҰԠͰ͖Δ͸Ͱ͖ΔΑ͏͕ͩ8ɺݩͷ PR ૹΓओͱີʹίϛϡ
    χέʔγϣϯ͕औΕͳ͍ݶΓ͸͋·Γ͠ͳ͍खஈͰ͢ɻ΋͠ࢲ
    ͕ͦΕΛ͍ͨ͠ঢ়گʹͳͬͨͱͨ͠Βɺผͷ PR Λ࡞Γɺ֘౰
    ͷ PR ʹఏҊ෇͖ͰϦϯΫΛࡌͤΔ͘Β͍Λࢼ͢ͷͰ͸ͳ͍͔
    ͱࢥ͍·͢ɻ
    8 GitHubͰଞਓͷϓϧϦΫΤετʹର͠ίϯϑϦΫτղফ΍௥Ճͷमਖ਼Λߦ͍ͭͭϚʔδ͢Δ΋͏1ͭͷํ๏
    https://www.ncaq.net/2017/10/16/

    View Slide

  58. ձࣾͰ OSS ׆ಈΛ͢Δ͜ͱ͸Ͱ͖Δͷ͔
    ձࣾʹΑͬͯҟͳΓ·͢͠ɺҰ෦ͷاۀҎ֎͸·ͩ໌֬ʹܾ
    ·͍ͬͯͳ͍͜ͱ΋ଟ͍ͱࢥ͍·͢ͷͰɺ࣮ࡍʹձࣾͰฉ͍ͯ
    Έ·͠ΐ͏ɻࢀߟࢿྉʹ΋্͛ͨαΠϘ΢ζ͞Μ͸ਐΜͰ͍
    ͯɺϙϦγʔΛఆٛͯ͠ެ։͞Ε͍ͯ·͢9ɻࠓޙ͜͏͍ͬͨ
    اۀ͕૿͑Δͱɺࣾ಺Ͱͷ OSS ׆ಈ΋͠΍͘͢ͳ͍ͬͯ͘ͷ
    ͩΖ͏ͳͱࢥ͍·͢ɻ
    9 αΠϘ΢ζͷΦʔϓϯιʔειϑτ΢ΣΞϙϦγʔΛ঺հ͠·͢ https://blog.cybozu.io/entry/oss-policy

    View Slide

  59. ࢀߟ1
    4 OSSϥΠηϯεͷڭՊॻ
    4 αΠϘ΢ζͷΦʔϓϯιʔειϑτ΢ΣΞϙϦγʔΛ঺հ
    ͠·͢ https://blog.cybozu.io/entry/oss-policy
    4 The Open Source Initiative: Φʔϓϯιʔεͷఆٛ(೔ຊ
    ޠ) http://www.opensource.jp/osd/osd-
    japanese.html

    View Slide

  60. ࢀߟ2
    4 GithubʹΑΔɺΦʔϓϯιʔεϥΠηϯεͷબͼํ
    https://www.catch.jp/oss-license/2013/09/10/
    github/
    4 Choose an open source license | Choose a License
    https://choosealicense.com/
    4 Open Source Guides | Learn how to launch and grow
    your project. https://opensource.guide/

    View Slide