How Rust is being developed
Gonzalez-Barahona, Jesus M.
The Rust project has become a large software development project. To betterunderstand how it is being developed, a software development analyticsdashboard has been deployed for it. This dashboard tracks most of the publicdata about Rust development, and allows to visualize, drill down andunderstand that data. The talk will present this dashboard, and how to use itto learn about the details of Rust development processes and community. Itwill also present some interesting data obtained from it. The Rust software development dashboard visualizes data obtained from somesystems used to support Rust development: git, GitHub, StackOverflow... Thedata related to Rust is retrieved from them, stored, organized an massaged ina database, and later visualized in the dashboard. The dashboard allows notonly to browse the data, but also to drill down and play with it. This way,any person interested in how Rust is being developed can have both an generaloverview, or very detailed views of the community and processes involved. Thedashboard permits to track activity (in commits, issues, pull requests,questions and answers, etc.), actors (who is creating the code, who is fixingbugs, who is answering questions), and processes (hot long does it take toclose issues, or to accept pull requests). The Rust Development Dashbard has been deployed using GriomoireLab, ancomplete FOSS system for retrieving data from software developmentrepositories, storing it, and producing different kinds of analytics,dashboards and reports. The talk will present the different kind of information that can be obtainedfrom the dashboard, and how to interact with it for finding any detail ofinterest. Several specific aspects of Rust development will be presented aswell, so that people attending may expect to finish the talk with a betterunderstanding of how Rust is being developed. The talk will also provide hintson how to exploit the data behind the dashboard to obtain specificinformation.
 The speaker is......Susguan Zales, and he's the co-founder of Bitagia. And I'm sorry, right? Yeah, okay. I catch the name, the other one is. And which is a software development analytics company, specializing in analytics, analyzing of free and open source software projects. He also is a teacher and researcher at the Universitat Réjuan Carlos in Spain. In the context of Libre Software Research Group. His interests include the study of communities of software development with a focus on quantitative and empirical studies. He enjoys taking photos of the coffee he drinks around the world. Welcome, Jesus. Thank you very much. Let me use this one. I'm always in the... Can you hear me? Can you hear me? Okay, thank you. Well, first of all, thanks for staying here. I'm going to talk a little bit about the rest, that I'm obviously not a rest developer. I hope to put some context into this before starting talking. Like, a few years ago, we started to talk with the Mozilla Foundation about how to put analytics to track the different projects that Mozilla is having. We started to do that during the last autumn. And right now we're working with some people in the community team to basically try to menu what's happening in the different communities around Mozilla. One of those is rest. And like two months ago, it was decided that the rest dashboard goes public. The rest dashboard is exactly what I'm going to present here today. And it basically tracks what the people around rest is doing from certain points of view. So it's not only the development, but it's mostly the development. The area is quite simple. Since most of the activity is public, let's track what's happening in that public activity data. And let's produce some information with it so that the people interested in the project can know what's happening and can react to what's happening. So that the communities, let's say, more of a safer world of what's happening in it. Because when the project is slashed, usually just a few people know what's happening, but the rest maybe don't know. So that's a real vision. In fact, this is work in progress. And I'm going to skip the first part because you see us talking a bit about me and something else. That's not important. Let's go directly to the dashboard. So first of all, you can see that that would be right if you want. You have the URL, rest, me, nurse, lady, Dr. Mojila, the community. And it doesn't really work on the phone. So try to do that with your laptop if you can or with the tablet. And the way is to show information from different data sources. In this case, on the top you have Git, then you have to start with the flow, which is a part of checking what the community is doing around rest. Then you have Git-Head issues, Git-Head pull records, and there is some information from this course as well. Each of the information there corresponds to one data source if you look by roles. If you look by columns, on the first one you have some simple metrics summarizing. On the next, you have some metrics and motion activity like number of committees, or number of pull records, or stuff like that. And then you have people, number of people, or phone committees, number of people submitting issues, or stuff like that. Here you have a very rough try to have affiliation for people. It's not really also any back report that will be telling you later how you can submit it, because many people are probably not well affiliated yet. But the area is to show how many people are working for Mojila, how many people are working for your company, and how many people are working as independent in the community. And you can filter by time. If you go there on the top right, there is time, but the fault is like two years ago, I guess, that you can focus on the latest activity like the three months. And you can select any period of time and so on. Everything needs to be enabled. So you can pick almost everything. You can decide things. You can move a charter and stuff like that. And you can say, if you go there after doing any kind of filtering or something, you can move to the top right and so on. And I'm going to go to the real thing. My connection is a bit messy, so I'm not sure if I'm going to be able to do this well. But, well, and where there is... Okay, so go. We'll see a bit about Git. So we have that menu on the top where you have the different data sources. And for it, the data source you have, sorry, a panel, and in some cases you have more than one. As I said, everything is set to an error, so you can click and filter. So for instance, this is a total activity for us. And by the way, you can notice how Git is different from the one in the main page. That's the case of lots. If you remove the filter and lots, you can see now that the activity in the last time is a bit higher. And I also have to say that this is tracking the activity in the world of the story, which means that those commits that we didn't need to reposition yet are not there. But maybe they're having a date from, let's say, the past. Because we're tracking half the time. So that's me, but if the commit was done, like, I don't know, one month ago, and maybe it's going to end in the repository next month, it's still not there. So that's why this trend at the end of the chart is somewhat usual. In many cases, you can track, as I said, people like Anthony, for instance, if you're interested in who are those who are working for Mozilla, you can just add the filter and now you are seeing activity by people about Mozilla, as I said, assuming that the data you're not with is correct. You may notice those filters over there, the red and green boxes. You can break them down and if you look, I'm not going to enter into the retails, but you can see how you can activate them, and they did that and stuff like that. So that, for instance, you can see how the people not working for Mozilla are performing in the different data sources. You can as well go down and see more information like the number, the name of the people and their contributions, the organization, number of organizations over time, and you can also go and check the different repositories that you have. And you can, for instance, filter for one of those. So I'm going to filter in the last repository and this is now the main activity for the last repository. By the way, this is the time zones of the people working in this repository. So basically this is California and the East Coast and the West Coast and the South East Coast and South America. This is Europe and Africa. This is Asia and this is Australia and the Netherlands. The most interesting information from my point of view is from the GitHub staff, where you have how you're performing and doing things like giving back reports and stuff like that. We don't have separate analysis for the different kinds of issues yet, but for now you can see how the number of issues are coming at a time and the different colors are related to whether they are still open or on the coast. So you can basically can see, in this case, let's say, coast is a pin-bun, so that's where the windows are. So you can see the number of times that you still have closed from the path and you can see how many people are submitting back over time. Again, you can click on many things like filter in the repository and stuff like that. And maybe the most important, you can come here and see who is submitting back issues by affiliation, by the candidate. You can again look at the number of the names of the people doing that. If you're interested in performance, how are you really dealing with closing tickets? Some natural trouble are important. How long does it take to close 50% of the tickets, for instance? And you can see that in the issues timing. Here you have again all the other stories, but on the bottom part, you start to have some information about how long does it take to close the tickets submitted by this person, for instance. These are days. So you can see for some of them it's 100 and something days, for some of them are 20 days and so on. And probably the most interesting way, of course, you can actually go directly to the tickets. Those are the earliest, and those are the earliest. So for instance, this ticket here has been sitting in the repository for about 7,000 days, like a couple of years. And you can look at them, and it's also an issue of going there and see why this ticket is still open. So maybe there's a reason for that to get the weapon, or maybe you can somehow assign you to somebody and close it or something. And in the right, you can see some charts related to, as I said, the median time in the closing bags. So this is how long does it take to close 50% of the bags? And the last is in days. So you can see that you have the spikes of around 150 days, but right now it's much closer. That's the month when the bag was reported or when the issue was opened. So that means that for all the tickets, the time is smaller than for certain periods in the history. This is the same for 80%. I mean, 80% just at the beginning. That means that a ticket cannot be seated in the repository for longer than the time since it was opened. So that means for 80% of the tickets, most of them are, I mean, the remaining 20% are still there. So for all the months, you have probably more than 20% of the tickets are still open. That's why you have this sharp line over there. And again, you have some more issues, weapons and clothes. And you can, very well, filter, maybe for instance, only for open tickets, which is usually the most interesting view. Because clothes is closed, but you can see the same data for those tickets that are still alive. And you can see that in that case, you are still serving in the creation in the live tickets. You can see the same for two records. I'm not going to enter into details, just to show you the general information, which is for a team to ticket. But when you're talking about two records, you can also see the diamonds. And the diamonds is basically the time from the moment somebody submits a box to the moment somebody gets information, sorry, gets the parts landed in a gate. So that's a really worth metric when you are trying to track developers, because if they are submitting their submitting code and the code is taken to be accepted, usually they give up. This is the battle. The battle is basically the staff that still needs to be done, so the things that are alive, from the point of view of our issues and from the point of view of two records. So again, you can see some numbers, like how many times we are dealing with this, and this is the structure by time of these issues. So these are three issues still open by time. So this is, for instance, 2015. So for the last two years history, there were certain numbers around 30 to 50 issues open. There are three, three records that were different. So this is the back lock and the key. You can see the comparison because in pink you have issues and in green you have three records. And you can see now for green records, most of them are already closed. So you only have some green spots in some parts. You can filter that and see exactly the structure of the two records. And you can see how it is much greater than through issues. So that means that you have some two records which are the recent. Most of them around this time are closed and you have some of them that are the ancient, like two years old, but just a little of them. So the structure of how people are closing two records or dealing with two records and dealing with issues is very different in this story. And another interesting view is, as I said, the second floor because the structure of the box about the outreach of the players. So how many people are asking about this for you? It's a big indicator in general of how many people are interested in this for you from a lot of people to view. And the thing here is also interesting. If you look only at questions, which is just by filtering here, you can notice how the pension was going up during the 2015 at the beginning, went down and in the beginning of 2016, and then it's going up again, maybe a bit slower, but more consistently. So this trend is basically, this trend is probably very likely, the co-religion to the interest of the developing community in the language. At least from the point of view of when they are willing to make questions and so on. Of course, with time, there are more questions answered, so you have also to discount that. So in many cases, you have not questions because people are really happy answers in the second floor. And with respect to this course, you can see basically a structure of how discussions are happening. Since our discussions were started to be used to not that long ago, we have this very quick training. So this very quick option, still it's difficult to know whether this is really a trend or this is just because people are starting to use the forums now. You have of course, again, the specific players who are talking in those trades and all of that. And with respect to the last week, I guess this is also going to skip a bunch of slides, which basically we're dealing with all of these. And very briefly, I'm going to talk about the software doing this. All of this is, of course, which are here. And the architecture is quite simple and gives a lot of opportunities for developers to come and script and get data. We basically go to the stories with the tool called personal, the information from it and the story of the inelastic church. Then we use the model basically to produce the Kibana indexes because the code that we are using for the dashboard is Kibana. And all of this also within this Kibana. Those indexes that Kibana uses can be also created with a language, with Python for instance. And that means that this will seem to get the script to do specific things in the data and get out interesting metrics that maybe you are interested in. Or things like my activity in the Ripple Studio at the time, or which are my various contributions or whatever. So there's a manual for using the algorithm and the people moving with this in the wheeler, which is basically Henry, is very interesting in finding some people who could be interested in looking at metrics and providing any kind of input. Or trying to learn how to extract information from the database and so on. So for instance, this is the tool, this is the backend supported. And this is a very simple Python code which is given the activity number of commits, removing large commits from a certain date by code. So you can see that it's not work of science. It's just getting a couple of queries and this is a standard elastic search. So there's nothing specific for all the tools. The main lesson here is that there's a lot of data in the database with what the rest developers doing. If you're interested in getting any kind of idea of what's happening, I'll try to find reasons for things. This way you see the goal there and look for the data. And this may lead you hopefully to more interesting discussions because you can discuss some data and not on the pin. And just to finish, you can also check how many of you want, which is basically the same as that, but for analysis, any GitHub organization. So if you want, just a media organization that's free and you get a free-dose work with all the organizations, more simple than the ones who asked, but usually interesting enough for giving it a drive. So it's just Python.io. And enjoy. The idea is, go visit there. If you have any kind of comment, back report, suggestion, go over. We're happy to get it in the participation metrics of the repository for GitHub, for Mozilla. And if you want to learn more about MoLab, you have MoLab.io. You can also go to the NICE training manual where you can learn about the thing. And that's it from my point of view. So any questions or comments or anything? Do you need the microphone? Okay, please. Can you say a bit more about how you do the essentially, in a way, a short presentation? Yeah. Basically, the question is about how we link our persons to organizations, right? We do it in two steps. First of all, we try to find all the entities for the same person, which basically means trying to match the new policies and all the identifiers, get the identifiers and stuff like that. And then we try to affiliate them. For affiliate, and then we have some logistics like using the email address. If you have one in Mozilla, email address is probably your people in Mozilla, for instance. And then we can do it manually too. There's a file where basically you find, you try to define for every person the different periods of affiliation to them. And these files are going to be saved in the terminal or in the terminal you can also update, that's not...
 The speaker is... ...Susguan Zales, and he's the co-founder of Bitagia.  And I'm sorry, right?  Yeah, okay.  I catch the name, the other one is.  And which is a software development analytics company,  specializing in analytics, analyzing of free and open source software projects.  He also is a teacher and researcher at the Universitat Réjuan Carlos in Spain.  In the context of Libre Software Research Group.  His interests include the study of communities of software development  with a focus on quantitative and empirical studies.  He enjoys taking photos of the coffee he drinks around the world.  Welcome, Jesus.  Thank you very much.  Let me use this one.  I'm always in the...  Can you hear me?  Can you hear me?  Okay, thank you.  Well, first of all, thanks for staying here.  I'm going to talk a little bit about the rest,  that I'm obviously not a rest developer.  I hope to put some context into this before starting talking.  Like, a few years ago, we started to talk with the Mozilla Foundation  about how to put analytics to track the different projects that Mozilla is having.  We started to do that during the last autumn.  And right now we're working with some people in the community team  to basically try to menu what's happening in the different communities around Mozilla.  One of those is rest.  And like two months ago, it was decided that the rest dashboard goes public.  The rest dashboard is exactly what I'm going to present here today.  And it basically tracks what the people around rest is doing  from certain points of view.  So it's not only the development, but it's mostly the development.  The area is quite simple.  Since most of the activity is public, let's track what's happening in that public activity data.  And let's produce some information with it  so that the people interested in the project can know what's happening  and can react to what's happening.  So that the communities, let's say, more of a safer world of what's happening in it.  Because when the project is slashed, usually just a few people know what's happening,  but the rest maybe don't know.  So that's a real vision.  In fact, this is work in progress.  And I'm going to skip the first part because you see us talking a bit about me and something else.  That's not important.  Let's go directly to the dashboard.  So first of all, you can see that that would be right if you want.  You have the URL, rest, me, nurse, lady, Dr. Mojila, the community.  And it doesn't really work on the phone.  So try to do that with your laptop if you can or with the tablet.  And the way is to show information from different data sources.  In this case, on the top you have Git, then you have to start with the flow,  which is a part of checking what the community is doing around rest.  Then you have Git-Head issues, Git-Head pull records, and there is some information from this course as well.  Each of the information there corresponds to one data source if you look by roles.  If you look by columns, on the first one you have some simple metrics summarizing.  On the next, you have some metrics and motion activity like number of committees,  or number of pull records, or stuff like that.  And then you have people, number of people, or phone committees, number of people submitting issues, or stuff like that.  Here you have a very rough try to have affiliation for people.  It's not really also any back report that will be telling you later how you can submit it,  because many people are probably not well affiliated yet.  But the area is to show how many people are working for Mojila, how many people are working for your company,  and how many people are working as independent in the community.  And you can filter by time.  If you go there on the top right, there is time, but the fault is like two years ago, I guess,  that you can focus on the latest activity like the three months.  And you can select any period of time and so on.  Everything needs to be enabled.  So you can pick almost everything.  You can decide things.  You can move a charter and stuff like that.  And you can say, if you go there after doing any kind of filtering or something,  you can move to the top right and so on.  And I'm going to go to the real thing.  My connection is a bit messy, so I'm not sure if I'm going to be able to do this well.  But, well, and where there is...  Okay, so go.  We'll see a bit about Git.  So we have that menu on the top where you have the different data sources.  And for it, the data source you have, sorry, a panel, and in some cases you have more than one.  As I said, everything is set to an error, so you can click and filter.  So for instance, this is a total activity for us.  And by the way, you can notice how Git is different from the one in the main page.  That's the case of lots.  If you remove the filter and lots, you can see now that the activity in the last time is a bit higher.  And I also have to say that this is tracking the activity in the world of the story,  which means that those commits that we didn't need to reposition yet are not there.  But maybe they're having a date from, let's say, the past.  Because we're tracking half the time.  So that's me, but if the commit was done, like, I don't know, one month ago,  and maybe it's going to end in the repository next month, it's still not there.  So that's why this trend at the end of the chart is somewhat usual.  In many cases, you can track, as I said, people like Anthony, for instance,  if you're interested in who are those who are working for Mozilla,  you can just add the filter and now you are seeing activity by people about Mozilla,  as I said, assuming that the data you're not with is correct.  You may notice those filters over there, the red and green boxes.  You can break them down and if you look, I'm not going to enter into the retails,  but you can see how you can activate them, and they did that and stuff like that.  So that, for instance, you can see how the people not working for Mozilla  are performing in the different data sources.  You can as well go down and see more information like the number,  the name of the people and their contributions, the organization,  number of organizations over time, and you can also go and check the different  repositories that you have.  And you can, for instance, filter for one of those.  So I'm going to filter in the last repository and this is now the main  activity for the last repository.  By the way, this is the time zones of the people working in this repository.  So basically this is California and the East Coast and the West Coast and the South  East Coast and South America.  This is Europe and Africa.  This is Asia and this is Australia and the Netherlands.  The most interesting information from my point of view is from the GitHub staff,  where you have how you're performing and doing things like giving back reports  and stuff like that.  We don't have separate analysis for the different kinds of issues yet,  but for now you can see how the number of issues are coming at a time and the  different colors are related to whether they are still open or on the coast.  So you can basically can see, in this case, let's say,  coast is a pin-bun, so that's where the windows are.  So you can see the number of times that you still have closed from the path  and you can see how many people are submitting back over time.  Again, you can click on many things like filter in the repository and stuff like that.  And maybe the most important, you can come here and see who is submitting back  issues by affiliation, by the candidate.  You can again look at the number of the names of the people doing that.  If you're interested in performance, how are you really dealing with closing tickets?  Some natural trouble are important.  How long does it take to close 50% of the tickets, for instance?  And you can see that in the issues timing.  Here you have again all the other stories, but on the bottom part,  you start to have some information about how long does it take to close the tickets  submitted by this person, for instance.  These are days.  So you can see for some of them it's 100 and something days, for some of them are 20 days and so on.  And probably the most interesting way, of course, you can actually go directly to the tickets.  Those are the earliest, and those are the earliest.  So for instance, this ticket here has been sitting in the repository for about 7,000 days,  like a couple of years.  And you can look at them, and it's also an issue of going there and see why this ticket is still open.  So maybe there's a reason for that to get the weapon, or maybe you can somehow assign  you to somebody and close it or something.  And in the right, you can see some charts related to, as I said, the median time in the closing bags.  So this is how long does it take to close 50% of the bags?  And the last is in days.  So you can see that you have the spikes of around 150 days, but right now it's much closer.  That's the month when the bag was reported or when the issue was opened.  So that means that for all the tickets, the time is smaller than for certain periods in the history.  This is the same for 80%.  I mean, 80% just at the beginning.  That means that a ticket cannot be seated in the repository for longer than the time since it was opened.  So that means for 80% of the tickets, most of them are, I mean, the remaining 20% are still there.  So for all the months, you have probably more than 20% of the tickets are still open.  That's why you have this sharp line over there.  And again, you have some more issues, weapons and clothes.  And you can, very well, filter, maybe for instance, only for open tickets, which is usually the most interesting view.  Because clothes is closed, but you can see the same data for those tickets that are still alive.  And you can see that in that case, you are still serving in the creation in the live tickets.  You can see the same for two records.  I'm not going to enter into details, just to show you the general information, which is for a team to ticket.  But when you're talking about two records, you can also see the diamonds.  And the diamonds is basically the time from the moment somebody submits a box to the moment somebody gets information,  sorry, gets the parts landed in a gate.  So that's a really worth metric when you are trying to track developers,  because if they are submitting their submitting code and the code is taken to be accepted, usually they give up.  This is the battle.  The battle is basically the staff that still needs to be done, so the things that are alive, from the point of view of our issues and from the point of view of two records.  So again, you can see some numbers, like how many times we are dealing with this, and this is the structure by time of these issues.  So these are three issues still open by time.  So this is, for instance, 2015.  So for the last two years history, there were certain numbers around 30 to 50 issues open.  There are three, three records that were different.  So this is the back lock and the key.  You can see the comparison because in pink you have issues and in green you have three records.  And you can see now for green records, most of them are already closed.  So you only have some green spots in some parts.  You can filter that and see exactly the structure of the two records.  And you can see how it is much greater than through issues.  So that means that you have some two records which are the recent.  Most of them around this time are closed and you have some of them that are the ancient, like two years old, but just a little of them.  So the structure of how people are closing two records or dealing with two records and dealing with issues is very different in this story.  And another interesting view is, as I said, the second floor because the structure of the box about the outreach of the players.  So how many people are asking about this for you?  It's a big indicator in general of how many people are interested in this for you from a lot of people to view.  And the thing here is also interesting.  If you look only at questions, which is just by filtering here,  you can notice how the pension was going up during the 2015 at the beginning, went down and in the beginning of 2016,  and then it's going up again, maybe a bit slower, but more consistently.  So this trend is basically, this trend is probably very likely,  the co-religion to the interest of the developing community in the language.  At least from the point of view of when they are willing to make questions and so on.  Of course, with time, there are more questions answered, so you have also to discount that.  So in many cases, you have not questions because people are really happy answers in the second floor.  And with respect to this course, you can see basically a structure of how discussions are happening.  Since our discussions were started to be used to not that long ago, we have this very quick training.  So this very quick option, still it's difficult to know whether this is really a trend or this is just because people are starting to use the forums now.  You have of course, again, the specific players who are talking in those trades and all of that.  And with respect to the last week, I guess this is also going to skip a bunch of slides,  which basically we're dealing with all of these.  And very briefly, I'm going to talk about the software doing this. All of this is, of course, which are here.  And the architecture is quite simple and gives a lot of opportunities for developers to come and script and get data.  We basically go to the stories with the tool called personal, the information from it and the story of the inelastic church.  Then we use the model basically to produce the Kibana indexes because the code that we are using for the dashboard is Kibana.  And all of this also within this Kibana.  Those indexes that Kibana uses can be also created with a language, with Python for instance.  And that means that this will seem to get the script to do specific things in the data and get out interesting metrics that maybe you are interested in.  Or things like my activity in the Ripple Studio at the time, or which are my various contributions or whatever.  So there's a manual for using the algorithm and the people moving with this in the wheeler, which is basically Henry,  is very interesting in finding some people who could be interested in looking at metrics and providing any kind of input.  Or trying to learn how to extract information from the database and so on.  So for instance, this is the tool, this is the backend supported.  And this is a very simple Python code which is given the activity number of commits, removing large commits from a certain date by code.  So you can see that it's not work of science.  It's just getting a couple of queries and this is a standard elastic search.  So there's nothing specific for all the tools.  The main lesson here is that there's a lot of data in the database with what the rest developers doing.  If you're interested in getting any kind of idea of what's happening, I'll try to find reasons for things.  This way you see the goal there and look for the data.  And this may lead you hopefully to more interesting discussions because you can discuss some data and not on the pin.  And just to finish, you can also check how many of you want, which is basically the same as that, but for analysis, any GitHub organization.  So if you want, just a media organization that's free and you get a free-dose work with all the organizations,  more simple than the ones who asked, but usually interesting enough for giving it a drive.  So it's just Python.io.  And enjoy.  The idea is, go visit there.  If you have any kind of comment, back report, suggestion, go over.  We're happy to get it in the participation metrics of the repository for GitHub, for Mozilla.  And if you want to learn more about MoLab, you have MoLab.io.  You can also go to the NICE training manual where you can learn about the thing.  And that's it from my point of view.  So any questions or comments or anything?  Do you need the microphone?  Okay, please.  Can you say a bit more about how you do the essentially, in a way, a short presentation?  Yeah.  Basically, the question is about how we link our persons to organizations, right?  We do it in two steps.  First of all, we try to find all the entities for the same person,  which basically means trying to match the new policies and all the identifiers,  get the identifiers and stuff like that.  And then we try to affiliate them.  For affiliate, and then we have some logistics like using the email address.  If you have one in Mozilla, email address is probably your people in Mozilla, for instance.  And then we can do it manually too.  There's a file where basically you find, you try to define for every person the different periods of affiliation to them.  And these files are going to be saved in the terminal or in the terminal you can also update, that's not...
