So you want to host an open source project using one of the many free services available but can’t decide which one to use? If only someone would put together a quick summary of each of the major offerings…
Hosting providers covered in this post:
- Google Code
Bitbucket is a hosting site for the distributed version control systems (DVCS) Git and Mercurial. The service offering includes an issue tracker and wiki, as well as integration with a number of popular services such as Basecamp, Flowdock, and Twitter.
- Supports both Git and Mercurial
- Allows private repositories for free, up to 5 users
- Unlimited repositories
- Has JIRA integration for issue tracking
- Has its own REST API
- Only allows up to 5 users for free (a user defined as someone with read or write access)
CodePlex is Microsoft’s free open source project hosting site. You can create projects to share with the world, collaborate with others on their projects, and download open source software.
- Supports both Git & Mercurial
- Integrated Wiki that allows to add rich documentation and nice looking pages
- Bug Tracker and Discussion Forums included
- Often times feels more like a code publishing platform than a collaboration site
- Primarily geared toward .NET projects
Build software better, together. Powerful collaboration, code review, and code management for open source and private projects.
- Supports Git
- Powerful and easy to use graphical tools
- Easy team management
- Integrated wiki, issue tracker and code review
- Only supports Git
- Quite a few ‘dead’ projects on the site
The Git hosting software that you can install yourself. Gitorious.org provides free hosting for open source projects that use Git.
- Supports Git
- Free project hosting
- Integrated wiki
- Can download the software and install it on your own server
Project Hosting on Google Code provides a free collaborative development environment for open source projects.
- Supports Subversion, Mercurial Git
- Integrated wiki
Launchpad is a software collaboration platform.
- Supports Bazaar
- Integrated bug tracking and code reviews
- Ubuntu package building and hosting
- Mailing lists
- Only supports Bazaar
- Geared toward Ubuntu (which can be a downside depending on your project)
Find, Create, and Publish Open Source software for free.
- Supports Git, Mercurial, Subversion
- Integrated issue tracking, wiki, discussion forums
- Stat tracking
- A lot of ‘dead’ projects
Now obviously I’ve missed some things and glossed over others but my goal here was to provide a quick ‘at a glance’ summary of each. Check the individual websites for more. Thanks to the people over at Stack Exchange for doing a lot of the legwork.
If you use Trac as your bug and progress tracking tool then you too may one day need to take a backup of it or move it to a new server like I had to the other day. Thankfully, as I discovered, it is a relatively straight forward process. Here are the steps to backup and restore a Trac project.
Take a hot backup of your existing install. This is essentially a backup from a fixed point that you can take while still using your Trac at the same time (great for having no downtime).
trac-admin [/path/to/projenv] hotcopy [/path/to/backupdir]
trac-admin /var/www/trac/projectx hotcopy /home/awesomeadmin/trac_backup/projectx
In order to restore it on another server you just need to create the project from scratch (i.e. using initenv) like this
trac-admin [targetdir] initenv
and then simply replace the install directory contents with the backed up contents. Strictly speaking I’m not even sure if you need to initenv but that’s how I did it and it worked.
Hopefully this works for you as well. Happy… err… Trac-ing?
Sometimes you need to move an SVN repository from one server to another but maintain the full commit history (i.e. comments and changes). Here is a very simple way to do so.
1. Dump (and compress) the source SVN in one line:
svnadmin dump [path to source SVNrepository] | gzip -9 > [path to destination gzipped dump file]
svnadmin dump /var/svn/projectx | gzip -9 > /home/awesomeadmin/svn_backup/projectx.dump.gz
2. Transfer gzipped dump to new server
3. Decompress dump
4. Restore dump to new SVN repository
svnadmin load [path to new SVN repository] < [path to dump file]
svnadmin load /var/svn/projecty < /home/awesomeadmin/svn_backup/projectx.dump
That’s it. Pretty simple, no?
Man, Eclipse works great on Debian! It gives me this cool message on startup:
JVM terminated. Exit code=127
After uninstalling, reinstalling, changing which JVM I was using, uninstalling, reinstalling, googling, yahooing, and binging, I finally found this post over at Debian Help that instructed me to first install XULRunner. With the addition of this simple step, everything suddenly worked great.
The strange part about the whole thing is that Eclipse doesn’t install XULRunner as a dependency, and the Wikipedia article about XULRunner doesn’t mention Eclipse anywhere. I don’t really understand their relationship, aside from the fact that Eclipse supports plugins that may or may not be written on top of XULRunner.
Regardless of their strange and undocumented relationship, the Eclipse/XULRunner combo seem to work perfectly, allowing me to create Java, C/C++, and Plugin projects out of the box. Next steps include adding plugins for Subversion, Python, and PHP.
Categories: Debian, God Damnit Linux, Jon F 127, c, code, crash, Debian, Eclipse, error, fail, java, jvm, python, xulrunner