That's great, but I'm still slowly moving my projects over to Github.
1. I get much more engagement from random developers on Github. On Github, random people will fork and add features, do code reviews and leave comments. All of these things are technically possible on Google Code but nobody does it—probably due to the usability but possibly also a cultural problem. Github has a strong culture of collaboration because they strongly emphasize it in the user's experience.
2. Managing forks and pull requests is easier on Github. I want my life as a maintainer to be as easy as possible.
3. Notifications: For a long time, Google Code notifications simply didn't work for me, at all. I'd randomly stumble on one of my older projects and noticed 5 new issues opened that I didn't know about, I felt like I betrayed my users for 6+ months. Now they seem like they do, but some trust has been lost.
4. Multiple choices of documentation markup on Github is appealing.
5. The code browsing feature on Google Code feels like its own application. When you open a Github project, first thing you see is the code. On Google Code it takes 2 more clicks (that's 1 more click than Bitbucket). Think about what's the most important thing here—the code, and Github got it right.
As far as version control goes, I'm happy with either Git or Mercurial.
Why doesn't anyone ever think about the users? You know, the ones that just want to grab some binaries and do stuff?
In the "old days", projects would have a webpage with some instructions, screenshots and downloadable binaries. The effort required to do this would pay off in terms of polish and would attract more users.
Today, people find out about this supposedly nice piece of software, and proceed to find only a source file listing, no documentation (not even a half-decent README), no screenshots and, worst of all, the need to build from source. I'm a technical person with a fair amount of curiosity for these things, and I find myself frequently bummed out and give up when I see a link to github.
Even when these "artifacts" exist, just the look of the site is enough to put regular users off.
Sharing code is not only about dumping a source tree online. It's about polishing all that surrounds it and makes it a "product". Without users a source tree has no value.
Frankly, the current situation is making the open-source community more and more closed in on itself. The first step for irrelevance.
In Github's case, most of the projects there are libraries and the users are developers. The people who like Github probably expect the first thing they see when they show up to a project to be the code. And I'd wager that for many developers, checking out the repo is quicker and more convenient than downloading a tarball.
Github's UI admittedly doesn't make for a great experience for someone browsing around looking for software to download. A project that is trying to appeal to regular users should set up a wiki page, or even better, use Github Pages to build a site.
Though, I really hate it when I follow a link to a Rails app on Github that left the default "Welcome to Rails" readme.
When looking out for libraries I need to have answers to the following questions:
1. Is the library stable/complete?
2. Is the API stable?
3. If not, how frequently/how much does it change?
With a decent project page, I can have these questions answered either directly or by looking at the available downloads history (even if they are source-only downloads) and version numbers. With github projects I frequently can't answer any of those questions.
Libraries are products, just like any other piece of software.
I'm not saying that github isn't good for developer collaboration. I'm saying it's no good for developer-user relations. It has the necessary features, but it doesn't encourage its use by the very nature of its interface.
Number of followers/watchers is usually a good indication of how well-liked a project is. And as with any other open-source software, without sniffing in the code a little bit you never know what you're getting, regardless of how good the docs are or how sleek the project hosting pages are.
I like how most bigger projects are doing it nowadays: a separate page/mini-website, often using GitHub pages, that is user-centric and usually has a direct download link, and then GitHub for fellow developers.
Whenever I go to download an open source project, I end up on a web site built for it which has exactly what you mention. GitHub doesn't have those, but GitHub isn't intended to be the first page the end user finds either. GitHub is for developers, and any project that wants to be accessible to non-developers should set up a separate page as well. Nothing wrong with that from what I can see.
Minor quibble, but I share your concern. It is more of a developer choice rather than a github limitation. github supports pod format, README, and I have no idea what else, displayed on the front page of a project. You can also supply a link to a project page. But what do I expect? Same as you -- main feature description, screenshots (please), and additional links to documentation and examples.
Any project on github. Put yourself in the shoes of a user that doesn't want to donwnload source. He lands on a github project page and just gives up.
For a regular user (where "regular" depends on the type of software and the technical skill it requires), this is going way back to the days of source sharing on Usenet, way before the open-source term was mainstream (or even coined).
I agree, and to go further, even _if_ a non-developer did on github (maybe higher in the search rankings), for many popular projects you can generally find the consumer facing url via the "homepage" link.
(Speaking purely for myself here.) I agree the code is important, but I think a cohesive project is more important. Github presents itself as a giant pastebin for code, with "projects" bolted on. Google Code presents projects first, and puts the code at an even level with every other part: bugtracker, downloads, wiki.
That's the problem with Google Code, in my opinion. It tries to be both a landing page and a project manager for my software when I'd rather take care of the former myself. It ends up sucking at both, unfortunately.
check your .html files in to your repo and serve them from projectname.googlecode.com. You can even set your project homepage to redirect there automatically if you are clever.
both can host project homepages in a variety of ways. GC gives you a navigable and clean and usable project landing page by default, while github makes you work a bit harder. neither service prevents you from doing what you want, but if you care about your non-developer users, you'll find better conversions using google code. fact.
to the OPs point, there is no reason why you can't make your GC project page have more content for developers. it is a wiki. everybody loves wikis.
the OP of this thread is clearly trolling, though.
While I agree with you on the facts of projects vs code, I actually LOVE that the PROJECT isn't
on github. It makes the wily nilly use/patches from 3rd parties so much easier. It makes Google Code feel a little too sourceforgey.
- Basically the front page of any google project is like the readme in github or bitbucket. Some repos use github pages for a full site. This makes it like a google code site and better as you can actually host content.
-Issues? Github has that.
-Wiki? Same.
I don't see anything feature wise that Google brings to the table that GitHub or Bitbucket doesn't out of the box or manually with even greater control.
I really want to understand what the issues are, help me understand.
my take on it is that gc is better at running long-lived projects or projects with non-developer users. github is great, but its emphasis is strictly on coding and dvcs.
i've run svn gc projects, and projects on github, and found the gc stack to be generally more robust, cohesive, flexible, and methodically designed. ex: compare the rich functionality of the gc issue tracker to github and you'll find them incomparable. or, create a project and browse the "advanced" tab of your project and you'll probably find you have more control than it feels like, with little effort.
regarding "can actually host content" - prolly a red herring because both let you host content. they just present a different ui for it.
Which is fine, but I'd hardly say that a new user would find that less daunting than the Homebrew page. There's a lot going on, and it's trying to cater to both people who want to use waf and people who want to work on waf.
Agreed, and yet implementing the features that make Github (& Bitbucket) what it is doesn't sound terribly difficult, and most importantly won't ruin the other "project-y" features of Google code.
Personally my projects are still on Google code, but Github is becoming more and more tempting.
I think the strength of GitHub is lying in it's focus on code. And that's the point of a code hosting website, isn't it?
You visit a GitHub repository... what's the first thing you see?
Instead of a blank page with some numbers and a project summary you're directly looking at the core of every project: its code. The presentation of the readme file is just one more thing which speaks for GitHub. Your project summary is integrated into the actual process of development because it's a part of it.
Plus, you really get this feeling of activity while browsing projects and code on GitHub. Google Code and SourceForge seem so abandoned in comparison.
1. I get much more engagement from random developers on Github. On Github, random people will fork and add features, do code reviews and leave comments. All of these things are technically possible on Google Code but nobody does it—probably due to the usability but possibly also a cultural problem. Github has a strong culture of collaboration because they strongly emphasize it in the user's experience.
2. Managing forks and pull requests is easier on Github. I want my life as a maintainer to be as easy as possible.
3. Notifications: For a long time, Google Code notifications simply didn't work for me, at all. I'd randomly stumble on one of my older projects and noticed 5 new issues opened that I didn't know about, I felt like I betrayed my users for 6+ months. Now they seem like they do, but some trust has been lost.
4. Multiple choices of documentation markup on Github is appealing.
5. The code browsing feature on Google Code feels like its own application. When you open a Github project, first thing you see is the code. On Google Code it takes 2 more clicks (that's 1 more click than Bitbucket). Think about what's the most important thing here—the code, and Github got it right.
As far as version control goes, I'm happy with either Git or Mercurial.