How_Rust_is_being_developed_The_Rust_development_dashboard_0_131.png How_Rust_is_being_developed_The_Rust_development_dashboard_132_515.png How_Rust_is_being_developed_The_Rust_development_dashboard_516_563.png How_Rust_is_being_developed_The_Rust_development_dashboard_564_1271.png How_Rust_is_being_developed_The_Rust_development_dashboard_1272_1427.png How_Rust_is_being_developed_The_Rust_development_dashboard_1428_1667.png How_Rust_is_being_developed_The_Rust_development_dashboard_1668_2099.png How_Rust_is_being_developed_The_Rust_development_dashboard_2100_2303.png How_Rust_is_being_developed_The_Rust_development_dashboard_2304_4163.png How_Rust_is_being_developed_The_Rust_development_dashboard_4164_4271.png How_Rust_is_being_developed_The_Rust_development_dashboard_4272_6467.png How_Rust_is_being_developed_The_Rust_development_dashboard_6468_9191.png How_Rust_is_being_developed_The_Rust_development_dashboard_9192_16115.png How_Rust_is_being_developed_The_Rust_development_dashboard_16116_17615.png How_Rust_is_being_developed_The_Rust_development_dashboard_17616_21479.png How_Rust_is_being_developed_The_Rust_development_dashboard_21480_21743.png How_Rust_is_being_developed_The_Rust_development_dashboard_21744_22907.png How_Rust_is_being_developed_The_Rust_development_dashboard_22908_24719.png How_Rust_is_being_developed_The_Rust_development_dashboard_24720_26063.png How_Rust_is_being_developed_The_Rust_development_dashboard_26064_26279.png How_Rust_is_being_developed_The_Rust_development_dashboard_26280_26327.png How_Rust_is_being_developed_The_Rust_development_dashboard_26328_26531.png How_Rust_is_being_developed_The_Rust_development_dashboard_26532_26603.png How_Rust_is_being_developed_The_Rust_development_dashboard_26604_26975.png How_Rust_is_being_developed_The_Rust_development_dashboard_26976_27059.png How_Rust_is_being_developed_The_Rust_development_dashboard_27060_27539.png How_Rust_is_being_developed_The_Rust_development_dashboard_27540_27655.png
The speaker is......Susguan Zales, and he's the co-founder of Bitagia. And I'm sorry, right? Yeah, okay. I catch the name, the other one is. And which is a software development analytics company, specializing in analytics, analyzing of free and open source software projects. He also is a teacher and researcher at the Universitat Réjuan Carlos in Spain. In the context of Libre Software Research Group. His interests include the study of communities of software development with a focus on quantitative and empirical studies. He enjoys taking photos of the coffee he drinks around the world. Welcome, Jesus. Thank you very much. Let me use this one. I'm always in the... Can you hear me? Can you hear me? Okay, thank you. Well, first of all, thanks for staying here. I'm going to talk a little bit about the rest, that I'm obviously not a rest developer. I hope to put some context into this before starting talking. Like, a few years ago, we started to talk with the Mozilla Foundation about how to put analytics to track the different projects that Mozilla is having. We started to do that during the last autumn. And right now we're working with some people in the community team to basically try to menu what's happening in the different communities around Mozilla. One of those is rest. And like two months ago, it was decided that the rest dashboard goes public. The rest dashboard is exactly what I'm going to present here today. And it basically tracks what the people around rest is doing from certain points of view. So it's not only the development, but it's mostly the development. The area is quite simple. Since most of the activity is public, let's track what's happening in that public activity data. And let's produce some information with it so that the people interested in the project can know what's happening and can react to what's happening. So that the communities, let's say, more of a safer world of what's happening in it. Because when the project is slashed, usually just a few people know what's happening, but the rest maybe don't know. So that's a real vision. In fact, this is work in progress. And I'm going to skip the first part because you see us talking a bit about me and something else. That's not important. Let's go directly to the dashboard. So first of all, you can see that that would be right if you want. You have the URL, rest, me, nurse, lady, Dr. Mojila, the community. And it doesn't really work on the phone. So try to do that with your laptop if you can or with the tablet. And the way is to show information from different data sources. In this case, on the top you have Git, then you have to start with the flow, which is a part of checking what the community is doing around rest. Then you have Git-Head issues, Git-Head pull records, and there is some information from this course as well. Each of the information there corresponds to one data source if you look by roles. If you look by columns, on the first one you have some simple metrics summarizing. On the next, you have some metrics and motion activity like number of committees, or number of pull records, or stuff like that. And then you have people, number of people, or phone committees, number of people submitting issues, or stuff like that. Here you have a very rough try to have affiliation for people. It's not really also any back report that will be telling you later how you can submit it, because many people are probably not well affiliated yet. But the area is to show how many people are working for Mojila, how many people are working for your company, and how many people are working as independent in the community. And you can filter by time. If you go there on the top right, there is time, but the fault is like two years ago, I guess, that you can focus on the latest activity like the three months. And you can select any period of time and so on. Everything needs to be enabled. So you can pick almost everything. You can decide things. You can move a charter and stuff like that. And you can say, if you go there after doing any kind of filtering or something, you can move to the top right and so on. And I'm going to go to the real thing. My connection is a bit messy, so I'm not sure if I'm going to be able to do this well. But, well, and where there is... Okay, so go. We'll see a bit about Git. So we have that menu on the top where you have the different data sources. And for it, the data source you have, sorry, a panel, and in some cases you have more than one. As I said, everything is set to an error, so you can click and filter. So for instance, this is a total activity for us. And by the way, you can notice how Git is different from the one in the main page. That's the case of lots. If you remove the filter and lots, you can see now that the activity in the last time is a bit higher. And I also have to say that this is tracking the activity in the world of the story, which means that those commits that we didn't need to reposition yet are not there. But maybe they're having a date from, let's say, the past. Because we're tracking half the time. So that's me, but if the commit was done, like, I don't know, one month ago, and maybe it's going to end in the repository next month, it's still not there. So that's why this trend at the end of the chart is somewhat usual. In many cases, you can track, as I said, people like Anthony, for instance, if you're interested in who are those who are working for Mozilla, you can just add the filter and now you are seeing activity by people about Mozilla, as I said, assuming that the data you're not with is correct. You may notice those filters over there, the red and green boxes. You can break them down and if you look, I'm not going to enter into the retails, but you can see how you can activate them, and they did that and stuff like that. So that, for instance, you can see how the people not working for Mozilla are performing in the different data sources. You can as well go down and see more information like the number, the name of the people and their contributions, the organization, number of organizations over time, and you can also go and check the different repositories that you have. And you can, for instance, filter for one of those. So I'm going to filter in the last repository and this is now the main activity for the last repository. By the way, this is the time zones of the people working in this repository. So basically this is California and the East Coast and the West Coast and the South East Coast and South America. This is Europe and Africa. This is Asia and this is Australia and the Netherlands. The most interesting information from my point of view is from the GitHub staff, where you have how you're performing and doing things like giving back reports and stuff like that. We don't have separate analysis for the different kinds of issues yet, but for now you can see how the number of issues are coming at a time and the different colors are related to whether they are still open or on the coast. So you can basically can see, in this case, let's say, coast is a pin-bun, so that's where the windows are. So you can see the number of times that you still have closed from the path and you can see how many people are submitting back over time. Again, you can click on many things like filter in the repository and stuff like that. And maybe the most important, you can come here and see who is submitting back issues by affiliation, by the candidate. You can again look at the number of the names of the people doing that. If you're interested in performance, how are you really dealing with closing tickets? Some natural trouble are important. How long does it take to close 50% of the tickets, for instance? And you can see that in the issues timing. Here you have again all the other stories, but on the bottom part, you start to have some information about how long does it take to close the tickets submitted by this person, for instance. These are days. So you can see for some of them it's 100 and something days, for some of them are 20 days and so on. And probably the most interesting way, of course, you can actually go directly to the tickets. Those are the earliest, and those are the earliest. So for instance, this ticket here has been sitting in the repository for about 7,000 days, like a couple of years. And you can look at them, and it's also an issue of going there and see why this ticket is still open. So maybe there's a reason for that to get the weapon, or maybe you can somehow assign you to somebody and close it or something. And in the right, you can see some charts related to, as I said, the median time in the closing bags. So this is how long does it take to close 50% of the bags? And the last is in days. So you can see that you have the spikes of around 150 days, but right now it's much closer. That's the month when the bag was reported or when the issue was opened. So that means that for all the tickets, the time is smaller than for certain periods in the history. This is the same for 80%. I mean, 80% just at the beginning. That means that a ticket cannot be seated in the repository for longer than the time since it was opened. So that means for 80% of the tickets, most of them are, I mean, the remaining 20% are still there. So for all the months, you have probably more than 20% of the tickets are still open. That's why you have this sharp line over there. And again, you have some more issues, weapons and clothes. And you can, very well, filter, maybe for instance, only for open tickets, which is usually the most interesting view. Because clothes is closed, but you can see the same data for those tickets that are still alive. And you can see that in that case, you are still serving in the creation in the live tickets. You can see the same for two records. I'm not going to enter into details, just to show you the general information, which is for a team to ticket. But when you're talking about two records, you can also see the diamonds. And the diamonds is basically the time from the moment somebody submits a box to the moment somebody gets information, sorry, gets the parts landed in a gate. So that's a really worth metric when you are trying to track developers, because if they are submitting their submitting code and the code is taken to be accepted, usually they give up. This is the battle. The battle is basically the staff that still needs to be done, so the things that are alive, from the point of view of our issues and from the point of view of two records. So again, you can see some numbers, like how many times we are dealing with this, and this is the structure by time of these issues. So these are three issues still open by time. So this is, for instance, 2015. So for the last two years history, there were certain numbers around 30 to 50 issues open. There are three, three records that were different. So this is the back lock and the key. You can see the comparison because in pink you have issues and in green you have three records. And you can see now for green records, most of them are already closed. So you only have some green spots in some parts. You can filter that and see exactly the structure of the two records. And you can see how it is much greater than through issues. So that means that you have some two records which are the recent. Most of them around this time are closed and you have some of them that are the ancient, like two years old, but just a little of them. So the structure of how people are closing two records or dealing with two records and dealing with issues is very different in this story. And another interesting view is, as I said, the second floor because the structure of the box about the outreach of the players. So how many people are asking about this for you? It's a big indicator in general of how many people are interested in this for you from a lot of people to view. And the thing here is also interesting. If you look only at questions, which is just by filtering here, you can notice how the pension was going up during the 2015 at the beginning, went down and in the beginning of 2016, and then it's going up again, maybe a bit slower, but more consistently. So this trend is basically, this trend is probably very likely, the co-religion to the interest of the developing community in the language. At least from the point of view of when they are willing to make questions and so on. Of course, with time, there are more questions answered, so you have also to discount that. So in many cases, you have not questions because people are really happy answers in the second floor. And with respect to this course, you can see basically a structure of how discussions are happening. Since our discussions were started to be used to not that long ago, we have this very quick training. So this very quick option, still it's difficult to know whether this is really a trend or this is just because people are starting to use the forums now. You have of course, again, the specific players who are talking in those trades and all of that. And with respect to the last week, I guess this is also going to skip a bunch of slides, which basically we're dealing with all of these. And very briefly, I'm going to talk about the software doing this. All of this is, of course, which are here. And the architecture is quite simple and gives a lot of opportunities for developers to come and script and get data. We basically go to the stories with the tool called personal, the information from it and the story of the inelastic church. Then we use the model basically to produce the Kibana indexes because the code that we are using for the dashboard is Kibana. And all of this also within this Kibana. Those indexes that Kibana uses can be also created with a language, with Python for instance. And that means that this will seem to get the script to do specific things in the data and get out interesting metrics that maybe you are interested in. Or things like my activity in the Ripple Studio at the time, or which are my various contributions or whatever. So there's a manual for using the algorithm and the people moving with this in the wheeler, which is basically Henry, is very interesting in finding some people who could be interested in looking at metrics and providing any kind of input. Or trying to learn how to extract information from the database and so on. So for instance, this is the tool, this is the backend supported. And this is a very simple Python code which is given the activity number of commits, removing large commits from a certain date by code. So you can see that it's not work of science. It's just getting a couple of queries and this is a standard elastic search. So there's nothing specific for all the tools. The main lesson here is that there's a lot of data in the database with what the rest developers doing. If you're interested in getting any kind of idea of what's happening, I'll try to find reasons for things. This way you see the goal there and look for the data. And this may lead you hopefully to more interesting discussions because you can discuss some data and not on the pin. And just to finish, you can also check how many of you want, which is basically the same as that, but for analysis, any GitHub organization. So if you want, just a media organization that's free and you get a free-dose work with all the organizations, more simple than the ones who asked, but usually interesting enough for giving it a drive. So it's just Python.io. And enjoy. The idea is, go visit there. If you have any kind of comment, back report, suggestion, go over. We're happy to get it in the participation metrics of the repository for GitHub, for Mozilla. And if you want to learn more about MoLab, you have MoLab.io. You can also go to the NICE training manual where you can learn about the thing. And that's it from my point of view. So any questions or comments or anything? Do you need the microphone? Okay, please. Can you say a bit more about how you do the essentially, in a way, a short presentation? Yeah. Basically, the question is about how we link our persons to organizations, right? We do it in two steps. First of all, we try to find all the entities for the same person, which basically means trying to match the new policies and all the identifiers, get the identifiers and stuff like that. And then we try to affiliate them. For affiliate, and then we have some logistics like using the email address. If you have one in Mozilla, email address is probably your people in Mozilla, for instance. And then we can do it manually too. There's a file where basically you find, you try to define for every person the different periods of affiliation to them. And these files are going to be saved in the terminal or in the terminal you can also update, that's not...
And which is a software development analytics how to put analytics to track the different working with some people in the community team to present here today. And it basically tracks what information with it so that the people interested have Git-Head issues, Git-Head pull records, and will be telling you later how you can submit it, can break them down and if you look, I'm not This is Asia and this is Australia and the Netherlands. The most interesting information different kinds of issues yet, but for now you time and the different colors are related to has been sitting in the repository for about this is how long does it take to close 50% of the two records. And you can see how it is much they are willing to make questions and so on. Of be used to not that long ago, we have this very to use the forums now. You have of course, again, talk about the software doing this. All of this indexes because the code that we are using for the dashboard is Kibana. And all of this also uses can be also created with a language, with activity in the Ripple Studio at the time, or finding some people who could be interested in looking at metrics and providing any kind of information from the database and so on. So for removing large commits from a certain date by for the data. And this may lead you hopefully to metrics of the repository for GitHub, for NICE training manual where you can learn about