Leading up to (and during) the month of October, we want to help you discover open source projects to work on, and put your Hacktoberfest contributions to excellent use. Meet Derrick Stolee, working at GitHub, and contributor to the Git project.
Check out this page regularly for more interviews with contributors & maintainers
What can you tell us about your project?
Git is the distributed version control software that is taking over the world. Almost every developer uses git in order to track their source code and history, and to share it on places like GitHub.
What contributions are you welcoming?
Git welcomes contributors from all over the world and we specifically look for people who have some sort of itch they want to scratch. Something that they noticed in git that they've been using that they'd like to improve for their own workflows. We have a few items clean out of refactoring that require a little bit of care, and we have a few features, like improving the git sparse checkout built in, or the maintenance built in - relatively new features that have some more polish that could be added.
One of my favorite features is the sparse checkout, which allows you to take your working directory, and scope it down to a small set. Usually you start from small and you grow it - and the command is build that way too. So you can do things like "set to this scope" or to grow it by adding directories. Maybe interesting to be able to remove directories one by one. I also work on maintainance builtin which is a way of keeping your git data clean and running fast. And that has a few more things that are taking over for the git-gc command. And those git-gc task could be pulled in the maintainance builtin.
What skills do people need to contribute?
The number 1 skills for working in git is to be very motivated... and persistent. You're going to have to learn a lot on the way and be able to be self-directed in terms of learning what people have done before, and taking that as an example. Of course it helps to have some C programming and Shell scripting experience.
How do I get started?
To get started you can subscribe to the git mailing list where all of our communication happens, where all of our patches are submitted and reviewed. But also you can take a look at the Git for Windows CONTRIBUTING Guide, and the GitGitGadget git repository, which is the way for easily submitting patches, and it includes an issue tracker.
Some more links:
- "Probably the best introduction how to get started with contributing to Git": git-scm.com/docs/MyFirstContribution
- This explains in a bit of detail how patches should be submitted, and what shape they’re expected in: git-scm.com/docs/SubmittingPatches
- The bridge to send GitHub Pull Requests as patch series to the Git mailing list: gitgitgadget.github.io/
- A searchable archive of the Git mailing list. This is most useful in order to get a feel for the community, how patches are received and reviewed, how much assistance to expect.
- For the technically-inclined, this gives a history-focused overview of the source code: git-scm.com/docs/user-manual#birdview-on-the-source-code
- A document targeting the Windows-based audience and includes some instructions for setting up a Linux environment: github.com/git-for-windows/git/blob/HEAD/CONTRIBUTING.md
- A (subscribers-only) mailing list for contributors who seek more individual help with contributing. Newcomers are welcome to send requests for help without needing to subscribe: groups.google.com/forum/#!forum/git-mentoring
- An overview of some deep Git concepts, including how it stores data: aosabook.org/en/git.html
- A free, open-source book including advanced details about Git. Chapter 10: Git Internals is particularly useful: git-scm.com/book/en/v2
- Information on how to communicate with community members. There is a helpful IRC channel for real-time feedback: git-scm.com/community
Join, October 2nd, for CONTRIBUTING.md - a virtual Hacktoberfest meetup, free and open for anyone who wants to join. Learn what Open Source projects are looking for contributions, which communities are looking for new members, and who is looking for advice from someone with your exact skill set. Check this page regularly for more interviews with contributors & maintainers which we'll release until the event.