Wayland is the new display server for the Unix-like platforms. The development started around 5 years ago in 2012 in order to create a modern alternative for the 30-years-old X display server which doesn’t inherit its issues. The results are “good” so far. GNOME and KDE teams are working on completing their implementations of Wayland and fixing issues with the new server.
Many companies are working on developing Wayland. Beside a lot of individuals. But what’s the percentage for each one of them? Who’s contributing more to the code than the other companies? That’s what we try to find out in this article.
We first went to the IRC channel to ask about if any data exist about this topic. The answer was no. But they pointed us into way of getting this data through grabbing the history of commits in the Git repositories and looking who’s contributing more.
So we took it to the next level and we created a nice visualization for the data we got using a Python script. Which uses the famous Pandas module to do its job. Those were the results.
Who’s Developing Wayland
Wayland code (and its other assets) consists of 7 different repositories: Wayland server, Wayland protocols, Wayland Build Tools, Wayland Java, Wayland Web, Weston and libinput. You can check the Git repositories from here.
We created a script which downloads all those Git repositories, extracts the commits history for each one, creates a dataframe from it and finally plots it in a nice chart. We cleaned the data by combining similar domain names.
Kristian Hogsberg is the main developer for the Wayland project. Users who are committing with gmail.com or similar mail services were filtered manually to their real employer (if found). This took us tens of hours of searching.
After running our Python script, this was the percentage chart for the main Wayland repository:
35% of the number of commits are done by Wayland founder. Followed by Red Hat with around 20%. Different people coming at third place and Samsung coming forth.
This is the detailed number of commits for each entity:
For the Wayland Protocols, this is the distribution of commits:
Which shows that more than 50% of the commits are committed by Red Hat staff. Followed by the folks at Human Oriented and Collabora respectively. Samsung coming forth again with 13%.
This is the detailed number of commits for Wayland Protocols:
Wayland Build Tools percentage is as follows:
Clearly, Samsung developers are doing most of the work in this small project. This is the number of commits for each one:
This is Weston. The original compositor developed by Wayland developers:
30% of the code is written by the project founder. Followed by around 20% for Collabora. And different developers coming in the third place. Intel coming forth with 12%.
The number of commits is as follows:
The Wayland web pages are written by:
With the following number of commits:
Java bindings for Wayland clients are mainly created by only 1 company. It’s an abandoned repository (no new commits since 2015):
Finally, we have the libinput library. Which is responsible about events and input devices handling:
More than 90% of the code is written by Red Hat. Followed by the project founder, Intel and different other developers respectively. This is the detailed number of commits:
The Python Code
We have created a Github repository called “FOSS Data” which includes the scripts we used. Beside the raw version of it which allows you to run the same process on any Git repository. You can go ahead and use it on the Git repositories you want to find some general stats about. It’s released under GPL license.
Many famous Linux and open source companies are contributing to Wayland. Red Hat seems to be taking the lead followed by Intel and Collabora. A lot of other developers are also sending commits to Wayland. Note that this is an analysis only for the main Wayland repositories. Other Wayland implementations like GNOME and KDE were not observed.
Update @ 10 June, 2017: The first version of this article depended on the assumption that all developers are using their work email addresses when submitting their commits to the public Git repositories. Unfortunately, this assumption turned out to be largely wrong. Since then, we have used a new methodology where we searched manually for most active email addresses and assigned them to their real employer.
We continued doing this process until we’ve assigned all email addresses which could make a difference in results to their real employer. The article now contains the updated code, figures and graphs.