Posted
by
timothyon Thursday August 28, 2014 @03:46PM
from the git-along-little-hub dept.

I talked with Chris Kelly of GitHub at last week's LinuxCon about GitHub. He's got interesting things to say about the demographics and language choices on what has become in short order (just six years) one of the largest repositories of code in the world, and one with an increasingly sophisticated front-end, and several million users. Not all of the code on GitHub is open source, but the majority is -- handy, when that means an account is free as in beer, too. (And if you're reading on the beta or otherwise can't view the video below, here's the alternative video link.)

Timothy
Lord: Chris, can you explain your role with GitHub?

Chris
Kelly: Yes, so you know, I do all of our outreach work. So, it’s
us going out into the world, talking to people and getting them
involved in their communities and really trying to amplify the work
that’s already being done in the OpenSource world and how
GitHub can support and promote that.

Timothy
Lord: GitHub started obviously with Git, talk a little bit about
the progression of going from a particular organization tool to
having how many repos right now?

Chris
Kelly: We have about 18 million public repos currently and we’ve
got 6 million active users with accounts, so it’s gotten pretty
big. So Git is what, 10 years old next year and so we started with
that. It was just – the founders were really are getting
involved with Git and needed a solution for solving like sending
patches around via email problem, which was kind of a nightmare and
so started building GitHub for themselves and that’s how the
company has built itself all the way up for the last six years is
building the tools to solve the problems that we have and we are all
software developers and so it’s grown that way.

Timothy
Lord: And it’s not like there is a lot of advertising that
goes around saying to use GitHub; GitHub has grown pretty
organically?

Chris
Kelly: Yeah, so a lot of it has to do with our outreach. Being at
conferences, meeting people, and really understanding what their
problems are and really just being supportive of the community and
then I think that’s the best way to really engage with any kind
of audience, any company that’s interested in engaging with the
developers is go be developers and go be part of the community. You
can’t sell to that audience, you can just be a part of that
audience and that really works.

Timothy
Lord: Talk about some of the big projects that are on GitHub
right now and what sort of scope, we’ve got one aspect of the
scope of the entire site is number of users, but talk about some
projects and how many commits you see happening?

Chris
Kelly: Oh, I’d have to look at some graphs for number of
commits. But we have really large projects coming on to GitHub all
the time. Microsoft just put Typesafe on to GitHub recently. We’ve
got the Rails project, is one of a classic example that the number of
commits spiked the second I think Rail moved onto GitHub and started
doing the development cycle. So we’re finding that a lot of
open source projects, very large ones are moving under GitHub and
seeing a lot of adoption and engagement from the community because we
think we make it so much easier to both communicate about the project
as well as contribute back to it.

Timothy
Lord: Talking about the actual development because obviously
people use GitHub as their own tool for developing software of their
own. What’s the development work like for the software that
runs GitHub?

Chris
Kelly: So we used GitHub to do everything basically. So it
manages all components of the way we work, so between GitHub itself
and our open source chat system Hubot that sits on top of Campfire
and Slack and HipChat. We can do all things you have in the very open
and so that’s what we built GitHub for, is to try to change
companies to start working more and more open and so we do it in the
open, every project and every product feature gets talked about
really publicly and everyone can contribute to that conversation.
Everything that happens in our office, the events we put on, all
happen in GitHub repos. The planning of this conference and showing
up here is done in the GitHub repo. We do literally everything,
GitHub repos with issues and port requests, because we think it’s
the right way to work and so we’re really kind of stressing the
way GitHub can function by doing that and then going on to the world
and talking to other companies and that want to change the way their
development cycles go and so that’s what we really promote.

Timothy
Lord: Now can people build their own GitHub, if somebody calls
from a large company and says we want to have our own install?

Chris
Kelly: Yeah, so GitHub has two products. We have GitHub.com which
most people are familiar with and we have both open source projects
and then a type of repos, large organizations use GitHub.com. But if
you have any sort of compliance requirements that you want me to go
through or need some security concerns, you can have GitHub itself
inside your own internal using GitHub Enterprise. So that’s one
of our major products. Really excited about like it’s
advancement, it’s basically everything at GitHub.com is wrapped
up in a VM and put into your own firewall, so developers can have
that familiarity but also with the security of putting it behind a
firewall.

Timothy
Lord: It’s interesting that the ratio of users to projects
is pretty extreme, talk about that, with some kinds of development
you would actually think there would be more users than projects and
now it’s the other way.

Chris
Kelly: Yeah. So it depends on any number of scenarios, like Node
is a very repo heavy community. They have lots of very small modules
and so they all have individual repos, so one person could have 50
different repos all for their just Node ecosystem. But other
communities, say the .NET and Java communities are working one single
repo with many people contributing to those things. So, over the
balance of things, you end up with what, three repos per active user,
and people spin up repos all the time for just random projects, they
want to experiment, they do forks, it just depends on whatever they
want to work on. So I think the experimentation and the play that we
allow with the open source repos and the fact that we give them away,
really helps people kind of experiment and try it out long before
they have to like

Timothy
Lord: Anyone can clone and start one?

Chris
Kelly: Yep, anyone can clone, mess with it, break it and see how
it goes, and really get involved in the open source community very
early, very easily.

Timothy
Lord: What are the languages used by users, how does it break
down, what are the most popular languages that we see being used by
developers?

Chris
Kelly: Yeah, on GitHub it marries with what the broader analyst
industry will say, so JavaScript is the number one language on
GitHub, a lot of that has to do with Node plus JavaScript is in many
web applications, but beyond that we have – the Ruby community
is very strong, Java is very strong, .NET is very strong and then you
have everything all the way down to things in C and Go, that’s
up and comer, so we see the broad trends of the industry playing out
basically exactly the same with almost no change on GitHub. So people
that are building things for their companies in these languages are
building the same things in open source and we can see those as well,
so.

Timothy
Lord: Now, one thing, there are sites, SourceForge being one, but
others too that are about more of the distribution of software,
distinguish a little bit if you’re making a piece of software
in GitHub, what things you might use in other’s company for
service wise and what things can GitHub do that weren’t
available in that same way five, ten years ago.

Chris
Kelly: Yeah, so GitHub is really about we focus on the
collaborational code and that’s about writing the software and
getting it done. Beyond that things that we don’t do are like
your Ci systems. So you might be using something like Travis or
Circle Ci. So that when you push the new code, it will automatically
run on a build system and see if tests are passing and then allow
commits beyond that. We don’t focus as much on distribution,
like you can use GitHub as a distribution mechanism for your
libraries but we really want to encourage people to do the actual
work and the actual software development on GitHub because of the
openness and that promotes versus using it for ticketing systems and
bug tracking systems GitHub issues is a great flexible way to solve a
lot of that problem, so, yeah.

Timothy
Lord: And if someone is using another development system but they
want to move to GitHub, is that a simple process?

Chris
Kelly: Yeah, so for SVN projects, for example, we have a one
button like importer for getting SVN projects into GitHub, in fact
every GitHub repo is a Git repo and an SVN repo, so if you’re
trying to transition a team over to using Git, they can start by
using GitHub and using SVN commands and we have a bridge that maps
all of that over to Git, and then you can slowly get them over into
the Git workflow. So it’s simple as it can possibly be. And we
work on importing lots from all kinds of other source control systems
with all our teams. We have a training team and a services team that
really helps and our support team really helps and get anybody what
wants to get on GitHub as smooth as possible.

Timothy
Lord: And before we started the camera, I mentioned I kind of
wanted to use this as a state of the GitHub.

Chris
Kelly: Yeah.

Timothy
Lord: Can you talk about any other statistics that people might
find interesting about the growth that you’re experiencing, I
mean you are up to getting close to 20 million projects right now?

Chris
Kelly: Yeah, so we’re really excited about what’s
happening in the large open source projects. GitHub started as a very
small community driven projects where anybody like myself can just
spin up a little gem. I am a Rubyist by trade, I can spin up a gem
and get it on there and now we’re seeing large open source
projects moving over to GitHub and really excited about what that
means and that we’re getting more and more developers adopted
into it. They are getting – if something, let’s say, the
Linux Kernel ever happens to move over to GitHub if we get lucky one
day to have that, like the number of contributors to the Linux
Kernel, the number of contributors to any of those large projects,
can really expand that into other companies and that’s our
goal. It’s not just to change the open source world, but to
make businesses and software developers inside of companies function
like the open source world where the flexibility and like the tools
that you are used to using are available inside your company and
that’s what we’re really excited about. So companies like
Google, Oracle, Twitter, all of them have kernel developers. Imagine
if we got the Linux Kernel on to GitHub, how many more people would
be using GitHub inside of their companies, other development teams
will be using GitHub, and that’s really exciting.

Chris Kelly: Yes, so you know, I do all of our outreach work. So, it’s us going out into the world, talking to people and getting them involved in their communities and really trying to amplify the work that’s already being done in the OpenSource world and how GitHub can support and promote that.

Timothy Lord: GitHub started obviously with Git, talk a little bit about the progression of going from a particular organization tool to having how many repos right now?

Chris Kelly: We have about 18 million public repos currently and we’ve got 6 million active users with accounts, so it’s gotten pretty big. So Git is what, 10 years old next year and so we started with that. It was just – the founders were really are getting involved with Git and needed a solution for solving like sending patches around via email problem, which was kind of a nightmare and so started building GitHub for themselves and that’s how the company has built itself all the way up for the last six years is building the tools to solve the problems that we have and we are all software developers and so it’s grown that way.

Timothy Lord: And it’s not like there is a lot of advertising that goes around saying to use GitHub; GitHub has grown pretty organically?

Chris Kelly: Yeah, so a lot of it has to do with our outreach. Being at conferences, meeting people, and really understanding what their problems are and really just being supportive of the community and then I think that’s the best way to really engage with any kind of audience, any company that’s interested in engaging with the developers is go be developers and go be part of the community. You can’t sell to that audience, you can just be a part of that audience and that really works.

Timothy Lord: Talk about some of the big projects that are on GitHub right now and what sort of scope, we’ve got one aspect of the scope of the entire site is number of users, but talk about some projects and how many commits you see happening?

Chris Kelly: Oh, I’d have to look at some graphs for number of commits. But we have really large projects coming on to GitHub all the time. Microsoft just put Typesafe on to GitHub recently. We’ve got the Rails project, is one of a classic example that the number of commits spiked the second I think Rail moved onto GitHub and started doing the development cycle. So we’re finding that a lot of open source projects, very large ones are moving under GitHub and seeing a lot of adoption and engagement from the community because we think we make it so much easier to both communicate about the project as well as contribute back to it.

Timothy Lord: Talking about the actual development because obviously people use GitHub as their own tool for developing software of their own. What’s the development work like for the software that runs GitHub?

Chris Kelly: So we used GitHub to do everything basically. So it manages all components of the way we work, so between GitHub itself and our open source chat system Hubot that sits on top of Campfire and Slack and HipChat. We can do all things you have in the very open and so that’s what we built GitHub for, is to try to change companies to start working more and more open and so we do it in the open, every project and every product feature gets talked about really publicly and everyone can contribute to that conversation. Everything that happens in our office, the events we put on, all happen in GitHub repos. The planning of this conference and showing up here is done in the GitHub repo. We do literally everything, GitHub repos with issues and port requests, because we think it’s the right way to work and so we’re really kind of stressing the way GitHub can function by doing that and then going on to the world and talking to other companies and that want to change the way their development cycles go and so that’s wha

Not all of the code on GitHub is open source, but the majority is -- handy, when that means an account is free as in beer, too.

I'm not privy to any details of GitHub's finances or business model, but most likely it's a good thing that there are non-open-source projects using GitHub, because that's probably what's paying for the free open source use. I've recommended to several clients developing proprietary software the use of GitHub rather than running their own in-house repositories, because the interface is easier for them to use and they don't need as much in-house expertise to manage things. Because Git is distributed, they could of course do both, or easily transition away from GitHub later, and that's a selling point.

Not all of the code on GitHub is open source, but the majority is -- handy, when that means an account is free as in beer, too.

I'm not privy to any details of GitHub's finances or business model, but most likely it's a good thing that there are non-open-source projects using GitHub, because that's probably what's paying for the free open source use. I've recommended to several clients developing proprietary software the use of GitHub rather than running their own in-house repositories, because the interface is easier for them to use and they don't need as much in-house expertise to manage things. Because Git is distributed, they could of course do both, or easily transition away from GitHub later, and that's a selling point.

Wasn't the whole point of git to not have central servers and such? That you could use a directory or any other source as a repo instead of centralized server repos.

No, it was that any of the clones would have the full version history of the entire source tree. You still want a primary repo from which you make your releases, but all the developers can have a copy of the whole thing. They can also make changes to their local clones when offline, then merge all the changes later. Anyone can branch from any point, and the whole thing works on snapshots of the repo instead of sets of incremental changes to each file.

A central "master server" is stilll useful from an organizational point of view.

The point behind git is that it's not special for any reason other than organization. In case of a problem (technical, political, maintainer disappears, whatever), there's no technical factor preventing you from failing over to another one very easily.

In all technical respects, the repository on my laptop is just as good as the central server. I don't have to be on line to examine history or make commits.

GitHub has become a facebook.com alternative for the 1337 haxxor set and alot of people use it for free hosting to put up a personal site

that's my experience anyway...the idea is great, a website that hosts code for coding projects...but the whole abstraction layer of calling it a 'Git' still irks me...it's not a 'git' it's a computer file that contains code...

abstract wacky names are antagonistic to rational thought...I'm **right** for expecting the name of thing to somehow relate to what it does...especially when a well understood nomenclature exists

that criticism, of the hype/nonsense language which causes users confusion, is valid...you can disagree, and hell even validly criticize my language usage, but whether or not your dumb business uses it has no bearing on my criticism of the name/function/marketing GitHub uses

GitHub has become a facebook.com alternative for the 1337 haxxor set and alot of people use it for free hosting to put up a personal site

that's my experience anyway...the idea is great, a website that hosts code for coding projects...but the whole abstraction layer of calling it a 'Git' still irks me...it's not a 'git' it's a computer file that contains code...

what's software? is it soft? does it "ware" out. what's a program? am i watching TV? you're just bitching because you don't like the name, it's just as clear as the naming process for a billion other concepts.
i hate the idea that you're down on people for hosting their person projects on there, what's your problem with people having a good place to host their stuff? i use projects hosted on there pretty much every day, do you work at sourceforge or something?