I just cloned an interesting project on GitHub and made a few changes. Not really anything in the core functionality, I just cleaned it up a little to make it easier to use (at least in my opinion). I'm considering adding a GUI layer to make it usable for people who aren't command line junkies.

The question is, how do I publish the changes? Should I just toss it up onto my own GitHub repository? Or should I talk to the original author about merging the changes into his project? There is a license, but it basically just says that anyone can use it for anything as long as they don't sue the author. What's considered the Right Way to work on someone else's project?


You should fork it.

Forking a project is perfectly acceptable, you should take credit for the work that you do.

The attribution to the original author is inherent in the fact that you forked the repository.

After making your changes and testing that they work (duh), you can ask the original author to send a pull request, and if the author accepts it, it will merge your repo with his.


Always fork the original repo on github.com. Here are full instruction for forking a repo. Once you've forked the repo you can commit and push your own changes as well as syncing up with an more changes the author may make.

This is the fork-and-pull model so if you would like the original author to consider incorporating your changes then you can make a pull request and he/she can pull your changes if they want them. Here are the instructions for doing pull requests.