Time for a Change

This time, the turn is for Testing.Commons to find a new home and, again, as with NMoneys, such home will be  GitHub.

Ol’ Times

One of the reasons to start Testing.Commons altogether was getting to know Git more. And at that time, after evaluating several code repositories, I discarded GitHub in favor of Assembla because of its superior tracking capabilities (at that time) and because it was easy enough to get started.

At that time, GitHub was already popular (but it wasn’t as huge a monster as it is today) but it was popular enough (and I was silly enough) to put me off getting my code “in the spotlight”.
Embarrassing as it sounds I was too afraid of the “social coding aspects” that were publicized at that time so I took the easy way of putting my code in a relatively unknown stage.
Nonsensical.

Rationalizing hurts less

Question remains… why am I swapping providers?
Has Assembla gotten too annoying to work with? Not really, it is still a solid product with lots of goodness…
…but GitHub has really improved since those days. Silently, steadily its featureset has grown in quality and quantity…
…and Assembla’s has fallen behind a bit.

Mind you, Assembla is good. They are active in adding features to the platform, their support team is responsive and they are legit. I would deeply recommend them to host private Git repository for companies (a bit on the pricey side), but for hosting OSS projects I feel GitHub is simply better for me.

Lack of visibility

And oh, the irony that one of the reasons it was chosen in the first place turned itself against Assembla.
Simply put, my felling is that if a OSS project is not hosted in GitHub there must be some organizational reason for it.

I am ashamed to admit it, but I myself think less of an OSS project if it is hosted somewhere else than GitHub. That is how influential has become.

Delocalized Portfolio

Related to the lack of visibility and GitHub’s role as a professional portfolio one sees more and more often people asking for your GitHub user and expecting to see all your public code in there.

Saying “oh, and besides GitHub, here my Assembla user…” or “I do not use GitHub, but I do use Assembla” can both end up with a “wat?” as a response and sometimes, it is simply not possible to choose something else than GitHub.

Integrations

“Every” project, web app, platform, service out there offers integration points against GitHub.
Some of the ones I have used so far: AppVeyor, AppHarbor and Apiary.

For those services, Assembla is not popular enough (or easy enough, I do not claim to know) to integrate with.

An example: my experience to get AppVeyor automatic deployments working with Assembla was of frustration due to my lack of competence in Git, Ruby and server-side hooks (regardless the prompt help I received from their support team, thanks a bunch Vitalie).
In GitHub? Works out-of-the-box without touching a bit.

Documenting OSS

GitHub Wikis and GitHub Pages are a joy to work with. Their UI is awesome and using them offline is equally sweet.
Syntax Highlighting is easy to use (markdown a fenced block and decorate with the language) and looks great.

Assembla Wikis pale in comparison in both looks and editorial experience and, at the time of writing, they do not offer offline capabilities.
And their snippets feature, although really welcome,has given me rendering problems in several browsers.

The Process

Moving the repository was a no brainer with GitHub Importer. Point to the URL of the Git repository and off it goes.

Since I did not have a lot of tickets (issues), I did not bother to move them.
But Assembla allows to export them as a file that, with a bit of scripting lub, could be imported into GitHub’s.

What took me the most time was moving the Wiki. I did it “the hard way”, by hand, as I took the opportunity to reorganize it and proof read it.

It is a pity that there is no automatic content redirection or “this project has moved flag”, I could have saved updating links in my own blog (another piece of boring monkey work).

All in all, the process was really easy but it seems I am not “programmer enough” to write migration scripts that take advantage of both Assembla’s and GitHub APIs.