13

I'm stating to work on a project that I intend to release as open source via the githubs. What are the advantages of putting the code on github from the outset, as opposed to waiting until the project is in a working state before publishing.

If it matters, this particular project is a C# app/service, and I have only a free github account (so I can't make it private and then pull back the covers later)

1
  • 2
    You can make it private with a free account if you use BitBucket instead...
    – Timwi
    Commented Oct 8, 2012 at 7:14

6 Answers 6

12

The quicker you make your code publicly available, the quicker you can gain feedback and people to help you. If your intention is to make the project open source from the beginning, then I would recommend starting your project out as public by default.

Github is full of small and unfinished projects so your project should fit right in. The more details you put in the readme file the better as it will help other developers/consumers get up to speed on your project quickly.

At the very least, your private projects should be under some sort of version control. If you don't want to pay for a service, then I'd recommend using Dropbox to back up your private local repositories. This way you have file backup and version control on your project which will save you from hours of pain in the future. More recently, GitHub and its competitors have released free private repositories, so you can use your version control solution of choice privately without a paid subscription.

5
  • 5
    I completely agree but, just to be clear for readers unfamiliar with github, putting something on github does not automatically guarantee others will use and review the code (with the possible exception of those following the author). The author still needs to reach out to interested parties
    – akton
    Commented Sep 22, 2012 at 11:49
  • good point, @akton, and if/when the project gets to that stage I'll definitely have to evangelize it. I'm not really sure yet whether it'll be of much utility to others.
    – cori
    Commented Sep 22, 2012 at 12:49
  • 2
    Re: "If you don't want to pay for a service", BitBucket gives your free private repositories. Commented Sep 22, 2012 at 13:56
  • Dropbox, really? I think that Bitbucket might be a better choice (GIT is now supported)
    – Andrea
    Commented Sep 22, 2012 at 16:33
  • mixing github and Dropbox can be disastrous (from personal experience) so be warned. I created a Dropnot folder for my git-github managed projects. Commented Oct 7, 2012 at 23:46
7

There are no disadvantages. As long as you have a readme file that clearly states the project is in flux nobody will hold it against you if you make breaking changes as the project progresses.

4

There is https://bitbucket.org or https://github.com/ if you want free private repositories using git, and when you're done you can turn it public.

2
  • I do have a bitbucket account, for which I highly appreciate the private buckets, but github is still the gold standard for public open-source project, it seems to me...
    – cori
    Commented Sep 22, 2012 at 12:48
  • Why the edit? As far as I know it's incorrect - BitBucket allows git repos.
    – cori
    Commented Oct 8, 2012 at 15:04
3

Short Answer: You may still host it freely in Github without any issues.

Your advantage would be getting feedback of users and interested developers who might wanna join your team, provide helpful idea and move this project forward.

However, to avoid most dis-advantages, it will make sense to write a Note mentioning that project is till in development phase. And what features are expected to be functional on initial Beta release.

3

I say why not have the best of both worlds.

The nice thing about git and decentralized source control in general is you don't have to stick to one host. You could make a private bitbucket or github repo and a public github repo. Right now push your changes to the private repo, and when your project is more complete(or reaches a milestone) you can push to the public repo... and you can later make the private repo public and have a presence on both Bitbucket and Github

0

One minor disadvantage is you spam your repos list with useless repos. I usually start my repos as private and as soon as they have something worth looking at I make them public. That way the wasteland of new ideas that never went past a few hours tinkering don't distract from the interesting code. This only matters if you expect people to look at your repo list to find something interesting.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.