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

Get started with OSS contributions

Get started with OSS contributions

OSSへのコントリビュート - Techmee vol.7
https://timeedev.connpass.com/event/279568/

Takumi Shotoku

May 25, 2023
Tweet

More Decks by Takumi Shotoku

Other Decks in Technology

Transcript

  1. Get started with OSS contributions
    Techmee vol.7 2023/05/25
    1

    View Slide

  2. ࣗݾ঺հ
    • ໊લ: ਖ਼ಙ ޼(aka: ਆ଎)
    • ձࣾ: גࣜձࣾλΠϛʔ
    • GitHub: @sinsoku (ը૾ӈ্)
    • Twitter: @sinsoku_listy (ը૾ӈԼ)
    • ޷͖ͳݴޠ: Rust ΋ͪΖΜRubyʂ
    !
    • ࢓ࣄ: YAMLͱHCLʢTerraformʣ৬ਓ
    2

    View Slide

  3. RubyKaigi 2023 5/11-13
    3

    View Slide

  4. দຊ৓
    4

    View Slide

  5. ͦ͹ɺদຊϒϧϫϦʔ
    5

    View Slide

  6. #kaigieffect
    6

    View Slide

  7. !
    ʮOSS΁ͷߩݙ͸೉ͦ͠͏ʯ
    !
    ʮOSS͸೉͘͠φΠϤʯ
    7

    View Slide

  8. ΞδΣϯμ
    1. OSSʹߩݙ͢Δಈػ
    2. OSSʹߩݙ͢Δํ๏ͱࣄྫ঺հ
    3. RailsͰૂ͍໨ͷߩݙϙΠϯτ
    8

    View Slide

  9. 1. OSSʹߩݙ͢Δಈػ
    9

    View Slide

  10. ۀ຿ͰOSSͷ໰୊Λݟ͚ͭΔ

    !
    ػೳෆ଍: ͋ͱগ͠ػೳ͕଍Γͳ͍

    "
    όά: υΩϡϝϯτͱڍಈ͕͍͋ͬͯͳ͍

    #
    આ໌ෆ଍: ॲཧͷڍಈ͕෼͔ΓͮΒ͍1
    1 υΩϡϝϯτ΍ΤϥʔจݴΛ௚ͤΔՄೳੑ
    10

    View Slide

  11. !
    खݩͰ௚͢͜ͱ΋Ͱ͖Δ
    11

    View Slide

  12. !
    ϞϯΩʔύον2
    # config/application.rb
    require 'webpacker/version'
    raise 'Consider removing this patch' unless Webpacker::VERSION == '5.4.4'
    module WebpackerPatch
    module FasterCompilation
    # https://github.com/rails/webpacker/pull/2855
    def fresh?
    last_compilation_digest&.== watched_files_digest
    end
    end
    Webpacker::Compiler.prepend(FasterCompilation)
    end
    2 https://docs.ruby-lang.org/ja/latest/method/Module/i/prepend.html
    12

    View Slide

  13. !
    GitHubͰϑΥʔΫ
    gemΛϑΥʔΫ͠ɺίʔυΛ௚ͨ͠gemΛGemfileͰࢀর͢Δɻ
    # Gemfile
    source 'https://rubygems.org'
    git_source(:github) { |repo| "https://github.com/#{repo}.git" }
    gem "foo", github: "sinsoku/foo"
    13

    View Slide

  14. OSSʹύονΛૹΔཧ༝

    !
    ύονΛϝϯς͠ͳͯ͘ࡁΉ

    "
    ίϛολͷϨϏϡʔΛड͚ΒΕΔ


    OSS΁ͷԸฦ͠
    !
    OSSʹײँͯ͠ΔͷͰɺͰ͖ΔൣғͰ͸ڠྗ͍ͨ͠
    14

    View Slide

  15. ͦͷଞͷϝϦοτ

    !
    ٕज़ྗͷ޲্

    "
    ӳޠྗͷ޲্

    #
    ΧδϡΞϧ໘ஊͷձ࿩ωλ

    $
    ษڧձͷొஃґཔʹܨ͕Δʢnowʣ
    15

    View Slide

  16. 2. OSSʹߩݙ͢Δํ๏ͱࣄྫ঺հ
    16

    View Slide

  17. !
    OSSʹߩݙ͢Δ४උ
    ߩݙ͢Δਓ޲͚ͷυΩϡϝϯτΛಡΈ·͠ΐ͏ɻ
    • rails/rails: Contributing to Ruby on Rails3
    • rubocop/rubocop: CONTRIBUTING.md4
    • fluent/fluent-bit: CONTRIBUTING.md5
    5 https://github.com/fluent/fluent-bit/blob/v2.1.3/CONTRIBUTING.md
    4 https://github.com/rubocop/rubocop/blob/v1.51.0/CONTRIBUTING.md
    3 https://guides.rubyonrails.org/contributingtorubyonrails.html
    17

    View Slide

  18. rails/rails
    IssueͰػೳཁ๬Λग़͞ͳ͍ɻ
    1.4 What about Feature Requests?
    Please don't put "feature request" items into GitHub Issues.
    cosmetic changesͷϓϧϦΫΛग़͞ͳ͍ɻ
    Changes that are cosmetic and do not add anything substantial to the stability,
    functionality, or testability of Rails will generally not be accepted
    18

    View Slide

  19. 19

    View Slide

  20. rubocop/rubocop
    20

    View Slide

  21. fluent/fluent-bit
    21

    View Slide

  22. !
    OSSʹؔΘͬͯΈΔ
    22

    View Slide

  23. !
    ؆୯ͳߩݙ
    • Twitter΍ϒϩάΛॻ͘
    • GitHubͰϦΞΫγϣϯ͢Δ
    • ΦϑϥΠϯͰ࡞ऀʹײँΛ఻͑Δ

    !
    ࠙਌ձͰձ࿩ͷ͖͔͚ͬʹྑ͍
    23

    View Slide

  24. 24

    View Slide

  25. ~/.config/rails/railsrc ʹରԠ͢ΔϓϧϦΫɻ
    25

    View Slide

  26. !
    OSSͷ։ൃʹؔΘͬͯΈΔ
    26

    View Slide

  27. !
    গ͠೉͍͠ߩݙ
    • IssueͷτϦΞʔδʹڠྗ͢Δ
    • ϓϧϦΫͷϨϏϡʔʹࢀՃ͢Δ
    • υΩϡϝϯτΛ௚͢
    27

    View Slide

  28. 28

    View Slide

  29. 29

    View Slide

  30. https://github.com/rails/rails/issues/37446
    30

    View Slide

  31. https://sinsoku.hatenablog.com/entry/2019/08/08/020954
    31

    View Slide

  32. https://github.com/rails/rails/pull/39411#discussion_r432927246
    32

    View Slide

  33. https://github.com/rails/rails/pull/37054
    33

    View Slide

  34. 34

    View Slide

  35. rurema -
    !
    Ͱ࢝Ί΍͍͔͢΋
    35

    View Slide

  36. !
    ͞ΒʹOSSͷ։ൃʹؔΘͬͯΈΔ
    36

    View Slide

  37. !
    ೉͍͠ߩݙ
    • IssueΛใࠂ͢Δ
    • όάΛमਖ਼͢Δ
    • ৽ػೳΛ௥Ճ͢Δ
    37

    View Slide

  38. ؾΛ͚ͭͯΔ͜ͱ
    • Issueʹ͸࠷খͷ࠶ݱखॱΛॻ͘
    • աڈͷIssueͱϓϧϦΫΛࢀߟʹ͢Δ
    • ίϛοτϝοηʔδΛஸೡʹॻ͘6
    6 Railsͩͱgit log --author=kamipo --no-merges Λࢀߟʹ͍ͯ͠Δ
    38

    View Slide

  39. https://github.com/rails/rails/issues/39205
    39

    View Slide

  40. https://github.com/github/branch-deploy/pull/103
    40

    View Slide

  41. 3. RailsͰૂ͍໨ͷߩݙϙΠϯτ
    41

    View Slide

  42. RailsͰૂ͍໨ͷߩݙϙΠϯτ
    1. IssueͱϓϧϦΫͷτϦΞʔδ
    2. Rails v7.1.0.rc1 ͷಈ࡞ใࠂ
    3. Docker, mrsked/mrsk
    42

    View Slide

  43. IssueͱϓϧϦΫͷτϦΞʔδ
    • ίʔυͷมߋΑΓෑډ͕௿͍
    • Railsίϛολͷख͕଍Γͯͳ͍
    • Issues 385 / Pull requests 4557
    • ࣗ෼ͷษڧʹͳΔ
    • େࣄͳͷ͸ӳޠྗͱؾ߹͍
    7 2023-05-24ݱࡏ
    43

    View Slide

  44. Rails v7.1.0.rc1 ͷಈ࡞ใࠂ
    • ۀ຿ͷCIͰ2όʔδϣϯΛಈ͔ͯ͠ΈΔ
    • σάϨ͕͋Ε͹ɺRailsʹIssueͰใࠂ͢Δ
    • gem͕ະରԠͳΒɺv7.1ʹରԠ͢ΔϓϧϦΫΛૹΔ
    • v7.1ͷϦϦʔεલͳΒRailsίϛολͷॿྗΛظ଴Ͱ͖Δ
    • ϦϦʔεޙ͸೉͍͠...
    44

    View Slide

  45. https://github.com/rails/rails/issues/361038
    8 kamipo͞Μ͕1೔Ͱमਖ਼͍ͯ͠Δ
    !
    45

    View Slide

  46. Docker, mrsked/mrsk
    • Dockerfile
    • v7.1Ͱ͸Dockerfile͕ੜ੒͞ΕΔ
    • https://github.com/rails/rails/pull/46762
    • mrsked/mrsk
    • DHH੡ͷσϓϩΠπʔϧ
    • https://github.com/rails/rails/pull/47926
    46

    View Slide

  47. ͥͻOSSʹߩݙͯ͠Έ·͠ΐ͏
    47

    View Slide