It was suggested that I take my project open source due to its size and my lack
ID: 660409 • Letter: I
Question
It was suggested that I take my project open source due to its size and my lack of skills, so I checked out Google Code, and started making a project and now it's asking me if I want the project to have Git, Mercurial, or Subversion code hosting.
I don't even know what code hosting is, and a search just confused me more with the debates between all these things, and this is made even worse as Google Code is asking me which type of license I want.
I think I'm not quite understanding what open source really means, can someone pretty much make a quick layman's cheat sheet on what all this is? Much appreciated.
Edit There have been a lot of great responses on these three versions of code hosting, but I think I failed to communicate the real question: Basically I've no idea how this open source stuff works, why would I host the code somewhere like this? And would that mean I have to take the site off of my current hosting, or is this an entirely different type of hosting? What happens when I make my site open source, what rights do I have, what rights do I give away. How does it work, do people just come and throw code at me for free? Perhaps these are stupid questions, and if that's the case then I guess I need stupid answers, I seriously have no idea what open source is, except for the concept of sharing code...
Explanation / Answer
why would I host the code somewhere like this?
A key point of open source software development is to share the source code. There are several ways to do this, like putting tar/zip files on a web or ftp server. Services like google code (or sourceforge.net, gitorious.org, bitbucket.org, and many others) take away the need to run your own servers for this purpose.
And would that mean I have to take the site off of my current hosting, or is this an entirely different type of hosting?
These services are not general-purpose web hosts, but run very specialized services. They are not meant to be the homepage of a product, but more a developer dashboard.
With google code you get
a wiki
a bugtracker
regular file download space
a version control server
Of course you can set up these software on a regular web server (the version control stuff might be tricky, but that depends to much on details), but the main benefit of using a development hoster is that you don't need to take care of these systems for your own. The main drawback is that you have no control about what software is used on the server, you have to live with what is available on that host. You also need to consider what happens if the service gets out of business(ok, google never fails), and if you can take the data from the current host to another one or your own server (think of backups).
What happens when I make my site open source, what rights do I have,
This is a difficult question, since it depends on the law of the country where you live.
what rights do I give away.
This depends on the license you give to the product. It can go from proprietary open source (think of PGP) where the user basically can't do anything with the code, on the other end of the scale is public domain, where every one can do whatever he wants.
How does it work, do people just come and throw code at me for free?
This is very unlikely to happen, since your product need enough popularity in order to attract other developers.
[...] and now it's asking me if I want the project to have Git, Mercurial, or Subversion code hosting.
These are three different version control systems, where Subversion is a centralized one, while Git and Mercurial are distributed.
There are religious wars about which one to use, but the main point is to use one. See http://martinfowler.com/bliki/VersionControlTools.html for more details.
When to choose Subversion:
You have binary files, which can't be easily merged, and need the lock->modify->commit->unlock workflow, which subversion supports
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.