Sunday, June 8, 2014

Custom trac+svn or GitHub (or other alternative)

Recently, I had a small discussion about moving to GitHub (or another similar solution) on IRC. The subject has come up several times (and I thought several times about it) and I'd like to have a more opinions about it.

I'm really tempted to move it since it might decrease cost a little bit and most importantly, it will decrease the amount of maintenance I have to do. However, I have some concerns and I'm open to new ideas.

I like GitHub since it has most of the features of (a base) trac (and I don't need more than that). User management is built-in, as well as anti-spam. There is a big community around it and we can do continuous integration (using Travis CI). And I don't have to spend time cleaning up the spam, updating the server (and making sure it's secure; I guess GitHub have security measures).

Here is what I don't like with GitHub:
  1. You don't have control of your code anymore.
  2. One way thing: you can import trac (tickets and stuff) to GitHub but I never heard of tools to back that up
  3. You depend on them: if they're down, you'll have to wait for their stuff to come back up. If they get hacked, you might be in trouble. They can close your project; If you guys remember WhatsApp, a few days before it was bought by Facebook, GitHub received DCMA letters and had to close a bunch of projects that were related to WhatsApp (or API library).
  4. You need an account to create a bug report.
 However, the cons can be somehow alleviated:
  1. Hosting my own git repository and syncing to GitHub (as well as other GitHub alternatives)
  2. If there is no tool to back up GitHub, I might develop one (and open source it) or pay somebody to create one.
  3. Using multiple services. We could have GitHub as main the main location and using other services as back-up (read-only). If GitHub gets down, we can switch any other to read-write. However, we'll need a software to do the sync (and it also depends on the back-up program in the previous point.
  4. If they don't have an account: Accept bug reports by email and/or have people post in the forum (you don't need an account to post) and I take care of adding them to GitHub.

So, here are my questions:
  1. What is your opinion about using GitHub (and git) for Aircrack-ng instead of trac+svn?
  2. What are the alternative to GitHub (free, hosted)? If you've used it, please give me your opinion about it. I'm also willing to pay a few dollars a month if there is a serious one.
  3. What are the installable (to your own server) alternatives to GitHub. It's better if it's free/open source but I don't mind paying if the solution is good.
Here is what I found (and heard about): GitLab (to install, as backup, using gitlab-mirrors), BitBucket, Gitorious, Kiln. However, I need more feedback about them.

As I get feedback, I'll update the post.


  1. I don't see a big problem with GitHub. GH is rarely down and you should at least try it so see if also may the speed of the project development increases. You have a local copy and hacking your code is not possible when using git as the core. I guess you knew that, why then the fear?

  2. There's Mercurial. I'm not sure if it's better than GitHub, though.

  3. Deveo is another addition to GitHub, Bitbucket and others. You can host it yourself. We are going to open free tier for 5 users, which should support your usage.