Open Source is amazing. You can learn a lot about a programming language, a technology or a workflow thanks to Open Source. How? It is easy! You can search one project an see how the people is actually working: the code reviews, pull requests, code conventions, how the modules are separated… You can say that you follow a methodology but if your project is Open Source, we can see if you are telling us the truth.
And this is great but, where is this people? Probably they are so far. For instance: I am from Spain and the most part of the projects I follow were created by people or companies in USA. If I contact with the developers, I can exchange a couple of emails with them. Or probably I can have a meeting with them. If I start to contribute to a project, could join to the “project’s family”. And I can share my impressions and knowledge in a conversation. But we know that this is not the same than to be “face to face”. For this reason, the local developer communities are so important. Because you can talk directly with other people with your same interests.
Communities are important for me: I have been organizing hackathons, conferences, codelabs and meetups for 4 years. I learnt a lot from “The Community”. Probably your story is similar to the mine. But… how much do we know about our local communities? I mean: do you really know what is working on the people in your city? Projects? Programming languages? Probably not! And this matters. I am totally sure that you don’t meet the most part of the developers of your city.
I developed a library (soon, I will publish the complete story about it) to study the community of a given location. Actually, you can do a lot of things with it. This library is called GitHubCity . Using this library, I am getting all the users from all the Spanish provinces and sorting them by number of public contributions. But you can get all the GitHub users from your city only to know how many you are… or to find speakers in your city. Or to look for somebody to create a new developer community.
In a previous version of the library (which was not developed by me), some people got interesting data about some Spanish cities. For example: we measured the relation between number of developers/number of residents in a location or how the number of developers has changed through time. All this is described in this paper: “Measuring the local GitHub developer community”.
So, what is the goal of this library? As I said, you can use this library for whatever. We decided to “gamify” the communities to promote Open Source. And it works because everybody wants to be the first in the rankings. The rankings increased the interest of the people in Open Source: now, it was funnier to contribute and, as I said, there is a prize. In addition, as I show you, we studied the communities.
We noticed that some recruiters from different companies are checking the rankings. Why? It is an easy way to find programmers and check their skills. And, if you are developing Open Source, it is because you are somebody motivated to learn.
I will write more posts about the rankings: the complete story, how the library works, future projects and more!