I work at a small company in a small IT department. We use Visual Studio Online (the Team Foundation Server flavor of VSO) to store our source code. We're interested in deploying an open source (GPL v3) project for use here. The project is hosted on GitHub.

There are some bugs in the project however that we will need to fix in order to use it. We're happy to do so and I've been in contact with the project's maintainer, who seems receptive to pull requests.

My question is, what's the best way for us to create our own fork to maintain? I want to make sure it's easy to pull down new versions and submit Pull Requests back upstream. It's been suggested that we keep our fork in VSO, only as a Git repository, but I'm afraid that will make it harder to keep the flow of changes open. I was thinking that it would be better to create a GitHub org and keep our fork there. Is one of these approaches better than the other? If so, why?

Issue tracking.. I hadn't thought of that. Good call. This adds some overhead, but not much, so is probably the way to go.
– RubberDuckSep 23 '15 at 17:49

1

The overhead is pretty small (one additional git push and maybe some history re-writing/polishing) but the potential benefit, especially when you use the CI features, are pretty large
– MartijnSep 23 '15 at 17:55

I would suggest simply using GitHub. Its UI and paradigm is aimed specifically at what you want to achieve.

Presumably you are already fetching the original project directly from GitHub, so you have all the internal infrastructure established to continue to do so.

Simply forking it on GitHub maintains the link to the upstream original.

Having both your fork and the original on GitHub will facilitate pushing your changes upstream. The Pull Request mechanism simultaneously makes it easier for you to offer your changes, and for the maintainer to accept them.

Maintaining your fork on GitHub makes it very easy to meet the requirements (and spirit) of the GPL to publish all your changes, because it is published by default.

So pay for a private account on github if you don't want to publish.
– bmarguliesSep 23 '15 at 20:16

1

@bmargulies it's not a matter of wanting to publish or not. I was simply pointing out that we're not required to. Honestly, I don't appreciate the attitude. We're obviously looking to share our improvements on the project with the community. I was merely pointing out a (perceived) flaw in the answer.
– RubberDuckSep 23 '15 at 21:31

1

I couldn't think of a reason to mention the lack of obligation unless you were disinclined. I offered a practical option for an apparent practical problem. If you perceive attitude in that, you are probably mistaking me for someone who cares about free software ideology, which I do not.
– bmarguliesSep 24 '15 at 2:07