 Hello everyone. Welcome to this session where we will talk about intelligent open source. For today I'll be the speaker for the next minutes. Jim and me will be both in the chat as well to answer any kind of question. So you have this first video of introducing myself and then we'll proceed for the slides. So my name is Daniele Cierdo and I'm one of the founders of V3rd year, a company focused on analyzing open source projects and an inner source projects that matter to any company. So we focus on activity, community, performance, and we are running different projects nowadays. So one of the opportunities we've had during the last years have been to focus on this kind of work with Uber open source. Today's presentation is about what matters to Uber in this case, what we call intelligent open source. So a bit of introduction as I mentioned, well Jim Jack, everyone knows him. So he recently joined the Uber team for the open source program office and of course co-founder of the ASF. And me myself, just to mention that I'm active member and board member at the inner source commons and the Chaos project, which is a technology we are using today to analyze the Uber community and Uber open source ecosystem. So Chaos is the acronym for community health analytics for open source software and all the demos, well not the demos but all the charts and everything which has been produced with open source. So you can reproduce this by yourself. So if we go to the website of Uber, it says Uber.hithad.io, it says Uber is committed to enabling collaboration for everyone everywhere through open source. If we think about other open source communities and their specific goals, all of them are usually talking about having a large or massive adoption of the technology, bringing newcomers to the community so more people and more people are using, adopting and sharing that specific technology. So Uber in this case is aligned with these open source expectations and in this case is specifically focused on this concept of collaboration. So what does it really mean in this case for the last months of work we've been doing together? What does it mean this concept of intelligent open source? So there are four main areas that we want to focus on. One of them is engagement, the second one is collaboration, the third one is help and then the fourth one is performance and recognition of the good work and new contributors in the community. For engagement, the discussion that we can have for the concept in this case for Uber specifically for the last couple of years is how are Uber developers engaging in third party open source projects? And then at the same time we'll see later that this happens in the other way around. So if Uber is donating a specific open source project and Uber has donated several of them what other individuals, developers or organizations are participating in those projects that were donated to the open source ecosystem by Uber. So it's all about understanding who is who in the ecosystem and how we can help each other. So of course if we have this big square which is the open source ecosystem and then Uber is one of those actors here we have these black crosses in this case that are stating who are the Uber developers and then we have other organization on our company that is kind of working in other open source projects. However, the point is that the usual way of working is this one. So if something is open source then it's easy to go to GitHub or GitLab and check what that organization, that individual is doing there and then in reality what it's happening nowadays is that there are a bunch of Uber developers and these ex-company developers working here and there in addition to their own open source projects but then at the same time there are many other companies, organizations and individuals that are working in this way. So this is open source and open source is about collaboration, open source is about being a good citizen understanding how this works, celebrating new contributions and contributors coming from any part of the world from any organization, no matters if they are profit, non-profit, if they are collaborators, providers or if they are competitors. So these are the rules. So then we can focus a bit more and say well engagement may mean well Uber developers engage in third party open source projects but then at the same time external open source developers engage in Uber projects. And why is this important? So from an open source perspective and from a strategic perspective if we are all a large organization and we are using and producing open source, so that open source is key part of our technological stack. So we need to understand who is there, we need to understand how we can help to that project to advance because this is critical infrastructure for us no matter what it is, but if this is aligned with this criticality then we need to do something, right? So we need to understand what's going on there, how we can help this to advance and even try to align those project expectations into our own needs at the very end. So this chart what we have is we have the y-axis which are pull request opened and we have the x-axis that are the issues open and then we have the size of each of the dots are the number of contributors. So each of these dots are all of the projects where developers that are working in Uber organization so we have Uber, we have Uber Research, Uber Web, some others and projects that were donated by Uber. So all of this we take all of this set of developers and then what we've done is to analyze where else they've been working in the GitHub ecosystem. So this is focused on GitHub. So basically the more we are moving to the right the more issues were open in that project and the more we go up in the y-axis the more pull requests were open in that project by people that have participated at any time in any Uber project. Not only Uber developers, okay, so those are Uber employees and non-Uber employees. So the question we have on the table is what else they've been working on and then we have these two projects. So if we analyze them a bit more, so we have this green dot here, there are a bunch of developers that are participating in certain Facebook projects. This means in this case GitHub.com slash Facebook. And then same here for Apache and then we have these two projects, Pyro, PPL and Cochrose DB. So from a storyline perspective what we have is these two projects they don't have that many contributors but they have a lot of contributions for people that have participated in the last two years at some point in Uber in Uber projects. And then we have Apache projects, Facebook, so perhaps Facebook. This is a certain project between Facebook and Uber or the other way around. We're participating in Facebook projects or Facebook projects participating in Uber ones. So this chart here what we can see is the network analysis of all of those developers. So if we check the dots, in this case dots, we can see here dots are projects and then the blue squares that we see here and there those are developers. So all of the blue squares that we can see here are developers that have at any time produced something in the Uber ecosystem. And then the whole chart that we can see here is where else those developers, ignoring in this case Uber projects and personal projects. So your personal GitHub account are participating in that. So we can see that probably all of these projects are some of the biggest plans that we saw before in terms of number of contributions. But then if you look at the prior PPL or quotes to be those are the two projects that we can see here in this analysis. So it's quite interesting because then once we have this understanding we can see how each of the developers are connected to others. So then we can kind of follow where those developers and how those developers are connected, where else they are working at. Perhaps we can predict the new hot project right in the JavaScript ecosystem or in the Python ecosystem. So this is something we can try to guess or we can try to predict based on all of these network analysis. Just a more in-depth analysis, this chart, this pie chart is providing by each of the projects that we saw before. In this case by project the number of pull requests open. So we can see that for instance Facebook, even when this had a lot of contributors, is not one of the first ones. So we can see that the first one in this case in terms of number of pull requests open in the last couple of years by Uber and non-Uber employees are Pirate Big Bear, CookroatsDB, B, Apache, Horrible, etc. So there are a bunch of them. With this in mind then we can see what matters for instance to the Uber ecosystem. So what are the other projects that might be important for our own developers? So the second concept that we would like to discuss today is collaboration. Collaboration is an important topic because collaboration is about working together with other organizations. So we have a clear way of working, clear set of rules to work together. It's about collaborating of course. If this is a project that has been released by my own company, there are some chances that at least at the very beginning our own developers keep working in the same way. So you have someone working in a desk pretty close to you, so then you ask for a pull request or you ask for a review, etc. The way we should be moving this is well from time to time we need to check certain KPIs for instance and time to close, time to merge and check if those that are not from our own organization in this case Uber open source are behaving in a different way than our own developers. So the idea is that all of this way of working should be as homogeneous as possible. There shouldn't be any kind of difference between Uber developers in this case with the behavior of Uber developers and the behavior of Uber developers. And the time to close and the time to attend and the time to respond, etc. So if we bring the previous analysis, just a quick overview here. Those are now developers and then the squares here are our main projects, main organizations that we are analyzing for Uber in this case. So those are developers, they are connected to one of these blue squares as this one or this one or here, but probably you don't see this blue square here or this blue square here. So those are the projects, but kind of the big organization. So this is mainly Uber organization, this is Uber organization, Uber research was around here, well N3DB, N3DB is around as well. So each dot is a developer and then the point here is now that each color is an organization and company. So this legend here, of course you see probably nothing, is each of those organizations and then we can see what this was in 2013 and what this is in 2020. So these large number of organizations are many more than a few years ago. So there is a clear evolution between this seven years difference in Uber and Uber of course have released a big amount of projects and open source. But we can see how we had a few companies interested in the technology at the beginning and then nowadays what this means for Uber. What this is for Uber projects collaboration. So each of the dots, each of the colors are different corporations participating in the development here. So we were moving from like 10, 20, probably like to 70, 80 organizations in this case. So this is collaboration in Uber nowadays and then health. So the third topic we wanted to discuss today was health. So health is what we mean nowadays together with Uber and health is well we are trying to understand and have awareness about what's going on with the projects that matter to us. And those initially are those projects that are under the Uber umbrella in the sense of the GitHub organization but then those that were donated. So we are interested in understanding how they are, how they are evolving the deltas, the evolution, the trends, the KPIs, the specific activity and community KPIs, etc. So one of the first analysis we came with was this activities or the last active repositories by data source. So then we can go for instance for the very last active when I retrieved this data was Kepler, which is under the Uber organization and then we have each of the different data sources. So we have key, we have the issues, we have the request and then we have the aggregated last activity. So then we can see what are the most active or the last active let's say but if we keep going because this is a table then we would see well the less active and how they are evolving. With this respect we have this active git repository's evolution. And then we have the trend. So the red line is the trend. So this is positive for the last couple of years. Oh, sorry, not couple of, two couple of years, but the five couple of years. So this evolution is telling us well this is the number of active repos and the active and the trend of those repos over time, if they are active, if they are not becoming active, etc. And then we see kind of the life cycle here so the top 25 repositories by number of commits. So there are some that has been active for a long time for the last five years as m3db, n3.git or n3db.git. But then there are others that basically have been kind of abandoned. So we can see that there are certain repositories as you can see here that they gave up contributing. But then there are others that for some reason they were contributed and they didn't have any contribution for a while. Then the developers started to contribute again, etc. So this is a really useful way to see this life cycle from the repositories perspective. From a community perspective and nowadays that we are under this COVID-19 situation that by the way I hope that you are all right at home. So we can see the evolution of the active contributors over time and the growth analysis that we can produce based on those. So these blue lines are the active contributors that we have over time for the last couple of years across all of the data sources. So we mentioned issues, requests, etc. And then it's interesting to see these decrease here. So having this data, having all of these analysis might be useful to understand the impact of the COVID-19. With respect to the bars, green bars are those that are displaying a positive difference if... So those are green if there is a positive difference between this point in time and this point in time. On the other hand a yellow bar is so going down is indicating that there is a negative difference between this slot here and this slot here. So then we can see this evolution of contributors. And then the final one is about performance and recognitions, celebration of new contributions and new contributors. So for this we were discussing about having a couple of KPIs, one of them related to performance is the review efficiency index. This is based on a usual management metric, which is BMI, which is the backlog management index. And this is telling us what are the number of tickets or PRs in this case that we are able to close over time if compared to the new things that are coming to the community. Of course again we have this peak. These peaks are usually related to Christmas or any national holidays, but these nowadays what we have is this peak. So suddenly happened here, right? I assume this is COVID-19. So this means that values under one we are leaving certain percentage of the new things simply open. So this means that in this case the community is able to close or to deal with 80% of the pull request that we have. But then at the same time right after this I guess that everyone was working again after the first impact. Suddenly the community was able to deal with more than 10% extra, right? So this means that we had some amount of time with no work and then after this the impact was kind of balanced. So with this we can see this evolution of the review efficiency index and this can be applied to any other data source or issues etc. So the lead time is another metric we can use. In this case what we have is the time to close or the lead time is the total time it takes to close anything in days. So we are having this metric in days. So Uber was kind of stable of course, but then again we have this huge peak and this is of course related to the activity that we saw before. So this is taking much longer suddenly here. Why? Well we all know what's going on here right nowadays. So this might be related to COVID-19. This is still an hypothesis I have to say so we have not double checked this. But there are kind of indicators that are saying hey, warning here there are some analysis that we may reconsider. And then the new contributors which is the very last topic I would like to discuss for today. So these are all of the newcomers. So those that produced in certain period of time their first commit. So we have like for instance in 2016 this big peak here of new contributors. And then we see like after 2017 more or less we had a continuous increase of newcomers to the community. So we can celebrate we know who they are so we can welcome them right. So if you want to learn a bit more about all of this please check Uber Open Source Prom Office. If you are interested about the technology that we've seen today please join ChaosProject and Grimoire Lab. And if you are interested about v3rdia and what we do please go to v3rdia.com. So this has been all I hope this is useful for you interesting. I hope that at this point we've had a great discussion in the chat and hope you the best. So thank you all for your time and see you next time. So thanks. Have a good day. Very well done Daniel. Thank you very much. So we have some time here at the end for Q&A and both Daniel and I are here. I know that some people have been using the Q&A chat function and Daniel has been incredibly good in answering those. But we're also here available live as well. So please don't hesitate to ask us any questions you may have. So if not one of the questions we may have so we can have some open discussion between you and me Jim. Yes that sounds good. Let's have that. Let's do that. What does it mean for you for open source to be a good citizen in open source? We have a question. So all yours. Okay so Justin asks do you see a greater demand for open source in general as a cost cutting measure for businesses dealing with new recessions. I think that first of all that's a very good question. Thank you for asking it. I think that is certainly one aspect of it. One of the great benefits inside of any company in leveraging open source is that you're able to save your expensive developer talent for the code and internal programs and projects which really differentiate the company. That makes them different and better than their competitors. Instead of them working on things which they could easily use open source offerings for, you're focusing that talent on things that really make a difference to the company. And I think that's something which has always been one of the reasons why companies migrate and use open source. But especially now when cost cutting is very very important and making sure that you're getting the most out of your developers and engineers. I think you're seeing a lot of people, a lot of companies really look at open source as a great way of tightening their purse strings and tightening their belts and knuckling under for recessions. So yes, definitely. So there is another question from Agustín. So the question is from what you have presented but can be translated to product platform development within a company. So I assume this is kind of related to inner source or internal development. And I would say most of it because we are talking about most of these siloed companies and so on that are trying to improve, to collaborate, to share expertise and knowledge. And any of these metrics and basically health analytics that we have presented are important there as well. So instead of working at the level of organizations collaborating, we can go for business units that are the ones breaking those silos. Yeah, definitely true. And just to add on top of that, I've seen in a number of companies, not Uber by the way, but where there are silos inside there and even though there is software and projects that could be very easily shared, there is still some resistance in doing that because what happens if that team goes away or the priorities of that business unit change? And so other teams are resistant to using something internally, whereas if you do open sources or you do make it an inner source project, then that removes that restriction. So if you feel much more comfortable and confident depending on something that they don't have ultimate control over, because whether it's inner source or open source, you've got this healthy, engaged community keeping that project going. And that's something which is translated to all kinds of companies and corporations out there. Yeah, thank you. Thank you, Jim. So I think this is all the time we have for today. So you can find us in Slack and Twitter, et cetera. So thank you for your time. Cheers, everyone. Stay safe.