Opening Keynote - GitHub Universe 2017

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
♪ (jazz music) ♪ Welcome to GitHub Universe. This is my third time here, and every year I come in and I'm like, "Oh, I know what it's going to be like." But how amazing is this? This place is so incredible. It's so great to see so many of you. Thank you for joining us. I want to start by just giving a huge round of applause and to thank you to, specifically, the GitHub events team and everyone involved in pulling this off. Thank you so much, everyone. This is going to be a really great couple of days. (applause) And it's already started. We had a great partner day yesterday; we got tons of events going on. No matter what you're interested in, or what kind of software you're building, there's someone here for you; there's something here for you. So, please enjoy it, explore, ask questions. We're all here together. So, I want to again, thank you all for coming, taking time out of your days and weeks to talk about software, talk about the GitHub Universe, spend some time with the Hubot and the Octocats. This is always a special time of year for us. October is when we started working on GitHub. And actually, this year is a little bit special, because we first began working on GitHub in October of 2007. So, next Friday, the 19th, will be the 10-year anniversary of our very first git commit for building GitHub itself. Which is pretty amazing. Unfortunately, it's a default Rails app import. So, the commit itself is not that interesting. I think it's says like "default import" as the commit message. But it's really the content that counts, right? Or I guess more importantly, it's the journey. And where we've all come together since then-- that's really amazing. 2007, I know some of you maybe weren't born then-- but it was a very different time in the world. Twitter was just a baby bird, not the social media monster that it is today. Only a few people in the world had iPhones. I think Android still had a keyboard. So, smart phones and bringing computers with us everywhere-- that was called a laptop back in our day. But things were changing. The world was about to go through-- or at least the U.S.-- a recession. And we were still recovering form the dotcom bust, but things were different. Open source was really starting to catch on, and this is before GitHub. It was a real power in the industry. Software was becoming cheaper, more inexpensive. The Cloud was starting to become more than a thing in the sky, but a way to talk about using other people's computers for your own purposes. And thing were generally becoming more accessible to people, whether it was building a business, finding a community, or just working on something on your own. GitHub, I think, didn't start any movement. We were a part of a movement that was beginning around 2007. When I think about the early days of GitHub, I think a lot about the software projects that inspired us, and the philosophies that those projects had and what we brought in to our own product. We were using open source heavily by the time we started GitHub. I grew up on open source. I was a heavy, heavy SourceForge user for a long time. And-- I love SourceForge. RIP. But a huge fan of open source, I learned about Linux, I learned about all these things that people just put online for free, and I learned how to code that way. But more importantly, I learned how to think about software that way. There were three philosophies that we talked about a lot in the early days of GitHub, that we were inspired by projects like Rails, projects like Django, new programming languages that put the developer front and center, that thought about ease of use and accessibility and sort of getting out of the way. So, the three things that we used to say were "Developers first." Obviously, we're talking about developers. But it's important because it doesn't mean developers only. We wanted to build GitHub as a platform that people can jump onto and use. Hopefully, other people could use it that weren't developers, but primarily, we were building this thing for the people using it, specifically, for software developers, and not for any other audience or agenda. Why was that important? Well, obviously, a product for developers, you think, should be built for developers. But it didn't feel like many were at the time. And my favorite software to use were projects like Rails, and projects like Django. Things that were explicitly built by and for developers. So, why not build a development tool, a commercial one even, with that same philosophy behind it? The other two are just approaches that we took based on these sort of software workflow tools that we used, as well. One was reducing friction, and one was lowering barriers. We wanted to take out friction in your workflow, whatever that may have been. Whether you have ten open source projects that you're jumping between, maintaining every single morning, and it's just a lot of meta-work on top of the actual coding. Or whether you're working in a big enterprise and you have the compiling joke where you have to take a coffee break every time you try to build or commit or review code with someone. We wanted to remove that friction, so you can really get into the zone, really get into the flow, and focus on the unique problem you're solving, which isn't drinking coffee while your code is compiling or the build is running. The lowering barriers one is a little bit selfish, I think. But I had a hard time getting into software. I had a hard time getting into programming. I don't have a lot of patience. I'm stubborn. And so, I had many false starts trying to become a gaming programmer when I was a kid, trying to find a school that had a great course for me that I would really click with. And many times, I just didn't think I would ever become a programmer, because the tools I was trying to learn, they seemed impossible. And it seemed like you had to be a lot smarter than me, or have a lot more experience than I had to get to use them. In many cases, some of that was true, some of the tools were inaccessible, not through any purpose, but because the person that wrote it was writing it for an audience that had a certain skill level. They made certain assumptions about it. Git was this way. Git was very hard for me to use. It was not really focused on UI, it wasn't built for a web generation. It was really great at what it did, which was a distributed version control tool that came out of the kernel community for a group of people that collaborated through mailing lists, and have it down to a science. One of the biggest software projects of all time was built-- Git was built to help manage it. I've not worked on the biggest software project of all time. And most of my projects are not the biggest projects of all time. So, Git at first, I wanted to use the power. I believed in the vision. I loved the idea of social coding, of this idea of not having a canonical technological center of development, where the gold master is or the server lives. But having that be something social-- having that be something decided that people pass around and talk about. Linus's kernel is the real one, because that's the one that gets put to press, not because he flipped a certain config or he has a special piece of software. It's because that's the address people go to. I wanted to be a part of that world, but I had a hard time setting up SSH, I had a hard time setting up my VPS slice, or whatever we were using at the time. And I had a hard time collaborating through mailing lists. I grew up on AOL and message boards, and the internet. I wanted to use the web to collaborate. I'd already signed up for and quit Facebook a few times by that point. So, for me, I had a hard time getting into all these things, getting into Git, and what we saw was something like Rails, something like Django, a lot of these dynamic scripting languages like PHP that were becoming more and more popular and less of a joke, I think, at the time, was this is a way for people to get in. This is a way for software to become more accessible. This is a way for people to get to the real meat of software development. Which, at the end of the day, isn't the coding, it isn't the typing, it isn't the compilers-- this stuff's all awesome and it's super important. At the end of the day, it's what you're building and the effect it has on the person you are building it for. We are all builders. We're all creators. And software and technology and all these tools, including GitHub, are super, super important. We can't lose sight of why they matter. Because they help us do something. Either for ourselves or for someone else. They help us have an impact. They help us make something better or maybe worse, but hopefully, that's unintentional. Software is a means to an end. And the more people we can invite into that, the easier we can make it to get to that end, I think the better the world would be for all of us, the more powerful software will be, and the brighter the future will be. We were not thinking about that at the time, We were thinking, "I want to use Git, and I just can't." I'm almost going to give up. So, how can we make it easier? How can we make it more approachable? How can we take a cue from this movement, this developer friendly movement, this tool-focused movement, and how do we bring that into the products that we love, and the products that we use everyday? So, we never thought that GitHub would be this big, because that community seemed niche at the time. This idea that open source was going to produce software that massive enterprises were going to use. Even though Linux, in 2007, was the biggest thing ever. It still didn't seem real that for someone like me, I could have an impact on a company like an IBM or a Facebook, or a stranger across the planet that was building something real. Again, I used SourceForge. I knew the power of open source. But there really was a barrier and a divide between what seemed to me the real projects-- the Linuxes of the world. And the things I was working on, which some of them-- maybe they were little companies, maybe they were little app ideas, maybe they were the world's 500,000th blog software. Didn't matter. I wanted to tinker with that stuff; I wanted to share it with the world. And a lot of people did too. But we just didn't realize how many people really wanted to get into this movement, this developer-focused movement. At the same time, we started talking about software is eating the world. And as we know, software is powered by developers, but the real surprise, I think, was how many people that resonates with, and the power of software continues to grow today. Maybe I'm just preaching literally to the choir here-- we all know this. But the point I am trying to make is we never thought GitHub would be this big. And that wasn't about thinking about our own ambitions, or our own abilities, but we never thought there'd be so many people that believed the same things that we believed. We should've, right? Because focusing on people, focusing on reducing friction, focusing on lowering barriers, and building great things-- that all sounds wonderful. And so, why you're here, why I'm here, why we're able to have such an awesome space like this, why the GitHub community has grown so big, and people have heard of us-- it's not about the founders and our three philosophies from 10 years ago, as much as I really like-- list of three and these ideas. It's about all of you. GitHub is a business, right? It is a product; it is software, but what is code that doesn't run? What is a social network with no one on it, right? GitHub is about the people, it's about the community. And I don't just say that in the way, "Thank you for signing up." The reason people go to GitHub is to meet you, is to use your code, is to learn and to get better. When people think about GitHub, they think about the things that they can do with it, and all of those things come from other people. Whether it's reviewing code, whether it's finding a mentor, whether it's finding a new job, or an open source project. All these things come out of you. It's all about the people that are on GitHub and sharing together. And we take that very seriously. We talk about the community a lot. We talk about the open source developers; we talk about software developers, but what we really mean is what we're thinking about is how to connect you. Whether it's your software to one another, whether it's your ideas to one another, we believe in that power, because we're you too. We came from the same world. A lot of GitHub employees are GitHub fans first and foremost. They learn to develop software on GitHub and then came to work for us. We are a part of this community. We use GitHub everyday, as well. And I love finding new projects on GitHub that I can use in hobbyist projects, or I can just learn and see something new. The future of software is very bright, obviously. Because I think the future of humanity is bright. Maybe not a popular thing to say right now, but I'm an optimist. And I've seen the negative side effects of technology, but I've also seen the positive side effects of technology. And it's really amazing; it's really inspiring. And the scale that we're at right now is just the very beginning. A lot of us were developers before GitHub. Some of us, I think, have become developers after GitHub. But many of us were developers before GitHub. Time marches on. What we're thinking about now are the next hundred million developers, for whom their expectations, their ideas about collaboration, their demands of what it means to learn, build software, work together, it's going to be a lot more imaginative, a lot more creative than someone like me who grew up in the world of AOL AIM, before something like Git. We can see this in the numbers. So, we have 67 million repositories on GitHub right now, which is pretty cool, but it doesn't speak to the fact-- this isn't 67 million Linuxes, as we know. There's all sorts of projects. We have little ones. We have big ones. They're growing at a rapid rate. I think what this speaks to is the scale of collaboration on GitHub, which I think we all know is pretty huge and still growing rapidly. We get over 50 million people to visit GitHub.com every month, downloading code, reading it, looking for help-- all of the things I listed before. There are millions and millions of unique people visiting GitHub.com everyday, which means that the programming community, the software community, it's a lot bigger than I think anyone has ever imagined. There's over a million and a half teams on GitHub, groups of people, whether they're businesses, community groups, even churches, non-profits-- everything. Over a million teams using GitHub to build software together and collaborate. Some of the biggest companies in the world and maybe someone starting a company right here during this talk, hopefully, putting it on GitHub, right? We have a huge number of students that are using GitHub, from actual classrooms, like Harvard, Berkeley-- teaching computer science using GitHub, to people that are hobbyists, and they're using GitHub in their free time to learn. Maybe they're making games with Unity, or just trying to figure out how compilers actually do work. Over a million students on GitHub. I think I said this last year, but when I was a student, I pirated most of the software that I used. So, if you're a student, and you want to use GitHub, it's free. You don't have to pirate anything. Check out the student developer pack. We're going to cut that from the video. I didn't pirate anything. (laughter) So, we're about building software. And one of the most key parts of building software is obviously the text editor. If you haven't checked out Atom already, it's our open source collaborative text editor. It's hackable. It's all written in JavaScript, CoffeeScript. You can get inside the internals, HTML. There's tons and tons of packages out there. Over 2 million people are using it every single month. And I think the best part of Atom is that it's an open source project. The features of Atom are great. What it can do is great. The price tag is really great. But I think the future is the brightest part about Atom. It can be anything. It can be wherever it needs to go, and it can always adapt to what's happening, because it's an open source project, and if it can't, we'll fix it, we'll do something, we'll change it-- that's the nature of open source. It evolves and it grows. So, I'm extremely optimistic about Atom's future. And if you haven't checked it out, there's been some really cool releases lately, like the Atom IDE. So there are-- we have this platform called Electron, which is pretty cool, if you haven't checked that out. It lets you build desktop apps locally using web technologies similar to Atom. So, there's 404 registered on our Electron directory. Which is sort of poignant in a way, because we don't know how many Electron apps there are out there. We think there's thousands of them. We know companies use them to build internal apps really quickly. Remember the days of building an internet app really quickly using Rails or something like that, spinning it up. A lot of companies are now moving to something like Electron, where they can just distribute the package. They have a server. It's a really easy web-like experience for building something internally. So, 404 not found. We really don't know how many are out there. But a lot, I think. We've had over 100 million pull requests merged in the history of GitHub. Which is pretty amazing. Not just created, right? There's probably been a lot created that haven't been merged. I'm guilty of the not clicking the button in many cases. But over 100 million pull requests have been merged since we wrote our pull request some time in 2009, 2010, which is really remarkable, but my favorite stat is how many people are creating their first pull request every single day. This goes up every year, which is great, right? Right now, it's actually closer to 4,000. So, not 4,000 new pull requests, not 4,000 new projects-- 4,000 people everyday create their first pull request. Collaboration is growing. And this is probably my favorite-- I mean just because it's a big number. I'm pretty sure those zeros are right. Over 1.5 billion commits pushed to GitHub this year. Past 12 months, 1.5 billion. There are more-- that's more than there are grains of sand in all of-- no, that's not true at all. But it's a really huge number, like 1.5 billion commits. And obviously, a lot of them are rolling back previous changes and whatnot, but still the activity is growing-- it's astronomical. I first saw this number, I thought this was all-time on GitHub. I just can't believe the scale of what's going on right now. I like to think these numbers are big because network effects, our business model, talks like these-- I'm sure you're all signing up and creating more repos, but I think at the end of the day, the core of it is this stuff is useful. You're building things for other people; you're having an impact. People go to GitHub because they can get something out of it. It benefits them; they get a cool piece of software; they find a job-- these are good things. They're useful. And so, it grows. People see and they do it more. What we may forget is it hasn't always been this way. When open source started, it was called free software. It was in the 80s. There really wasn't an internet as we think of it today. And the problem was that you would get a piece of software that you would pay for. You would own it. And if it would break, you're out of luck. You couldn't do anything with it; you couldn't change it. That was very frustrating to a lot of people, especially folks who thought it's your property, you should be able to do whatever you want with it. So, free software came out of that and other ideas where, now, with free software, I get some piece of software, it breaks, I can fix it. Of course, I need to have the skills. I need to have the knowledge. But I own it, I can do whatever I want with it. Free software pushed that forward. What they never could have predicted was the impact that the internet had on free software and open source. Free software came a lot out of ideologies and property ownership. But really, the massive thing, the thing the reason why we're all here, is that it's just not about me being able to fix software that I bought for myself. When I give it back to you, it goes from me benefiting, to you benefiting, surely. But when you post that online, everyone benefits. Anyone involved in the project gets something out of that. And not only that-- I benefit from every one of you who contributes to your project, as well. So, the effect of open source is not just linear from can't fix it, to I can fix it, to now, two people benefit, to three people. It's exponential. Everyone in that little community; everyone in part of that project benefits if there was something beneficial in there. Open source is amazing for this reason. It's not just a linear improvement on collaboration. Multiple people can get involved. So, the thing is, why stop there? What if we went from everyone in a project winning when there's some good collaboration, to everyone in the world winning? And I'm not talking about participation trophies. Okay? I'm talking about actual victory. Actual benefit, actual improvement. What if when we collaborated on a piece of software, everyone got something out of that? What if every change you contributed made all software better? Right? What if you didn't just make one project better, but every project on GitHub? And what if while you were sleeping, your projects were getting better? Not because people were actively, synchronously sending you pull requests sitting at their computer, but because the system was learning? That we're all in this together. And we could passively collaborate with each other. Why not? We have 10 years of data. You're all putting out over a billion commits every year. All this knowledge is being shared in the open, in the public, on GitHub, on open source, in the community. What if we can take the step from me contributing to your project benefiting everyone in that project, to benefiting the entire community? I've never been a fan of "what ifs." I've read some of those "what if" comic books where Batman is an accountant, or Wolverine is actually Batman. Not interested in that. I'm not interested in what if we could all get better. I'm much more interested in how do we do that and let's start doing that today. So, we've been working very hard and thinking very deeply about how can we take all of the data that's out there-- not just code-- and how can we use it to make everyone better? How can we make not just software better, but developers better too? How can we benefit each other while we're sleeping? And to talk about that, I'd like to introduce to the stage Miju Han from GitHub. Miju? Thank you. ♪ (rock music) ♪ Thanks, Chris. Hello, Universe. My name is Miju Han, and I'm an engineering manager on the data science team at GitHub. And today, I'm really excited to talk to you how at GitHub, we're preparing and evolving ourselves for the next phase of software development. As Chris mentioned, there's a huge amount of data and activity on GitHub. And that can be focused on changing how we develop. That's because GitHub is one of the largest software datasets in the world. And maybe the largest, even. You have created almost half a petabyte of code. You made more than 1.5 billion commits in the past year only, and you've merged over 100 million pull requests. The next phase of our products, and therefore, the next phase of software development in general, is turning all of that data into useful and actionable information. We want to capture the collective intelligence that's sitting inside that data, and bring it back to you to help us all work better and smarter. So, now, I'm going to try to make that less handwavy by talking about how we're going to get there. We want to demonstrate what's possible with our data by showcasing different applications of it. The first piece of data I want to talk about is community actions. And that means the things you do, your interests in your social graph. We're using that data to solve one of the biggest challenges on GitHub, which is actually finding a project to work on. Now, we know there are several barriers to ramping up to GitHub. The first of which is learning Git and GitHub itself. And even if you do know Git, and you do get GitHub, there's real fear involved, like Chris was talking about, when you're making your first contribution to a public project. And that's really why our community and safety teams' work is so important. But still, it can be really daunting to figure out which projects you want to follow, and ultimately contribute to. And at the same time, we know that there are a ton of projects that need more help from enthusiastic people. That's why we're launching a newsfeed that has better highlights and interesting events from your network. Now, you can see the best highlights from your network with redesign events in front of a better and smarter algorithm. But the real magic happens in the <i>Discover repositories</i> tab. Here, we're personalizing suggestions specifically for you. Though it's not actually magic, like I said. It's machine learning. It's science. Populated by things like stars, contributions, and followers. We'll recommend you new projects based on your interest each day. We know that there are some of you who want to go down a rabbit hole of Haskell projects all weekend long. We see you doing this. With the <i>Discover repositories</i> tab, we can be your guide. And even if you're new, and you're just starting to explore GitHub-- we'll help you find content that's popular and trending based on our understanding of the activity of millions and millions of people doing interesting things on GitHub everyday. We're not stopping there. We're not just going to throw you on to a repo. We're also launching some onboarding call-outs to help new contributors get up to speed on the projects they've just discovered. For example, we're offering standard ways for maintainers to specifically designate which issues are good ones to get started with, or which issues really need some extra help. Together, the newsfeed, with its improved highlights, the <i>Discover repos</i> tab, and onboarding experiences make finding projects to follow and build with, then contribute to, easier than ever. So, sometimes, you want to go deeper into your own interests. But sometimes, you want to do things that are totally different. If you're a front end dev, you might want to dabble in machine learning, or the opposite is true too. We know that one of the core values of being a developer-- this is true whether you just learned to code a few months ago, or you've been working as a professional software engineer for decades, is always learning new things, new skills, new technologies. And that's why a second type of data that I want to talk about is community curation. Information that comes from our community experts themselves. We're shipping an all new <i>Explore</i> tab which is one of the best ways to see what's going on in GitHub. It's a great resource for new and aspiring developers, in particular. To highlight the amazing efforts across our community, part of the new <i>Explore</i> is all new collections, which are hand curated by our experts. Collections introduce you to concepts like user security, or machine learning. And they connect you to resources, and repos, and people so that you can dive deeper. Another part of <i>Explore</i> is brand new topic pages. Earlier this year, we launched the ability for you to label your repos with topics which are either programmatically generated by machine learning, or manually entered by you. And you all created more than a quarter million distinct topics to learn more about. Now, you can not only find projects by relevant topic tags, but you also can learn more about those topics on dedicated pages. And they're community curated. So, if you want to suggest improvements, you can submit a PR to the GitHub/explore repo. These features use the data we have across over 67 million repos. And this is the best <i>Explore</i> we've ever built. Together, with our newsfeed, anyone using GitHub can tap into the wealth of knowledge in the open source community and stay up to date with the latest technologies. Developers can become more productive at work. And more people can become developers if they want to. So, the next type of data I want to talk about is probably the first thing you think of when you think of GitHub's data. And that's the code itself. For awhile now, we've done a lot of the work under the hood to help make sense of the various parts of code itself, its structure, its grammar, its syntax, and ultimately, its meaning. Conversational human language, like English, also has structure, grammar, syntax, and meaning. One way to think about what we're doing with code is to think about labeling the words in a sentence with their part of speech. Once we have their parts of speech identified, the process of creating a sentence can become modular. That means that we can start to create sentences by pairing up verb and noun combinations. We can verify that sentences are grammatically correct. And then, we can take a run-on sentence and break it down into more digestible and more understandable parts. The first feature to use our semantic understanding of code is <i>Table of Contents,</i> which launched earlier this year. It allows you to navigate directly to methods and functions and pull requests. But the Table of Contents feature is only the tip of the iceberg of what we can do once we have a semantic understanding of code. We can start stitching code together. We can simplify it. We can evaluate complexity. Or perhaps, most exciting-- when you make a pull request, we can tell you all the parts of your code base that are affected. This type of functionality is going to streamline code review. And the code review of the future is going to look very different than it does today. It's pretty exciting. Another piece of data we have is code metadata. That's data that provides information about code, for example, say, the upstream and downstream dependencies of a project. You all know that the code that we write is increasingly connected and increasingly interdependent. If you start to dig into the stats, it's pretty crazy. Over 75% of our repos use dependencies. And of the ones who do, well over half of them use more than ten. It is super common for us to see projects with more than a hundred dependencies. That's a norm on GitHub now. It's yet another signal of the strength of our community. At the same time, it's a lot to manage. So, to help you manage those connections, today we're launching the dependency graph in JavaScript, Ruby, and soon, Python. In our redesigned <i>Insights</i> tab, you can see both which dependencies your project uses, and if you're a public project, who depends on you in the <i>Dependents</i> tab. But it's going to go further than that we know that once we introduce dependencies into our projects, there's a bunch of stuff that we have to keep track of, right? So, we're not just drawing the dependency graph. We're also enriching it with useful information. One of those things was inspired by our inaugural open source survey. You told us that open source users value security and stability above all else. And realistically, we know closed source users value that too. And in the open source survey, 58% of you responded that you believe open source to be more secure. But we all know that security is not a feature of open source. Security is a process-- of always being aware and checking on what's going on. So, we're going to make that easier by doing the checking for you. We're announcing that security alerts are coming soon to GitHub. With our understanding of the dependency graph, you don't have to scroll through a hacker newsfeed to see whether or not you're affected by the versions that they're announcing. Instead, repo admins can specify a user or team to manage private security alerts as they are announced for your dependencies, specifically. And that brings me to the fifth type of data that I want to talk about today, which is code changes or diffs. Sometimes, we learn the most about code when you change it, either your code or someone else's code. And we learn even more if you tell us why you did that. So, we're not stopping with just alerts. We're combining public data sources with output from our machine learning team to go further and deliver suggested fixes if a known remediation is available. Sometimes public data includes a safe version, but sometimes we see reputable sources doing the same thing over and over. We want to combine both signals so that you can help-- so that we can help you keep your project safe. And over time, our fix suggestions are going to get smarter and smarter and smarter. We're going to add security alerts and suggested fixes to both public and private repos. And then, we're going to bring the dependency graph with the alerts and the fixes to GitHub Enterprise. We know from recent events, if we already didn't know it before, that vulnerabilities and our dependencies have real world consequences. But apart from that, building the frameworks for better security management is not just a new feature. It's a platform responsibility for us to make it easier for you to keep your projects more secure. And our security needs change as our community changes. For example, JavaScript is not only our most popular language, but if you can believe it, it's also our fastest growing. And at the same time, we know that for all software systems, public vulnerability coverage is just a subset of the true number of vulnerabilities out there. It's particularly true for JavaScript for several reasons. First of all, it's a younger community, and can be legitimately really difficult to verify exploitability. At the same time, we know for a fact that there exists lists of JavaScript dependency vulnerabilities that outnumber the publicly identified ones by at least the hundreds. And that's why the GitHub open ecosystem is so important. Some of our ecosystem partners have deep security expertise to keep your project secure, including data on vulnerabilities that aren't yet public. You can work with Gemnasium, Snyk, or SourceClear today using their GitHub integrations. As a platform, it's our job to connect their expertise to your projects. And we can do so much more together than we can accomplish separately. We're excited to work with partners like these, and many more with expertise in many different areas. You'll hear more about that tomorrow. I want to end by admitting that even though I describe these types of data separately and distinctly, at GitHub, we don't really think of them as that different. So, the five types of data: Community actions, community curation, code, code metadata, and code changes. They're really a part of one connected piece of data, the code graph. Your actions, your curation, your code, your documentation-- they're all annotations on top of a giant connected web of software. Or if you want to get technical, it's a really big, highly enriched abstract syntax tree, or AST. So, our ability to learn and help you walk the code graph comes from the relevance and the quality of our data, and that comes from you. It's quality in, and quality out. These new features are the first steps of how we can give your data back to you. And to be clear, we're not talking about launching autonomous coding on GitHub today, because autonomous coding is an AI complete problem. But we are talking about launching autonomous coding features. And that is where we believe the next era of development has to go. In the future, we will continue launching data-powered experiences on GitHub. And then, we'll have more data. And then, we will continue launching better data-powered experiences on GitHub, and then we'll have better data and so on. You'll start to see more and more of it in our core areas like code review, pull requests, the <i>Insights</i> tab, and even the process of writing code itself. Now, we know the next phase of software development, it can't happen without really solid fundamentals. Artificial intelligence and machine learning-- they aren't going to revolutionize or take away the work that we all have to do next week. So, for us to be able to bring you anything actionable from the code graph, we need to fully support developers, integrators, teams, and businesses. To share more about what we've been up to in the past year in those areas, I'd like to welcome Kyle Daigle to the stage. Kyle. ♪ (rock music) ♪ Thanks, Miju. Thank you, Miju. My name is Kyle Daigle. And I'm the director of ecosystem engineering at GitHub. I'm so excited to be here with you at Universe. As Miju said, this past year has been about changing the trajectory of software development. We want to lower the barriers to entry for developers to start writing code on GitHub, for businesses to start taking in open source best practices, and for integrators to work in our rich ecosystem and build on top of our platform. It's been an amazing year, but I have more to share with you today. But first, I want to start with sharing the Octoverse, our yearly update about the GitHub community. Every year, we're impressed by the projects you build, the people who contribute to open source for the first time, and how much our community has grown. There's a lot of fun stats in this, like how our 100 millionth PR was a documentation update. Or how Microsoft Visual Studio code had the most contributors this year. It's a beautiful in-depth guide of the state of the Octoverse. So please check it out at octoverse.github.com. We're really excited to see what you all do in 2018. Now, though, I want to share how we're going to help you have your best year on GitHub. And I want to talk about four audiences. Community, businesses, integrators, and developers. But first, let's start with community. As Chris mentioned, GitHub started with open source. We want to make it easier for everyone to contribute to open source code. We want to help open source contributors, but we also want to help open source maintainers. And we shipped a variety of improvements in this way. But first up, we have the first time contributor badge. Now, when you contribute to a project for the first time, we'll put a badge next to your name to signal to the maintainers that they might want to take a little extra time reviewing your PR. A study showed that a quick response within the first 48 hours to a first time contributor's PR is one of the best ways to keep that new contributor in your project. This has been a really great experience for new contributors so far. Codes of conduct are an important part to ensure that a friendly, respectful, and collaborative community grows around your project. In May, we launched the feature to make it easier for you to add a code of conduct to your project. You can pick a template on the left, fill in some details on the right, and then we create the code of conduct and put it in your repository. Since this launched in May, we've seen a 50% increase in medium and large open source projects adopting a code of conduct. This has us really excited. I want to give a shout out to the GitHub community and safety team who really helped drive some of this adoption. (applause) But we also want to give you control about your experience on GitHub. And that includes who you interact with. We've introduced better blocking features to make it easier to manage the people that you've blocked on GitHub. But also, we'll show you when you go to a new open source project and want to contribute-- if one of the contributors is someone that you've blocked. It's important that we make sure you're comfortable, confident, and safe when you start your open source journey. And better blocking tools is a great way for us to do that. But it's not just project features. We also built opensource.guide, which is a bevy of data to help new contributors and people wanting to start their first open source project. Before building a community, we want to make sure we set you up for success. And so there's documents in here about project governance, making money on open source, and the legal side of open source projects, where you can learn from successful open source maintainers. Now, one of the best parts about open source is learning from each other. We answer questions; we solve problems, and we work together. And today, we have a new way you can do that, with the GitHub Community Forum. We want to allow you to start a conversation, ask questions, and help one another. With 24 million developers, you can write your best code, and support one another in our forum. You can start a conversation with the community and GitHub staff from across the company. We'll recognize your contributions in the forums. That way, everyone knows you're an important part of our community. We've been working on this for a while, because we wanted to make sure that we got it right. But I'm excited to share that the GitHub Community Forum is launching October 31st. And that's our update for <i>Community.</i> (applause) The GitHub community isn't just limited to open source, though. As Miju mentioned, over half of our repositories are private. Whether you write open or closed source code, GitHub is the best place to do that. We want to meet you where you are and be the best place to collaborate on code. Earlier this year, we launched GitHub for Business, which brought many enterprise-level features to GitHub.com-- things like SAML single sign-on, SSH authentication, user provisioning, and an UptimeSLA. GitHub for business makes it easier for small startups, all the way up to enterprise companies to get up and running with the Enterprise level tools that they expect. And thousands of teams have signed up for Business. Speaking of teams, as Chris mentioned, today, we have 1.5 million teams. Side by side with the open source community, and just clicks away from buying and installing powerful integrations from GitHub Marketplace. We also have our on premises offering, GitHub Enterprise, which is used by 50% of the Fortune 50. GitHub Enterprise gives you complete control over your GitHub environment, hosted on your environment. In September, we released GitHub Enterprise 2.11. And 2.11 had three major features that customers have been asking us for: Geo-replication, which allows you to put your instance into distributed data centers with multiple replicas. We'll always give the fastest route to you by choosing the closest server. Governor, which dynamically adapts Git traffic. So, if you're doing CI builds, we're not going to stop you from letting a developer do a clone due to all the traffic. And finally, Hotpatching is out of early access. Now, you can take your patch releases, put them into your instance, with zero downtime. So, you can put those security releases into production a lot faster. Breaking down the walls between closed and open source is so important to us. Great software innovation happens at big companies, like IBM, and HP, and Facebook. We'll be talking in sessions today, as well. So, go check those out. Starting today, we'd like to make it even better on GitHub Enterprise. If you needed help, or had trouble with your GitHub Enterprise instance, we've asked you to put a request in via a portal. But now, we have another option. I'd like to introduce Premium Support for GitHub Enterprise customers. Now, your admin can pick up the phone, call us, and start getting help right away. Urgent tickets will get a response within 30 minutes. And high severity tickets will get a response withing four hours. We're looking to expand this offering in the future. But I'm excited to offer this to you available today by talking to your sales team. And that's <i>Businesses.</i> (applause) It's been a pivotal year for the GitHub ecosystem. The platform is more powerful than ever, with features like our GraphQL API, and GitHub apps. Earlier this year, we launched GitHub Marketplace at our satellite conference in London. The Marketplace has 26 powerful, full feature developer tools that are built by passionate teams that want to solve your pain points in your specific workflows. And we're working with dozens of more companies to go into the Marketplace. 9.3 million GitHub users have used an integration. And the growth is huge. It's up more than 4 million from just May. More people than ever are trying integrations. It's because you told us that integrations are an important part of your workflow. That's why 60% of teams use an integration. Integrations make your developers stronger and more efficient. We now have 200 million daily queries to GraphQL from our own engineers and integrators. With GraphQL, you get the same API, the same tools, and the same data that GitHub engineers use. And when I talk about integrators, I'm not just talking about folks like Codec, CircleCI, or Snyk. I'm talking about you-- our customers. Building tools, building workflows, using our API. And that's why we've seen huge growth in OAuth apps as well. We're at 400,000 OAuth apps, which is also up about 100,000 since May. It's an amazing time to build an integration on GitHub and bring it to market. We want to make it easier for you. So, you can try integrations, and find your perfect tool. And we're going to do that with Marketplace free trials. For example, folks like Waffle can allow their customers to take a look at what their integration is offering. And then go down and find the plan that works best for them-- Personal, in this case-- And start a 14 day free trial. We really think this is going to help customers find the tools that work best for them, but also give integrators a better way to grow their businesses. With Marketplace free trials, customers can find the best in class tool and sell it for 14 days, and then ultimately choose the plan that's best for them. Integrators can choose whether they want to offer free trials, and customers will get an easier upgrade flow. I'm excited to share that free Marketplace trials will be available to all integrators starting on October 31st. We believe this helps GitHub users find their perfect integration, integrators to find the right customer. And that's our update for <i>Integrators.</i> (applause) There's a unifying thread-- community, integrators, businesses-- we're all developers. And as Chris mentioned, there's still too much friction in writing code, reviewing code, managing projects. Our product and engineering teams have been chipping away at that friction. Our desktop apps have seen immense growth, and have amazing workflow updates, like our Git and GitHub integration for Atom. You can commit code, manage pull requests, in the world's most hackable editor. In collaboration with Facebook, we released Atom IDE, an optional set of packages to bring IDE functionality hacked right into Atom. If not having IDE features was stopping you from giving Atom a try, now's a great time. We've also rebuilt our desktop application on Electron, and it's blazing fast. We also completely open sourced the client. It's the best GitHub desktop client to date. And we're very excited to work with the community to bring new features and evolve GitHub desktop over time. We also brought Git and GitHub to more developer communities, like our native extension for Visual Studio. You could connect to GitHub, clone repositories, list and create pull requests, and view and reply to pull requests comments. If you're a game developer, or if you want to be, it's easier to use Git and GitHub with our GitHub for Unity extension. You can bring your Git repos into Unity, use LFS for large file support, and then use file locking to ensure that you don't run over each other's assets. And in collaboration with Apple, we released a new <i>Open in Xcode</i> button for Swift and Objective C projects. Developer workflows aren't limited to writing code, though. We spend a lot of time talking about code, triaging issues, and collaborating on code. As Miju mentioned, as we understand the semantics of code, we can allow you to browse pull request gits by method and function. You jump to the method with the table of contents, you can see all of the other methods that have changed in the PR, and you can review PRs faster and more efficiently than before. We added branch protections with code owners. You can create a code owners file, assign ownership of file types and folders, and then assign those file types and folders to teams, individuals, or even email addresses. That way, you can ensure the right people are seeing the changes in your code. And if you want, you can turn on branch protections for your PRs to stop PRs from being merged until a code owner has reviewed this. We've seen many companies build internal tools for this. And we wanted to offer it to the entire GitHub community. This past summer, our interns, with some help from GitHub engineers, made it a lot easier to share snippets. Now, you can go into your code, select a range, copy a permalink, and then paste that permalink into issues or pull requests. Then, we'll automatically expand that snippet so you can see the code around your discussion. It's really slick. We also launched nested teams, which mirror your org on GitHub. This is what GitHub's technology team looks like. It starts with the technology team, that has an application engineering team, which then has other nested teams within that. A big benefit of this flow is that the permissions can cascade from parent teams to child teams. And it's a lot easier to create and manage teams of developers. Today, I want to share something with you that we've been working on for developers. We want to make it easier to collaborate outside of the code. So, I'd like to introduce you to Team Discussions, an all new, yet instantly familiar way of collaborating with your team. Here, we have the awesome Panda Rocket team, which now has a new profile page, and can choose an avatar that works best for them. You can use features that you know and love, like GitHub Flavored Markdown, browse the members of the team, the repositories the team has access to, and any nested teams. Or simply catch up with your teammates in the all new discussion timeline. For the most important messages, you can pin them. And your team can react to messages, leave comments, embed images, just like you would expect. If you want to have a bit more of a limited audience, you can post messages to just your team, and mark them as private. Team Discussions have a new profile page, custom avatars, where you can see your team and any nested teams. You can post messages to your discussion timeline, pin the most important ones, post just to your team, and then we'll use your notification preferences to keep you up to date, whether that be with the web UI or email. Team Discussions are currently in private beta. We're working with large and small teams to try the feature out. I've been using it internally at GitHub, and it's a really great way to share information and collaborate with my teams. We'll be sharing more information about Team Discussions in the next couple of months. So, let's recap. First, we have a better way to collaborate with our community and GitHub staff, with the GitHub Community Forum launching October 31st. GitHub Enterprise customers can purchase premium support by talking to our sales team today. Integrators can offer free trials for their Marketplace apps starting October 31st. And Team Discussions, which bring a better way to collaborate with your teams outside of pull requests and issues. All of these features, all the features that Miju talked about, this entire event is a huge undertaking, and we couldn't have done it on our own. I want to thank our sponsors for making this amazing event possible, and giving us an opportunity to meet all the GitHub users face to face. Let's give them a round of applause. (applause) Make sure you visit them, too, because they have a lot of really awesome experiences. I'd like to also thank the hundreds of GitHub employees that brought these features to you from across the company. We're passionate about giving you the best software development and collaboration experience in the world. And that takes a team effort. I'd like to invite you to say "hi" to the ask GitHub section, where we have GitHubbers from across the company available to talk to you about these features, or anything about GitHub. We're really excited to see what you do with these features, and where you'll take GitHub in the next year. Thank you so much. And now back to Chris. ♪ (rock music) ♪ Thank you, Kyle, thank you, Miju. That was a lot. There's some awesome stuff there. Alright. So, I like writing code. I'm not allowed to really work on GitHub.com anymore, but I still really like it. I've always loved writing code. Someone once recommended that I get this book called the <i>The Little Schemer</i>. It's short. And I do all the exercise in it on paper. Step away from the computer, step away from the keyboard, and just think and reason and try to figure out this mind-bending way of software development. So, I was once on an airplane, and I had my hipster little Moleskine with me and I was doing <i>The Little Schemer.</i> It was fun, it was a couple of hours flight. And I got off the flight, and this really nice older lady next to me said, "Excuse me. Are you a poet? Or are you a writer? I saw you writing." I was like, "You're going to be very disappointed with my answer." But no, I was writing code, actually, on paper. I'm not crazy, I promise. But writing code is an amazing act. It's challenging. But in some ways, it can be a barrier. And what we're interested in is the future of coding being less about coding. We used to use this tagline,<i> social coding</i>, which I've always loved. But as Miju was saying, coding is not the main event, anymore. Building software is the main event. Coding is just one small part of it. The more data we have, the more we put onto GitHub, the more we share and innovate together, we're not really standing on the shoulders of giants as much as we're all doing this together. We're standing on each other's shoulders. We think the future of coding is no coding at all. We think autonomous coding is a very real thing. Software development isn't going anywhere. In fact, software development itself is getting more and more important than ever. But the actual act of coding, the act of sitting there and typing or dictating to a screen-- that's not what humans are great at. That's not what we do best. What we do really well is we think. And we solve problems. And we're experts. And we take in input and we devise a solution. That's the essence of software development. That's the essence of overcoming challenges. That's the essence of building something great. I started becoming a software developer not because I wanted to learn Scheme, or PHP, or C. I saw a screen. And I want to make things move on that screen. And when I figured out that the way to do that was software development, I really fell in love. But a part of me still cares very deeply about making something move on a screen. And there are a lot of people out there that want to make something move on a screen or on a watch or on a tractor or a jumbotron. But software development is impenetrable; it's inaccessible; it's hard for them to get up and running. What we think about is the next 100 million developers, what they want to do, how we can make it easier for them. And when I say <i>we</i>, I'm talking about everyone in this room, everyone here, together. The next generation of development is going to be more powerful and mind-blowing than we can ever imagine, because the current generation is already astounding. And what we can do by working together, by sharing our data, by building more on GitHub, by changing our own technologies, it's we can bring more people into that fold, who are then doing the same thing and we're all benefiting. Software is a universe that we know almost nothing about. We don't know anything about our real universe, basically. And we know even less about software. But what we're doing here is we're exploring it. We're charting out new paths. We're finding new planets. We're experimenting with, you know, teleporters and all sorts of weird things. But ultimately, what we're trying to do is we're trying to make something happen. We are builders; we are creators; we're trying to create something that has an impact. At GitHub, we think that we can make your impact larger by working together, by building the largest software development community and not just sharing words and ideas, but sharing insights passively all the time. The next 100 million developers are going to think about this very differently. And it's not Clippy. It's not someone that's telling you what to do. It's something more akin to the internet. What we're excited about is-- if you think about Moore's law, if you think about a lot of the great predictions that came out of the early 20th century-- they were linear. You can imagine screens getting smaller. Moore correctly pointed out you can imagine chips getting smaller and more powerful. But we could have never imagined the internet. We could have never imagined this invisible thing that changes the way we interact with each other. And then to carry around in our pockets-- I don't think there are a lot of theories about how society would be transformed when we're all connected. Not just through PDFs and documents, but through our thoughts and more so, through our code. The future of software development, we believe, is ripe for a change like that. Coding has been getting smaller and smaller since the beginning. I mean, we know this. We used to measure by lines of code. But now, we're standing on all these great libraries that have come before us, meaning, we write less code. It's a big part of why open source is so great. So, if you play that out, eventually, there's going to be zero code, not for everything, but for some projects, you're not going to have to code at all. I see that as a little screen prediction. I see that as a linear prediction. What we're really excited about is the inflection point that we're on the precipice of. There are more developers now than ever. There are more joining now than ever. We're writing more software. We're focusing more on the craft of development than ever. And all around us, the world is changing. Automation, which is a word that developers have embraced forever-- I mean automation's the greatest thing, ever-- means I have to do less stuff-- that is now one of the biggest buzz words in the entire world, right? And who's pushing that forward? Who is automating the robots? Who are the people that are actually making this change happen? It's us. It's the people in this room. It's you, your colleagues, the future developers. And what's most exciting to me about that, is we don't just have to automate warehouses, and doctor's offices, and all these great things in the real world, which is amazing. We can also automate software development. All the changes with self-driving cars, with VR, with the world becoming more networked, those all apply equally to software development. Typing on a computer is such a low fidelity way of exchanging information with a system. Right? Voice is great. This is why conversational UXs are taking off. You're experiencing one right now. And in fact, even if you can't hear what I'm saying, there's a way for human language to be-- there's an argument that human language is a really great interface into each other. We're really excited about seeing what this does for the future of software development, and what all the future software developers do with this, but we're really most excited about seeing what you're going to do. What comes out of today, what comes out of the next ten years, what comes out of the next 50 years of software development. Because we are just at the very beginning. We talk about software as eating the world. We talk about all these great technological innovation, and yet at the end of the day, we're still just hitting buttons on a keyboard. So, I'm going to leave you with a quote, a Bill Gates quote, which I feel like is appropriate. And this might not even be true. But I'm pretty sure he said this, or I can at least promise you I read once that someone told me that he said this, which was-- someone asked Bill Gates-- this is the 80s, when Microsoft is a little bit smaller, but still, a dominant force. "What makes a good programmer to you, Bill?" And specifically, "How do you know who the great programmers are in Microsoft?" And his answer was a bit of an allegory. It was, "If I walked past someone's office 10 times a day, and every time I walked past their office, they're typing, that raises some concern for me." And they said, "What do you want them to be doing?" He says, "Well, you know, programming isn't about typing. We're not typists. Programming is about thinking. It's about solutions. It's about solving problems. So, I want to walk by someone's office and I want to see them typing, but I want to see them thinking. I want to see them considering input, making decisions, and then using their fingers or whatever input device they have, to share those insights with the computer." It's not about the typing. It's not about the coding. It's about the solving problems, the building things. And that doesn't mean this is going away. That means this is going to become more awesome. There's going to be more great tools and more ways for you to communicate to the computer, to the system what you want to build, than ever before. We're going to have more control over the software we build in the future, and it's going to be way better, because all software is increasing together. A rising tide lifts all boats, someone once told me. That's what we're trying to do with the open source community with the entire software development community. We want to work together to make all the future generations great, but at the end of the day, we want to reduce the friction; we want to lower the barriers; we want to help you build something great, and we want to do this all together. So, we are the pioneers of the universe's software. The world is going to get really weird in the future. Software is going to be very different. And I cannot wait to see what it looks like. So, thank you, everyone. Thank you to everyone that put this on. I hope you have a really great three days. Enjoy GitHub Universe. I'll see you next time. Thank you, everyone. (applause) ♪ (jazz music) ♪
Info
Channel: GitHub
Views: 6,125
Rating: undefined out of 5
Keywords: git, github, github universe, github universe 2017, collaboration, programming, version control, open source, software development, octocat, innersource, enterprise software
Id: 4_umRysuFjU
Channel Id: undefined
Length: 59min 45sec (3585 seconds)
Published: Wed Oct 25 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.