Live data from Hacker News

How to contribute to an open source project on GitHub

blog.davidecoppola.com

61–70 of 98 posts

Re: How to contribute to an open source project on GitHub

#61

Shudder . This embodies all that is wrong with open source development these days. Horrible GitHub workflow: corporate logos, octop^Hcat, CoC shoved in your face on every commit. I'm currently forced to contribute to a GitHub project, it is the most annoying, bureaucratic and brainwashing workflow I've ever experienced.

> corporate logos, octop^Hcat

Only two logos appear in the entire pull request process, and those are the two small silhouettes that you see on every page.

> CoC shoved in your face on every commit

Codes of conduct? While they are becoming fairly prevalent, the GitHub interface has no special understanding of them.

Re: How to contribute to an open source project on GitHub

#62
post #60
post #57

Earlier quoted context omitted.

The preferred form of communication also depends on the project. Do they have an issue tracker? If so you could probably file one along the lines of "Page X could use some improvement" and ask whether they're interested and how it's done. Some projects use mailing lists, forums or even irc. Open, group-based forms of communication are usually preferred because it allows anyone qualified to respond instead of pinning…

Thank you. This helps. I get told all the time "Just do X!" and then I try X and it blows up in my face because it turns out you only do X under (long list of conditions that no one ever told me and assumed I knew).

One thing I forgot to mention, this also depends on project size.

Larger projects, especially corporate- or foundation-backed ones, might have less-technical staff dedicated to the web presence/PR/outreach etc. which might use other communication channels than the developers.

> Then I try X and it blows up in my face because it turns out you only do X under (long list of conditions that no one ever told me and assumed I knew).

You don't necessarily have to know. Some exploration and just asking for pointers is often required.

Re: How to contribute to an open source project on GitHub

#63
post #35
post #14

There is one very important tip that's missing: Follow the original coding style exactly . Not just spaces vs tabs or block styles, but idioms and other idiosyncrasies, too. Why? Imagine reading a source repo where every second block uses different bracket styles, mixing spaces with tabs and so on. It's going to look like a kludgy mess, and will be distracting to read. There is no correct style for most languages (pe…

flake8 for Python is nice, although defaults can be a bit weird...

Code Climate or Codacy are nice too. They collect tools like flake8 and run a server side report kind of like coverage.

Re: How to contribute to an open source project on GitHub

#64

I dislike the idea of using 'origin' for my own remote name. I keep 'origin' as the canonical remote and my local master branch tracks origin/master. I use people's usernames for their remotes (including for my own). If I'm pushing a feature branch to my own remote: git push -u myusername mybranchname If I need to checkout someone's PR, it's: git remote add theirusername git@github.com:theirusername/repo.git git fetc…

Too late to edit, but that should be:

    git checkout -t theirusername/theirbranchname

Re: How to contribute to an open source project on GitHub

#65
post #5

Step 1: stumble upon a terrible bug (or that really obvious missing feature that _should_ be there) in your favorite library / framework / app. Step 2: rant about it on HN / Github issues / whatever. Step 3 (optional): try to reach developers on GitHub and get the obligatory "pull requests are welcome" response. Step 4: In frustration, clone the repository, fix the damn bug and submit your pull request. Steps 5..41:…

To be fair here: It's on both parties to be mature about this interaction.

It is the responsibility of the developers of the project to be responsive though.

I would just like to add that many open source projects you are looking at are funded

by companies with salaried developers (all of the ones you listed are).

These companies have customers that come first.

Their has to be due diligence on what goes in to the code base.

If you are ready to submit a pull request to a project and the developers are receptive

to teaching then view it as a learning experience.

Try to understand both sides though.

Re: How to contribute to an open source project on GitHub

#66
post #40
post #36

This is a great start! Contributing can be a lot more than just PRs though: - answering questions on stack overflow, chat (irc, gitter, slack) - creating a minimal code repro, checking for duplicates, checking if a bug is fixed in a later release/master branch - writing tutorials/usage scenarios, giving talks, just using the project and providing feedback - helping with documentation + website - translations if possi…

helping with documentation + website I am not a programmer. I do copywriting for pay and I have run a bunch of different personal websites over the years (15+ years, I think). I know a little HTML and CSS. I am interested in getting involved in open source via first working on copywriting and website stuff, since that is what I already have a background in. I am finding it extremely opaque to figure out how on earth…

I think it depends on the project like mentioned.

For react, the docs for the website is in the same repo as the main code under "docs/" https://github.com/facebook/react/tree/master/docs.

A lot of projects do what we do with babel: have a separate repo with the whole username.github.io name: https://github.com/babel/babel.github.io.

And a lot of projects started adding links to edit the page you are currently on: http://babeljs.io/docs/learn-es2015/ (see the "edit this page" link on the header. For yarn it's on the bottom: https://yarnpkg.com/en/docs/. That at least makes it easy to edit a specific page for typos etc. Then you can just edit it from the website

Re: How to contribute to an open source project on GitHub

#67
It’s amazing that there aren’t many articles like this one. I wrote something very similar [1] last year because I simply couldn’t find a complete, step-by-step guide that addressed the details of forking, branching, etc.

[1] http://www.matiasz.com/2015/04/16/contribute-open-source-rep...

Re: How to contribute to an open source project on GitHub

#68
post #60
post #57

Earlier quoted context omitted.

The preferred form of communication also depends on the project. Do they have an issue tracker? If so you could probably file one along the lines of "Page X could use some improvement" and ask whether they're interested and how it's done. Some projects use mailing lists, forums or even irc. Open, group-based forms of communication are usually preferred because it allows anyone qualified to respond instead of pinning…

Thank you. This helps. I get told all the time "Just do X!" and then I try X and it blows up in my face because it turns out you only do X under (long list of conditions that no one ever told me and assumed I knew).

I get anxious about this too sometimes, but in my experience the "long lists of conditions that no one ever told me and assumed I knew" are hardly ever relevant.

Re: How to contribute to an open source project on GitHub

#69
post #60

Earlier quoted context omitted.

Thank you. This helps. I get told all the time "Just do X!" and then I try X and it blows up in my face because it turns out you only do X under (long list of conditions that no one ever told me and assumed I knew).

I get anxious about this too sometimes, but in my experience the "long lists of conditions that no one ever told me and assumed I knew" are hardly ever relevant.

I don't get anxious. I get tired of doing what people told me would work and having it go really badly.

Re: How to contribute to an open source project on GitHub

#70

what if I want to start my contribution I just don't know which project to choose ? this assumes that I already know the project I want to contribute to.

For almost any project there is an infinite amount of work to do. Check out OpenHatch for opportunities, or just dive in for things you rely on. Big communities are great too, checkout Linux or one of the distros:

https://openhatch.org/ https://kernelnewbies.org/ https://www.debian.org/intro/help

Post reply on HN