Creating a new project, by forking existing code or starting from scratch, is easy with GitHub.
A contributor is a project member and may commit and push a new version of code & documents to the project.
Somebody who is neither project master nor contributor, so not a project member, execute a “pull request”.
A newbie to a project and to GitHub may easily create a “pull request” to suggest code he/she created or fixed.
GitHub is not really willing to host binaries ( JAR, lib, DLL, executables, installable archives ). Instead it suggests to use some other cloud services like Amazon S3 for storage.
You may either download a GitHub project as archive in ZIP / TAR format, or by a Git client.
You may upload a Git repository to a remote location. e.g. GitHub. I.e. you can create all directory structures offline.
GitHub supports the agile development principle “Commit early and often”.
Show your intention what you want to change, instead of pushing your work.
The reason for the declaration of intention is a discussion about the intention and also, but not just the code .
GitHub has much more features than Git, e.g. “Milestone” feature, issue tracker, pull request.
“Google Code runs a project hosting service[8] that provides revision control offering Subversion, Mercurial and Git”.
You have to define your OpenSource license when you create a project ( in opposite to other services like GitHub, where you define that by uploading license files ect. ).
Scribd - “Millions of documents and books at your fingertips! Read, print, download, and send them to your mobile devices instantly. Or upload your PDF, Word, and PowerPoint docs to share them with the world's largest community of readers”.