
Projects that power GitHub - waffle_ss
https://github.com/showcases/projects-that-power-github
======
neya
Is there a reason why Github runs on it's own fork of Rails (I believe it's
2.3 or something), when they could just upgrade to Rails 4, from the official
Master (which is faster and probably more stable AND most importantly with
most security bugs fixed)??

Pardon me if I sound stupid, I'm just trying to understand why.

~~~
kneath
From my perspective, there have been a few different reasons why we haven't
just upgraded:

1\. Time spent upgrading Rails is time not spent building awesome things for
our customers to use. We're extremely customer focused.

2\. Performance is also a huge concern of ours. Over the past few years we've
driven response times down dramatically. Upgrading Rails not only presents a
slower framework (Rails 3/4 is not faster than 2.3), but a different
architecture — changing where our performance chokes are. We'd have to do a
ton of work on this front just to keep performance steady. Again, time spent
here is time not spent making our existing infrastructure faster.

3\. We've spent the past three years working on upgrading the stack. It's not
so black and white — we have many of the benefits of newer rails without
needing to upgrade everything. There has been a lot of effort here.

In my own personal experience, upgrading frameworks is generally the fastest
way to create bugs and work on the opposite of customer impact. I don't think
you should feel like you have to be on the bleeding edge.

~~~
wasd
As per number 2, are these GH specific or can they be sent upstream?

~~~
bnferguson
Not completely sure all the blockers but I think it may have to do with 2.3
being in maintenance mode (may even be unsupported at this point).

Either way, being able to contribute back is definitely one of the things
people are looking forward to about being on a current version. I've heard a
few mention they'd love to be able to send any Rails performance bits upstream
much like we see with the Ruby patches lately.

------
binarymax
Missing something? :)

[https://github.com/git/git](https://github.com/git/git)

~~~
nightpool
Actually, they use
[https://github.com/libgit2/libgit2](https://github.com/libgit2/libgit2) to
create and manage Git repos. "libgit2 is a portable, pure C implementation of
the Git core methods"

(You can find that listed on the page)

~~~
bch
Last I heard (couple months ago) it was used for a couple or three pieces of
functionality only.

Based on my experience with it (master incredibly stale, not recommended, and
the recommended "development" brittle and buggy), that's not surprising at
all...

~~~
ethomson
I'm sorry if you've found the development branch to be buggy - we strive for a
high-level of stability there, so we'd be very pleased if you would open
issues there.

~~~
bch
Hey thx for the reply!

I was working closely (via IRC, email) with somebody (I forget whom) who
discouraged work on master and suggested "development" \-- is that still the
case?

The more I delved into git, the more I realized what a large delicate job it
seems to be (which is a matter for a different discussion). Regardless --
apologies if I came across to harsh -- I haven't looked at it in months...
will re-pull, give it another look.

Good luck w/ the development!!!

~~~
ethomson
No, you did not come across as harsh, your criticism is very accurate. The
master branch tracks the latest release and is stable, but unfortunately we do
not release with great frequency. We work in the development branch and -
while we try to keep it stable - there's not a strong guarantee that it is.
Especially when there's ongoing work in an area, it may become somewhat
destabilized. This is regrettable but, I hope, understandable.

We should certainly be better about more frequent releases. As it is, we tend
to overreach. Thanks for the feedback.

------
jweir
No mention of Resque. Is Github still using it, or moved on?

[https://github.com/resque/resque/tree/1-x-stable](https://github.com/resque/resque/tree/1-x-stable)

[edit -- thanks, I see that it is on the list now.]

~~~
rsanheim
We still use resque.

------
aantix
Is it true that Github runs a custom Rails fork? And if so, which version is
it forked from?

~~~
tenderlove
Yes it's true (AFAIK). It's a fork of 2.3, and you can find it here:

[https://github.com/github/rails](https://github.com/github/rails)

------
AndyKelley
What could I do to get my JavaScript game engine[1] listed on the JavaScript
game engines showcase page[2]?

Or my music player server[3] on the music showcase[4]?

[1]: [https://github.com/andrewrk/chem](https://github.com/andrewrk/chem) [2]:
[https://github.com/showcases/javascript-game-
engines](https://github.com/showcases/javascript-game-engines) [3]:
[https://github.com/andrewrk/groovebasin](https://github.com/andrewrk/groovebasin)
[4]: [https://github.com/showcases/music](https://github.com/showcases/music)

------
ethomson
GitHub has also posted some of the projects that power GitHub for Windows:
[https://github.com/showcases/projects-that-power-github-
for-...](https://github.com/showcases/projects-that-power-github-for-windows)
and GitHub for Mac: [https://github.com/showcases/projects-that-power-github-
for-...](https://github.com/showcases/projects-that-power-github-for-mac)

------
dpick
Is there a special library used to power the comments editor? I'd love to have
a library that let me do drag and drop images into markdown.

------
seanconaty
So happy PJAX made the list. With all the JS frameworks out there I think this
is the least appreciated.

------
lucidquiet
What about any DB? MySQL, or Postgres? Is it all Elastic Search?

~~~
petepete
They use MySQL and the MySQL Project use Bazaar.

------
igravious
Hey Github peeps! Hubot apparently occasionally looses his brain. Yes, it
_looses_ its brain occasionally. That is all.

------
room271
I'm actually surprised at how short the list is. Presumably they use a lot
more open-source projects than this?!

------
mcmire
Wonder if they manually curate these lists or if they initially populated them
with some sort of machine learning?

~~~
bnferguson
These are manually curated at the moment.

Though the selections may be inspired by machines. Or rabbits. Hard to say.

------
chillericed
Does anybody know why they didn't go sidekiq instead of resque?

~~~
Jake232
Sidekiq wasn't around when they made resque.

------
hemancuso
Curious to know if proxymachine is still used, anyone know?

------
umrashrf
thanks for letting me know what should I learn beforehand to work at Github!

------
the1
where is [https://github.com/sexist/julie](https://github.com/sexist/julie) ?

