How to Contribute to Open Source Projects on Github (pull requests)

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 47

  • @TheRealLughnatic
    @TheRealLughnatic 2 роки тому +58

    Great video. I think another important detail is that if the author requests changes to your pull request, you can actually go back and update your branch, and the pull request will automatically include your updated changes (in other words, no need to re-open another PR).

    • @JacobSorber
      @JacobSorber  2 роки тому +13

      Ah, good point. Thanks.

    • @edgarbonet1
      @edgarbonet1 2 роки тому +4

      Indeed. Note also that piling updates can make the history of your branch a bit messy. In such a case, I generally ask the maintainers whether they would like me to rewrite the history (git rebase -i). Some maintainers appreciate the clean-up, while others prefer to preserve the true history, that's why it's better to ask.

  • @cyrilanisimov
    @cyrilanisimov 2 роки тому +11

    You can click on the filename:123 in the VSCode terminal to get to that line at once. And it's very convenient to work with changes (add files to commit, check what to add etc) in git tab in VSCode

  • @yash1152
    @yash1152 2 роки тому +7

    2:36 yeah, that's why i like the gitlab's "merge request" term much much better. it's self defining what an MR would do, no push-pulling around with terms lol

  • @gatty.
    @gatty. 2 роки тому +1

    Very helpful! Not only the pull request, but also seeing you create the fix branch, and push it back in with origin.

  • @JohnHollowell
    @JohnHollowell 2 роки тому +2

    To keep a file open in VS Code, you can double click its tab (or file in the sidebar). You can also ctrl+click the "path/filename:line:col" in the error log and VS Code will open that file to that location for you.

  • @yash1152
    @yash1152 2 роки тому +4

    3:20 one suggestion while doing command/text interface stuff, please zoom in/increase the font size a little bit. as small font size requires watching in high res, which is punishing for people on limited bandwidth. 😇

  • @abhinav1337
    @abhinav1337 2 роки тому +8

    I was just looking for this topic in Google. Lol what a nice coincidence 🤔

  • @yash1152
    @yash1152 2 роки тому +2

    7:53 one suggestion for commit messages, say "fix ..." instead of "fixed ..."
    it's not my advice, it's based off of some article, ig it was titled "how to write commit messages" or smth like that

  • @betterfly7398
    @betterfly7398 2 роки тому +13

    Here is my experience with contributing to Open Source projects:
    1- You need to have a very good understanding of the repository you are contributing to. This is why you're much less likely to succeed if you go in with the mindset "I want to contribute to open source" instead of "This open source tool that I use often and know has an issue, maybe I can fix that".
    So don't expect to fix an issue within a repository that you barely know.
    2- You need to understand the field that a repo belongs to. It's unlikely that you will contribute to an operating system if you don't have a solid background in operating systems.
    I believe that open source contribution is a little overrated. There are other ways to show your experience other than contributing.

    • @askinc102
      @askinc102 Рік тому

      Thanks for your perspective. I really need to get over that "I want to contribute to open source" mindset. This keeps happening because I am not able to find any solid project to work on. Every hobby project that I start working on stalls halfway due to some reason. Requires a lot of discipline.

  • @MrChester114
    @MrChester114 2 роки тому +11

    Shame that most of the things I want to fix require major understanding of how the project works so they're not trivial tasks. Damn I wish I could just work on open source software 8 hours a day instead of my job.

    • @TheVertical92
      @TheVertical92 2 роки тому +1

      yeah i was lucky i found something that was easier to comprehend.
      i was playing world of warcraft and one addon i used was kind of annoying bcs there was some data missing.
      So i looked it up, learned the basics of Lua and then contributed a couple of times.
      You really have to think about everything you're using. Maybe there is a little tool that is easy to comprehend 👍

    • @comedyclub333
      @comedyclub333 2 роки тому

      Many projects use labels to organize their issues and most of them use the label "good first issue". This means that it should be a rather easy fix like the one in the video and can be understood as some kind of invitation for new volunteers to participate. Of course most of them are not breaking changes but still things that need to be done and it heps getting started with a new code base you are unfamiliar with.

  • @d-shiri
    @d-shiri 2 роки тому

    Great example. Thanks.

  • @sherifelshafei8759
    @sherifelshafei8759 Рік тому

    Thanks for the video. Any recommendations on currently available opensource projects on Embedded Systems?

  • @kamertonaudiophileplayer847
    @kamertonaudiophileplayer847 2 роки тому

    Generally, I noticed the following problems: I use repository fast-classpath-scanner, but then I noticed some problems, since an original developer was busy, I forked it, fixed problems and continued using. Late, I did a pull request, the owner agreed, and accepted it. So far, so good. But later, the author did some extension, changed API and I reminded using my fork. Why? I didn't need new features, and say more, I didn't want to continuously change my code accordingly the product changes. But, since new versions of Java were available, I need to do changers in the implementation, I started doing myself, but then just borrowed changes from the original projects. Conclusion: fork instead of pull requests, because you may have different view on a product change, but borrow some useful changes in it time to time.

  • @LittleVidds
    @LittleVidds Рік тому

    I have a quick question, but whenever someone makes a change to the code would contributers have to refork to stay updated?

  • @vighneshmanjrekar5213
    @vighneshmanjrekar5213 2 роки тому

    Thanks Jacob!

  • @govindshinde8764
    @govindshinde8764 2 роки тому

    Get well soon, love your videos 💯

    • @JacobSorber
      @JacobSorber  2 роки тому +2

      thanks. I'm well. I recorded this video a few weeks ago. So, I'm now feeling great.

  • @pradyumnahegde5091
    @pradyumnahegde5091 2 роки тому +1

    What about beginners?

  • @danielc4267
    @danielc4267 2 роки тому

    Instead of right-click -> keep open,
    you can simply double-click the tab.

  • @cbbcbb6803
    @cbbcbb6803 2 роки тому

    What about Sourceforge? Is it OK?

  • @brianb2308
    @brianb2308 2 роки тому

    They should have a CI runner for building the MacOS version, but maybe that's hard if it's specific to hardware. Definitely seems like something that shouldn't be too difficult tho.

  • @DenisovichDev
    @DenisovichDev 2 роки тому

    Jacob, I hope you get well soon

    • @JacobSorber
      @JacobSorber  2 роки тому +1

      Thanks, Bhaswar. This was recorded a few weeks ago. I'm feeling much better.

  • @PavitraGolchha
    @PavitraGolchha 2 роки тому

    Can you please teach how to build an OS from scratch?

  • @gregoryfenn1462
    @gregoryfenn1462 2 роки тому +2

    Why is ‘git checkout’ the command to change branch? To checkout means to look-at but not touch, it’s really confusing terminology. Is there an extensible but more user-friendly and intuitive interface to use git with?

    • @bluesillybeard
      @bluesillybeard 2 роки тому

      Most IDEs have some form of git integration, which allows you to use git with a GUI instead of the terminal. Most of them aren't very exstensive, but 99% of the time they do what is needed.

    • @oskar8021
      @oskar8021 2 роки тому

      Git also features the command `git switch` to switch to branches/commits! It was introduced later, so `git checkout` can still be used to switch branches (for backwards-compatibility).

  • @robertstrickland9722
    @robertstrickland9722 2 роки тому

    Love the content, Jacob!

  • @ErikBongers
    @ErikBongers 2 роки тому +2

    If he rejects the pull request, you can always de-friend him in facebook.

    • @JacobSorber
      @JacobSorber  2 роки тому +1

      😂 No worries. He accepted it.

  • @jcpartri
    @jcpartri 2 роки тому +1

    3:12 "At some point I'm going to 'git' to it. :-) -- I see what you did there. :-)

  • @KashifAli-Hollow
    @KashifAli-Hollow 2 роки тому

    great video

  • @cozycactus
    @cozycactus 2 роки тому

    so many arguments to pass to function...maybe it could be better to pass pointer to some device context structure?

  • @zndr27
    @zndr27 2 роки тому

    3:11 At some point I’m going to “git” to it ;)

  • @wChris_
    @wChris_ 2 роки тому +1

    Did you know that you can hit the '.' (dot) key, and Github will open a builtin editor?!

    • @JJSogaard
      @JJSogaard 2 роки тому +1

      Just editor though. You can't run code as there isn't a server doing that for you. But still useful!

  • @Hellohiq10
    @Hellohiq10 2 роки тому

    What about a video on mailing lists lol

  • @Xdavidel
    @Xdavidel 2 роки тому

    They should have probably turn the 'rf2500_open' function into a variadic function when they change the api instead of breaking it...

  • @user-if7lb8zy8i
    @user-if7lb8zy8i 2 роки тому

    looks like im early