The very first time we saw GitHub demonstrated, it was clear to us that it was important to the Ruby on Rails community, and something that we wanted to be associated with. In fact, we felt so strongly that we immediately offered Tom, Chris and P.J. free deployment on Engine Yard in exchange for free accounts for our customers and developers.
Why did we feel so strongly? I’d like to explain this on the record as many of our customers will no doubt wonder “Wow, that was a pretty good deal?” :-)
My number one reason was that I felt that distributed version control was critical to keeping the open source community centered around the Ruby on Rails cutting edge. The social implications of Git’s fully distributed nature ensure that open source developers must listen to their community or risk losing control of their project to a fork. This is why we moved Rubinius and Merb to Git so early in the game!
When Rails itself announced the move to GitHub, we were overjoyed and entirely supportive. We then moved GitHub from a small slice environment to a larger cluster as we felt it critically important that GitHub scale smoothly with the substantial increase in traffic that the Rails source code would bring. That transition went so smoothly that an impromptu party developed to celebrate its success; it was quite an evening!
Shortly thereafter, as often happens when a site reaches a certain level of success, things began to slow down. We identified the bottlenecks and supported GitHub and the community by making patches to ssh to allow key lookup in MySQL rather than a text file. That remains, to this day, one of the finest examples of Engine Yard support and it makes me extremely proud just thinking of it.
The Ruby and Rails communities have wholeheartedly agreed with us and endorsed GitHub. In fact, the transition from Subversion to Git has been one of the most aggressive technology transitions that I’ve ever seen! This made the ever increasing resources required to deliver GitHub a fair trade for Engine Yard for a number of reasons:
- More GitHub traffic meant more exposure for Engine Yard
- Git allowed the Ruby community to be more agile, and more GitHub adoption meant a more robust Ruby community
Recently, however, GitHub has begun to grow very rapidly in non-Ruby communities. This is wonderful for GitHub, but made adding new resources on a free basis far less attractive to Engine Yard. GitHub offers the largest free storage quota among the big SCM hosters, and we came to the conclusion that we didn’t want to subsidize that quota for non-Ruby developers.
We discussed options extensively with GitHub and made our best attempt to offer an easy ramp from free to paid. However, in the end, the best arrangement for them was moving.
We use GitHub each and every day for every project that we support. We worked incredibly hard for them since the beginning, and placed a substantial amount of resources at their disposal, in hardware, bandwidth, and support. Like all partnerships, we had our occasional disagreements, but I believe there were never hard feelings on either side. Accordingly, we are currently working directly with their next provider to maintain smooth service as they cut over.
For Private Cloud customers, nothing will change: our classic, fractional and dedicated offerings will continue to include a source code management account (Github or Beanstalk) as part of their service. For existing Engine Yard Cloud customers, we will continue to provide free Github through the end of this year. For new Engine Yard Cloud customers, there will no longer be a free Github account included in the service.
We’re confident that GitHub will continue its tremendous success in enabling the kind of collaboration that forms the heart of the open source software movement. We wish them the best and will continue to think of them as an important part of our future.