The Changelog: Software Development, Open Source - Ubuntu Everywhere (Interview)

Episode Date: June 18, 2016

Dustin Kirkland joined the show to talk about Ubuntu — the most widely used flavor of Linux. We talked about the rise of Ubuntu, Ubuntu being everywhere, their collaboration with Microsoft to bring ...Bash to Windows, and what we can expect from the future of this Linux distro.

Transcript
Discussion (0)
Starting point is 00:00:00 I'm Dustin Kirkland, and you're listening to The Change Log. Welcome back, everyone. This is The Change Log, and I'm your host, Adam Stachowiak. This is episode 207, and today Jared and I are talking to Dustin Kirkland about the rise of Ubuntu, Ubuntu everywhere. We talked about Canonical and Microsoft's collaboration to get Bash on Windows. We also talked deeply about the history of this project, where Ubuntu's going, Canonical, the company behind it, and what we can expect from the future of this Linux distro.
Starting point is 00:00:35 We have three sponsors for the show today, Linode, Rollbar, and BlinkSale. Our first sponsor of the show today is Linode, our cloud server of choice. Get up and running in seconds with your choice of Linux distro resources and no location, SSD storage, 40 gigabit network, Intel E5 processors. Use the promo code changelog20 for a $20 credit, two months free. One of the fastest, most efficient SSD cloud servers is what we're
Starting point is 00:01:03 building our new CMS on. We love Linode. We think you'll love them too. Again, use the code CHANGELOG20 for $20 credit. Head to linode.com slash changelog to get started. And now on to the show. All right, we're back, everybody. We've got a fun show lineup today. And Jared, how exciting is it to have Bash on Windows?
Starting point is 00:01:29 That's what teed this up. Not just Bash, as I'm sure that we will learn the details of here soon. But yeah, absolutely. Big announcement out of the Build Conference back in March that Canonical and Microsoft have partnered in some way to bring the Bash shell along with other things natively on Windows. Wow. Not inside of a VM or anything like that.
Starting point is 00:01:50 It's more than that, too. We got Dustin Kirkland here from Canonical, who's got quite a resume, too. Created the service command and a ton of other stuff. Yeah, thanks for coming on the show, Dustin. Hey, guys. Yeah, absolutely. Adam Jarrett, good to speak with you. So what's the news behind this?
Starting point is 00:02:08 What's the quick details? Not the deep details. We're going to go into that later. But what's the quick details on Bash on Windows? The quick details is that if you're running Windows 10 today and you're in the preview mode, you can very simply type bash and launch a shell where you're running bash natively inside of Windows, and the user space utilities are provided entirely
Starting point is 00:02:32 from our distribution Ubuntu. And that's pretty cool. It's in preview mode right now, but Microsoft will release this generally to Windows 10 sometime later this year, I think. We definitely are interested in not just how that works, but also how this collaboration came together between the two corporations. But before we get to all that, Dustin, let's learn a little bit more about you and your journey to where you are here at Canonical. So give us a quick background, maybe even how you got introduced to programming and computers,
Starting point is 00:03:04 and then the summary of how you ended up working for Canonical. All right. Yeah. Well, programming goes way back. I was programming in high school. Actually, I started working on, I started playing MUDs, if you remember MUDs in the multi-user dimensions in the 1990s. And I got pretty bored playing MUDs and started actually writing some of the code behind some of the MUDs.
Starting point is 00:03:31 I was in about 1994, 1995. I was 14, 15 years old at the time in high school. I went to college and got a degree in computer engineering, Texas A&M University. And then out of college, got a job with Tivoli in Austin, Texas, and then spent about eight years with IBM. And then in 2008, I left IBM and joined Canonical on the server team. So at the time, Canonical was building Ubuntu, and Ubuntu was fairly well known at that point as an up-and-coming desktop distribution, but there really was no focus or no technology behind Ubuntu as a server platform.
Starting point is 00:04:12 So I joined a team of about three at the time, and our initial goal was really to get Ubuntu server into Amazon, into AWS, and into its cloud. And we did that in about 2008. And that really changed the trajectory of Ubuntu as a server platform. Ubuntu is now about 70% of all instances running in Amazon, in Linux instances, in Microsoft Azure. We'll talk about Microsoft in a few minutes. Google Compute across the board. Ubuntu is overwhelmingly deployed as a server
Starting point is 00:04:46 platform in public clouds. That's an interesting background with regard to the switch between desktop and server or the focus on server. Just to give you a bit of a context of Ubuntu around the changelog, I actually ran Ubuntu, I guess it was back. I was looking at your guys' release schedule. The first release was 2004, and I must have hopped on right after that
Starting point is 00:05:07 because I had Ubuntu on my laptop in college about 2005, 2004, 2006. I graduated in 2006, so somewhere around there. Ran it for a couple years on my laptop. Always ran Debian on my servers. Then ran Ubuntu on my laptop, and then Adam has Ubuntu running on the Changelog server, so
Starting point is 00:05:27 he's always used it as a server distribution more recently. I love it. That's great. Changelog servers are running Ubuntu. Yeah, 14.04. We haven't upgraded yet. Yeah, so about that time, the timing lines up
Starting point is 00:05:44 pretty much exactly right. We were very much a desktop-focused distribution, starting with the first release, 4.10, Warty Warthog in October of 2004. And then server really emerged for us right around 2008, which would have been the 804 release, Hardy. 804, Hardy Heron would have been the first, I guess, real server-focused release.
Starting point is 00:06:09 And, you know, we really haven't looked back. It's been incredible to see Ubuntu adoption at tremendous scale, especially by the sort of new wave of technology-focused companies, things like Netflix, Uber, Lyft, uh, Tesla, all of these are platforms are, all of these are companies that have built entirely on, on Ubuntu.
Starting point is 00:06:31 One of the things that Ubuntu is known for aside from it, or in addition to it's, you know, orange, uh, interesting orange color of branding is, is your guys's naming convention. And it follows this alphabetical,
Starting point is 00:06:42 uh, Akron, not acronym alliteration with animal names. Um, but I, I assumed it would have started at a, but it looks like back when, you know, four 10 was out warty warthog. And then you went to H Horry hedgehog and then the breezy badger. And it seemed like maybe the, the alphabet didn't quite kick in until you guys had your feet under you or how that all work out.
Starting point is 00:07:04 That's pretty much it. Yeah, the first release was Warty Warthog. Second release was Horry Hedgehog. Third release was Breezy Badger. And then it wasn't until the fourth release, Dapper Drake, that I think we sort of realized that we need to actually have some method to this madness, and especially for listing files and directories where the directories are dapper, edgy, feisty, gutsy. It started to make sense when those were alphabetical. So yeah,
Starting point is 00:07:34 you're exactly right. So our release cadence is always every six months. We always release in April and October. We're now working on the Y release of Ubuntu, which is Yakety Yak. It will release in October of 2016, which will make it the 16.10 release. So the two numbers in an Ubuntu release are the first number is the year, the second number is the month. And yeah, we're working on our 25th release of Ubuntu and we've released every single one of them on time, every time. Wow. How do you get that done? Yeah, it's a discipline that we call time-based releases. We sort of borrowed and adapted it from GNOME, GNOME being one of the main desktop managers that Ubuntu is built on. GNOME started
Starting point is 00:08:21 this time-based release cycle just before we did in 2004. And we sort of took that to the next level and applied it across an entire distribution. The real discipline is that we set forth the dates up front, and then we engineer a series of milestones. We always have three alphas, two betas, one release candidate, and then a release. And it's real important that we identify in those three alphas the features that we're going to develop. And then we institute a feature freeze, which can be broken, but it's a very exceptional process to break feature freeze. And then we go into the stabilization period, the two betas, followed by the release candidate. Now, anything
Starting point is 00:09:02 that didn't make it into the release, or it's not yet baked or cooked, we tend to move it out of scope. So rather than, if something has to give, the scope, the feature list is what gives. The date never, ever gives. Googling time-based release is your number one, so that's a good thing, right? You got that down.
Starting point is 00:09:21 So I guess, was it you that started it? Was this a thing you began? Or is this something that you adopted from somebody else's practice? You're like, well, that's actually cool. That's a good way to do it. Probably need to give a good bit of credit to the GNOME project, which is the desktop manager in Ubuntu. But as I said, we've certainly taken it, adapted it,
Starting point is 00:09:41 and broadened it to the entire suite of 20,000 open source packages that we snapshot and release every month, or sorry, every six months in Ubuntu. Also, about that time, we were coming out of, we're built off of Debian, you know, a lot of credit goes to Debian, we use Debian as an upstream for most of our packages. But Debian takes a very different approach. Debian releases when ready is the mantra at Debian. And that certainly has the ability to produce high quality software, but the release cycle is extremely unpredictable. And in fact, when Mark Shuttleworth founded Ubuntu in 2004, Debian was in a bit of turmoil. It had been several years between Debian releases
Starting point is 00:10:25 or a very long time between Debian releases. And so our releases aren't perfect, but they're very predictable. And we do as much as we can to get the most features as possible in a high-quality release of Ubuntu. And anything that doesn't make it, you're never more than six months away from the next release of Ubuntu. So who's behind all this? Who's the we you keep speaking of?
Starting point is 00:10:49 Who's the we? So Canonical is the company behind Ubuntu. Ubuntu is the operating system, the Linux distribution. Canonical is the company behind Ubuntu. Canonical is 12 years old. It was founded at the same time as Ubuntu. Today, we're about 750 people in 45 countries. Most of us work from home. I work from a home office in Austin, Texas. We do have a headquarters in London and a couple of satellite offices, Taipei, Boston, Montreal. But for the most part, about 80% of Canonical works from home
Starting point is 00:11:28 or hiring, by the way, if you're interested in really awesome industry-leading technical work, either on the client and desktop side or the server and cloud side, certainly check out Canonical Jobs and send me a message. I'm on Twitter and LinkedIn and so forth. I'm sure we can get those contact details. You got a lot of them there. It's kind of
Starting point is 00:11:52 interesting you call them vacancies too, versus jobs. I guess you kind of use both nomenclature, but you call them vacancies. Interesting. That may be a bit of our British heritage. We have certain words that are kind of funny in our world that differ from either the Texas or the California where a lot of technology comes out of. I should also mention Mark Shuttleworth, who's the founder of Canonical. So he's the founder and owner of Canonical. Today, he's the VP of product and strategy. He's my boss. I report directly to Mark. We have an executive structure that includes a CEO, Jane Silver, and a sort of an executive VP of the cloud business, Anand Krishnan.
Starting point is 00:12:37 And Mark, for the most part, leaves that sort of administrative side of running a company and focuses on his passion, which is really the product and the strategy. And he's extremely involved. He's involved in every single day, seven days a week with all things going to very active on the mailing list and accessible, very accessible. That's very cool. I think this changed. So you guys had this shift, you were known for desktop and you started with a Debian base and you put polish and improvements upon that. And then over time,
Starting point is 00:13:12 I think there used to be two releases. There was even like a desktop release and a server release. Correct me if I'm wrong there. And is that, well, let's just stop there. Are there two releases still? Or am I imagining things? No, we still do roll a number of different flavors.
Starting point is 00:13:25 We call them flavors of Ubuntu. The server release of Ubuntu is what we publish to the clouds. I assume that's what your changelog.com is sitting on, server Ubuntu. The server Ubuntu, it's a pretty trim. It's pretty lean and mean, fast, small, secure Linux distribution.
Starting point is 00:13:42 It doesn't include things like a graphical display manager. Why? Because typically in the cloud, you're going to do everything over SSH anyway. Let's carve out X windows and reduce the security surface and how much data needs to be stored and updated. The desktop release of Ubuntu is separate. Yes, you're right. And there
Starting point is 00:14:05 are a couple of different flavors. There's Ubuntu with GNOME and Unity as its desktop. That's what I'm running here today. There's also KDE Ubuntu. There's XFCE, which is yet another sort of desktop manager. But we also produce Ubuntu for phones and tablets, which is really interesting. We've got Ubuntu shipping on three different phone platforms from Meizu, which is a Chinese phone manufacturer, and BQ, which is a European phone manufacturer. And you can take Ubuntu and actually put it on
Starting point is 00:14:42 any of the Nexus line of tablets. So I've got a Nexus 7 and a Nexus 4 phone here, And you can take Ubuntu and actually put it on any of the Nexus line of tablets. So I've got a Nexus 7 and a Nexus 4 phone here, both running Ubuntu as well. Now, what's interesting about that is that we had to adapt a lot of what we love about Ubuntu is still certainly present on the phone and on the tablet. But the way that we deliver the operating system, especially how we update and upgrade it, and ensure that rollbacks can happen safely, as well as how we add extra software, all of that we had to rethink completely when we started putting Ubuntu on phones and tablets. And in doing so, we actually came up with something pretty cool. And that's yet another flavor of Ubuntu that we call Ubuntu Core. Sometimes you'll hear it referred to by its code name, Snappy.
Starting point is 00:15:33 Snappy Ubuntu Core. Snappy is Ubuntu designed for IoT devices. So that's really cool because now we're seeing Ubuntu today running on developer boards like the Raspberry Pi, for instance. But those developer boards and snappy Ubuntu are now shipping in refrigerators from GE, in drones, in robots, in printers, network switches, all sorts of super interesting IoT hardware. We're seeing Ubuntu in that. And the cool thing is that it's a really interesting sweet spot somewhere in between a desktop, tablet, phone, consumer-style device, but it's a whole lot like a server because many
Starting point is 00:16:18 of these, you know, a drone or a robot doesn't have a keyboard video mouse traditionally, but it does have an SSH shell, for instance. I love this new focus, or maybe you could say it's a lack of focus, but this desire, this vision to bring Ubuntu to all these different places beyond the desktop, now even beyond the server too. You've reached the cloud, you're looking at IoT, or you have IoT deployments or distribution or flavor, I guess is the term that you use.
Starting point is 00:16:49 And then the news that we're here to speak about in some detail was the conversation or the announcement with Windows and Microsoft that came back at the end of March. In fact, we know that our audience is interested in this particular topic because we'd linked out to that in weekly number 99, which was when was that? April 2nd, that one shipped out. And I'm pretty sure that Microsoft had their own announcement and maybe Canonical had an announcement as well. But Dustin, we linked to your blog post announcing the bash on Windows and it was the number two top story of that week. And I'll tell you why it wasn't number one and that's because adam included a rant from giles boquette titled why scrum should basically just die in a fire and you can't not click on that headline everyone's gonna click on that one right
Starting point is 00:17:39 yeah i would click on that one as well. And you know, Giles is always, he's very reliable for a solid and entertaining rant. So that was our number one story of the week. But this was our number two story and one that we had lots of conversation going on around Twitter and lots of reaction to. So we want to look at that in a little bit more detail. We are hitting up against our first break. So let's pause now and we'll talk about Bash on Windows when we come back.
Starting point is 00:18:08 One of the most frustrating things about being a software developer is dealing with errors, dealing with bugs. They happen. And relying on your users to report your errors sucks. Digging through log files, trying to debug issues is not cool. Or having a million alerts flood your inbox every single day, it's the worst. With Rollbar's full-stack error monitoring, you get the context, the insights, and the control you need to find and fix bugs faster with a lot less noise.
Starting point is 00:18:37 It's easy to install, you start tracking production errors and deployments in 8 minutes or less. Rollbar works with all major languages and frameworks, including Ruby, Python, JavaScript, PHP, Node.js, iOS, Android, and more. You can integrate Rollbar into your existing workflow, send error alerts to Slack or HipChat, or automatically create new issues in GitHub, Jira, Asana, Pivotal Tracker. And we have a special offer for changelog listeners go to rollbar.com slash changelog sign up get the bootstrap plan for free for 90 days that's
Starting point is 00:19:12 basically 300 000 errors tracked totally free give rollbar a try today head over to rollbar.com slash changelog all right we are back with dustin Dustin Kirkland talking about Ubuntu and the proliferation of the distribution everywhere, or at least the goal to. Specifically in this case, the proliferation of Ubuntu onto Windows. And Dustin, we're quite interested, not just how this works,
Starting point is 00:19:38 but also how it came to be. So this is a partnership between Microsoft and Canonical, and as much as you're able to, can you give us the insider scoop, the backstory of how, you know, this partnership came to be? Yeah, you bet. You know, it's funny sometimes in life how things never happen the way you plan them out to happen, right? meeting a wife or a spouse or having kids or where you end up in a career or set out on an adventure on a vacation and where you end up. The real irony here is that Canonical was founded,
Starting point is 00:20:15 and Ubuntu was founded with a single goal in mind, which was to basically be the desktop that replaces Windows. In fact, one of the tools that Canonical created in support of creating Ubuntu is Launchpad. Launchpad.net was sort of GitHub before GitHub. It was based around Bazaar, another source code tracker, but it was the home for open source projects. It was exactly how we build.
Starting point is 00:20:42 It is the build system for Ubuntu, but it's also our bug tracker. And if you go to launchpad.net, bugs.launchpad.net slash one, the number one bug, the first bug filed in Launchpad was basically that Microsoft Windows is the only desktop that someone can really use today. And we're, we're, we're creating a, a vision to change that. Right. And so it's, it's, it's really funny, ironic, unexpected somehow that here we're talking about Ubuntu on windows and it's a, it's a good thing. And let me, let me explain to you why I think that's a good thing, but does that actually resonate? Do you
Starting point is 00:21:23 see, have you been in that situation where something happened, but man, it's so far away from what you might've expected and it's a, it's a pleasant surprise. Yes. And I can say, speaking to your situation, I was pleasantly surprised. And I think, uh, many people were because I was very much, you know, 2004, 2005, I was running Ubuntu on my laptop because i didn't want to use windows on my laptop so i was there i was ready for the year of linux on the desktop uh you know as you guys were trying to build it and so uh quite ironic and interesting it's like the odd couple microsoft and canonical coming together for a collaboration it's just it's it's it's it's not bittersweet it's just sweet but it's just so interesting's, it's, it's, it's not bittersweet. It's just sweet, but it's
Starting point is 00:22:05 just so interesting that this is what has happened. Microsoft has changed so much though, over the last several years, like we've seen a new Microsoft in open source. We've seen a new Microsoft when it approaches products. I mean, is that part of it, Dustin? Do you, do you attribute some of their change to open source in that? Yeah. So that's exactly where I was going with this, is that a lot's changed in the last 12 years. Canonical, we found this huge focus and success on Ubuntu as a server platform. We haven't abandoned the desktop. Our desktop is now better than ever,
Starting point is 00:22:37 and we're bringing it to mobile devices. But the cloud didn't exist in that name anyway in 2004, and Ubuntu server didn't exist in that name anyway in 2004. And Ubuntu server didn't either. Microsoft was led by Steve Ballmer at the time. And the thought of Microsoft doing anything with open source was just, it was unthinkable, right? I mean, he called Linux a cancer and had essentially banned any Microsoft team from working with open source. But, you know, there's been a regime change at Microsoft. Satya has led a real revolution at Microsoft in the adoption of open source.
Starting point is 00:23:16 Over the last several years, Canonical and Microsoft have worked together, most notably on Azure. Azure being Microsoft's cloud. It's sort of in the big three clouds of Amazon, AWS, Google Compute Engine, and Microsoft Azure. And Azure, Microsoft through Azure has been a tremendous partner of Canonicals. And we've helped deliver the best Linux experience inside of Microsoft Azure. The vast majority of instances running in Azure that are not Windows instances, like 80% of the Linux instances are Ubuntu. And we've worked very successfully with that Azure team in doing so. And that really fostered an interesting set of business relations as well as, and this is extremely important, as well as technical developer relations with Microsoft.
Starting point is 00:24:11 Now, over the last couple of years, I've gotten to know a number of developers at Microsoft, especially the Windows kernel team and the Azure team. And, you know, these guys are a lot like me, you know, went to college 5, 10, 15 years ago. And universally, their college experience was much like yours, you know, running a Linux desktop, or certainly running Linux on servers, the newer kids are running it on Raspberry Pis or in a data center on campus. And that was absolutely my experience. I was at Texas A&M from 97 to 2001. That was when I really went all in on Linux.
Starting point is 00:24:53 I used it across the board, stood up web servers on Linux, used it on a desktop, and then sort of made the move wholesale in about 2000. Microsoft totally has taken note of that, that the developer environment, while it certainly used to be very closely tied to Windows desktop, has moved away from it.
Starting point is 00:25:19 And to neither Canonical nor Microsoft's benefit, a lot of that desktop environment has actually moved toward Macs, right? I think you can walk into a coffee shop almost anywhere, certainly in Austin or San Francisco, where I spend most of my time. And in that coffee shop, there is a developer with a Mac writing some code. And that code is almost always inside of a virtual machine of Vagrant or a virtual box, a shell essentially where they're running Ubuntu. And Microsoft actually commissioned
Starting point is 00:25:54 a study to sort of understand what kids in college are using as their developer environment. And one thread that was constant across that entire study was that regardless of whether someone was running Windows or Mac or Ubuntu on their desktop, they were almost certainly doing their development in a Linux shell. And the vast majority of those Linux shells were Ubuntu Linux shells. So it's something that I think we've all seen. And whether or not Forbes or Wall Street Journal or anyone has taken note of that, you could talk to almost any developer in the valley or anywhere across the world, in fact. And I don't think any of them would be very surprised by that story. Most web development today being done in a Linux shell isn't exactly a headline that you guys are in the media business.
Starting point is 00:26:48 That's probably not going to grab a whole lot of clicks, right? It's kind of part of the course. Exactly. And, you know, I think we took that for granted in the years that we developed and worked on Ubuntu. And we thought we were going to take over the world's or we hoped we were going to take over the world's, or we hoped we were going to take over the world's desktop. And while we did not do that, we objectively did not do that, there's certainly more Windows and Mac desktops out there in the greater open source ecosystem in a second. We've done something pretty incredible by making Ubuntu available across that entire hardware spectrum from the Raspberry Pi to laptops, desktops, tablets, phones, physical servers, your commodity x86 servers, into IBM's sort of deep thinking power machines that run Watson to some of IBM's biggest mainframes, the Z series mainframe, and then into supercomputers and high performance computing
Starting point is 00:27:52 across the board, you can find Ubuntu running on all of those. And while there are, you know, relatively relative to the 7 billion people in the world, relatively few of those 7 billion people are running Ubuntu on their desktop. I'd venture that over half of the world's population is touching a server running Ubuntu right now. Wow. Netflix, Wikipedia. I mentioned Uber, Lyft, Tesla, Instagram, Snapchat. All of these are services running on Ubuntu servers. And Ubuntu isn't up front and in the spotlight there, but it is critical to the operations behind this podcast, for instance. Yeah, I mean, it totally is.
Starting point is 00:28:42 I know that the CDNs, we probably have the MP3s being distributed through, you know, run Ubuntu or Linux for sure. Yeah, I mean, I always knew. So I've always just put Debian on my servers just out of habit almost more than anything else just through the years. Because maybe even back when I started with Ubuntu, it didn't have a server edition. But I've always just thought Linux powers the web. But I've never really thought about it as that's like, do you know what percentage of that is Ubuntu? Has Ubuntu gotten so big that it's in the 80, 90% of Linux distros
Starting point is 00:29:17 that are running web servers out there? Or is that just a conjecture? Right. So right now, this is public data from W3Tech. I'm going to pull this up so that I quote the number right. But just in the past month, Ubuntu has surpassed all distributions for the plurality. More web servers are running Ubuntu than any other Linux. We've been running neck and neck with Debian for many years. And by the way, we love Debian. Many Ubuntu developers are
Starting point is 00:29:52 also Debian developers and vice versa. Canonical employs 100 plus Debian developers who work on both Debian and Ubuntu. It's a very close relationship. So we certainly don't pit Ubuntu against Debian. There's quite a lot of collaboration, and we want to see that collaboration continue. But right now, w3techs.com has been tracking web servers. Basically, they just sniff the web. They ping a web server with a couple of queries and then inspect the response
Starting point is 00:30:30 and try to guess what web server it's running. Ubuntu is now running 32.5% of the web as of May 25th, 2016, which is today. Debian comes in a close second, followed by CentOS at a distant third. But yeah, we're quite proud of that. In fact, if you look at the trend line, it's looking very strong for Ubuntu, and almost everything else is in decline at this point. So I think your premise here is on, and it's certainly that Ubuntu is definitely winning the web. Why do you think it is?
Starting point is 00:31:11 What makes someone choose one distro over another? Is it, in Jared's case, where it's maybe habit or comfortability or whatever? Why do people choose a certain distro? So with Ubuntu, I think it starts with what we open the podcast with which was the stability i would say cadence plus the velocity the stability and the quality of the three things the first one the cadence that we release ubuntu every six months gives the developers really fresh libraries compilers all of your dependencies are certainly baked in um to ubuntu and available.
Starting point is 00:31:46 App install, almost anything you could possibly want, and it's already there. Maybe it'll be there in CentOS. Maybe it'll be there in another distro, but it's almost certainly already there in Ubuntu. The second one is quality. We put a lot of effort into ensuring quality and that the quality of Ubuntu is on a trend line that's moving up and to the right at all times that we're always getting better than the last release. And, you know, I think it's, I think choice is the fact that we've given you basically the entire open source world is at your disposal. So let me bring that back to the question about Windows. So Ubuntu on Windows, Bash and Windows. So, you know, we set out to dominate, to win the desktop. And while we didn't do that, new and interesting places to bring Ubuntu. So I was in, I guess it doesn't really matter.
Starting point is 00:32:52 It just happens that I recall exactly where I was when I received the phone call from my colleagues at Microsoft saying, hey, we've got something we want to show you. I was in Heathrow Airport trying desperately to get on Wi-Fi so that I could stream the desktop share over Skype and see the demo of what the team at Microsoft had been working on. And essentially, it is the technology underneath the Bash on Windows, Deep Windows on Windows. It's something called the Windows Subsystem for Linux, WSL. The Windows Subsystem for Linux is a layer that runs basically in or just on top of the Windows kernel that's able to run native Linux binaries. Native Linux binaries, ELF binaries compiled running on Linux, eventually call out to the Linux kernel for system calls,
Starting point is 00:33:47 things like open, close, malloc. You know, it's the fundamental technology, the fundamental interface between the kernel and user space. And so the Windows team created this layer that was able to intercept Linux system calls and translate them to Windows system calls, which is really cool. That's not virtualization. Virtualization is presenting a whole fake hardware emulator, basically.
Starting point is 00:34:19 And an emulator is also similar to virtualization in that it's really emulating an underlying system. And both of those, while they've gotten faster, are still inherently slow. What this syscall translation is doing is extremely fast, and it feels very, very, very native. And that's it. So the team brought to Canonical this technology that they developed and they identified Ubuntu as being the user space that would be most attractive to most Windows users and basically invited us to collaborate with them on this. And so we started working on that. I kind of led the effort from the Canonical point of view. And we're essentially delivering the exact same byte for byte,
Starting point is 00:35:08 package for package user space, user mode. User mode is what the Microsoft guys call it. Maybe that's a Microsoft term. I would call it basically the root file system, the same root file system that we test and publish to all of the public clouds for an Ubuntu server, that command line environment that you're familiar with if you use Ubuntu in the cloud. We make that same root file system available in the Windows Store,
Starting point is 00:35:35 and it's downloaded just as part of running the bash command, essentially. So you run bash. The first time it downloads that small that small Ubuntu image, uh, loads that up. And then at that point you're sitting in a, in a, in a bash shell and almost anything that you would do on a Linux, Ubuntu Linux shell should work inside of there with a couple of caveats and the Microsoft team are working to close those gaps as quickly as possible. And then to the, to, to your point at the very top of the show, it's more than just bash. And that's the beauty of it. You know, it's, it's, it's, um,
Starting point is 00:36:10 uh, it is bash. That's the way you start running, uh, the, the technology, but bash is really, you know, LS and find and grew up. And that's kind of, that's, that's kind of the end of the shell. Actually, we ship Apt. Apt is the package interface, how you install additional packages onto Ubuntu, how you have access to 50,000-plus binary packages freely available on Ubuntu. So you can Apt install almost anything. And I say almost.
Starting point is 00:36:42 We're really not focused on graphical apps right now. This is really just command-line apps. But still, there's tens of thousands of command line apps that are at your fingertips through Ubuntu's archives, through the Ubuntu repositories. And that's why it's so much more than just Bash. It's GCC and Golang and Ruby and Python and Perl and PHP and everything that you would normally do on an Ubuntu system is now right there inside of a Windows shell. That's awesome. So let's get this personal for a second
Starting point is 00:37:16 because you have your own little, I guess that could be condescending to call it little, you have your own open source project called, help me out here, Biobu. Is that how you pronounce it? Yeah, Biobu. Biobu, which is a text-based window manager and terminal multiplexer.
Starting point is 00:37:34 So this is something you've been working on over the years. And is this something that you can get up and running inside of Windows? Wow, so they're working hard on the underlying system call that it depends on. It needs to be able to allocate a TTY, basically. It's just part of the underlying terminal technology. But it's one of the top bugs, top priority bugs that the kernel team is working on right now. So it doesn't yet work, but it is absolutely on the roadmap and certainly planned. It's one of the most asked for features missing right now. So yeah, Biobu, it's a passion of mine. I'm surprised and delighted that you asked about it, actually. It's kind of a part-time project.
Starting point is 00:38:16 You know, it's certainly not part of my day job. And for the most part, it's implemented technology. It's really just sort of bug fixes I work on now. But Biobu, it started out as a better version of Screen, if you're familiar with Screen. Screen is a beautiful program, but it's kind of old and a little bit neglected. And then eventually Tmox came along
Starting point is 00:38:39 to sort of be a better implementation of Screen. So on top of both of those, I've created this project called Byobu, which ships a set of configuration, opinionated configuration defaults and key bindings that turns either old school screen or the much newer Tmux into a really rich command line windowing environment, essentially. It's all command line, but it has a number of advantages. You can run commands and then detach and come back later, which is really important when you're doing some work in the cloud
Starting point is 00:39:17 and maybe you're on a lossy connection, your connection drops, but you want to make sure your long-running command continues. Or maybe you're going to kick off this job and then drive home and come back and check on it later. So that's all very natively baked in, as well as the ability to split the screen, horizontal, vertical splits, chop it up, run multiple windows, sharing the sessions. That's actually really useful. We use it for pair programming across the world. I mentioned Canonical is very widely distributed around the world. It's a very common mean for us to share a stream. So we'll have an instance running somewhere in Amazon or Azure or OpenStack.
Starting point is 00:39:59 And then we'll run SSH import ID and we'll give someone's GitHub or Launchpad user ID. We'll pull down their SSH key and then that person can SSH into that system. And then with Yobu, we're both looking at the exact same terminal. We're both typing and we can see what one another are doing. It's a great sharing a screen at much higher resolution than, say, a Skype or Google Hangout screen share. You're literally in the same session. That's awesome. Well, we'll definitely link up Beoboo in the show notes.
Starting point is 00:40:32 That's something that I'm sure our listeners are quite interested in. I'm a fan of Screen slash Tmux myself, old-school Screen user. Recently switched to Tmux because of some problem I had with Screen and a pretty pedestrian user of both. But nonetheless, awesome tools and anything you can do to like put those on steroids is much welcome. So check out Beoboo if you're out there listening to the show notes. Let's get back to Windows a little bit here. So Microsoft teed this up and sounds like they had done a lot of the heavy lifting for you guys before they reached out for the collaboration.
Starting point is 00:41:07 From the time that you got that call in the airport to the point where we had an announcement at the end of March, give us a time frame and the amount of work you all had to put in to get this up and running. Right. So Microsoft absolutely has done all of the lifting on the Windows subsystem for Linux. That's all proprietary code baked into the Windows 10. It's low-level Windows kernel stuff. Canonical could not have offered any expertise there for sure. I certainly would not want to diminish the role that Canonical and Ubuntu have played in building the distribution, that root file system that we publish and we make available. And then essentially, it's a really interesting meeting of two worlds.
Starting point is 00:41:56 There's this world of Windows desktop users that may know a little bit about Ubuntu. And then there's this world of Ubuntu developers that may know a little bit about Windows. But now being able to use the two within the same environment, I think is sort of a, I don't know, a dawn of a new era almost, you know, where you really are crossing the boundaries of a traditional desktop and the world of open source software. So in terms of timeframe, you saw the announcement March 31st at Windows at Microsoft Build
Starting point is 00:42:34 was when it was announced. We worked on it. I worked around the clock for a couple of months from basically January, February, March were intensely dedicated to that. We had a small Tiger team at Canonical working on it who were closely tied into the team at Microsoft. We worked very closely.
Starting point is 00:42:57 I flew up to Redmond a couple of times. And it's been a fantastic collaboration. We've really enjoyed working with that team. I'm curious the future of Windows in this case, because in the backhand, I'm sitting here thinking to Jared, asking questions like, you know, will this ease the common pain of setting up dev stuff on Windows? Like, you know, when you set up Rails or anything like that on Windows,
Starting point is 00:43:22 there's always some sort of glitch, always some sort of problem. And since Microsoft came to you all as the motivated party, had done the research, had done all this extra work to kind of even tee it up and then chose you as the Linux distro to do it all, there's got to be some future plan there and maybe even some reduced pain in terms of dev environments and people who want to use Windows but still be developers, as you mentioned, those in coffee shops using Macs or some sort of flavor of Linux to work on might be the case. Let's break real quick. We'll come back and we'll start talking about the future and maybe even
Starting point is 00:43:55 some loss of pain for those developers out there on Windows. We'll break now. We'll be right back. Our friends at BlinkCell are sponsors of today's show, the second commercial rails app to our knowledge BlinkSell is the easiest way to invoice online you can sign up online or in the app you get a free 15-day trial with no credit card needed they do invoicing really really well give you estimates thank you templates recurring invoicing integration with stripe for fast payment no tier plans one price for unlimited amounts of everything they offer. Head to blinksale.com slash changelog to get started. And a special discount just for our listeners. Email patrick at blinksale.com to get a 20%
Starting point is 00:44:36 off lifetime discount. This is for our listeners only. Our members get an even deeper discount, 40%. So if you're a member, head to changelog.com slash benefits to claim your 40% off. Once again, head to blingsell.com slash changelog to learn more and get started. Now we're back from the break. Got Dustin here and talking deeply about this motivated party called Microsoft who needed, wanted, desired,
Starting point is 00:45:03 built technology to put Bash slash Ubuntu on, on windows. And it just seems like they came to you so motivated. And I'm just curious, um, what your thoughts are on like why they had this desire so much, like obviously they did the research. And if, uh, if there's a developer doing something on a windows computer or any of the computer, they're going to be doing something in a VM or some sort of Linux distro to do the development. But how does this play out to the future of Windows?
Starting point is 00:45:32 What do you think, Dustin? Yeah, so the motivation, I think, is pretty obvious, particularly when and where Microsoft announced this at their Build Conference, a developer-focused conference. The motivation is to ensure, from Microsoft's perspective, to ensure that developers choose Windows, use Windows as a desktop platform, making the Bash command immediately available and bringing into the Bash command the Ubuntu user space,
Starting point is 00:46:02 all of the Ubuntu tools and libraries, was sort of the missing piece you know just having bash alone uh you know you could have a busy box or something but a but busy box which is just basically bash uh statically compiled um isn't enough for a developer to to to to use it um having that entire ubuntu user space, app install, you mentioned Ruby, and then Ruby libraries, and then from that, gem install, whichever libraries, certainly brings a very native development experience to a Windows desktop where, you know, writing code in Visual Studio is fine and dandy, but you, you know, a typical Windows developer would then need to get, commit that, and then push that, and then launch a VM or an instance in the cloud to actually test it.
Starting point is 00:46:52 So one of my colleagues at Microsoft who's been super vocal about this, sort of a, I guess, call him a peer product manager at Microsoft, is a guy named Scott Hanselman, extremely active, a great blog, and very active on Twitter. Scott has been quite vocal about how he's using this Ubuntu on Windows to do Ruby development, Rails development, Mongo, all natively on his Windows desktop. Across the board, I've met a number of people who, in some cases, are relieved, thankful,
Starting point is 00:47:32 appreciative of this work, in that in many cases, they've got a company-mandated desktop, which is a Windows desktop. And they're so pleased with the ability to have that world of Ubuntu and open source natively available in a command prompt at their fingertips. That resonates with me. I think once I found the Linux shell and was exposed to that in college, there was just no way I could go back to command.exe on its own, even with PowerShell and these other tools. It just wasn't the same. It just didn't feel right.
Starting point is 00:48:08 And so that has kept me away from Windows, honestly, as a developer for a long time. How about the, let's talk about like the practical use of this. Now it's still in beta and all that. I'm sure there are things that are being worked on and bugs to iron out and system calls that aren't quite bridged yet or whatever the term we use for that layer is but what about practical things where the two operating systems or the two environments meet kind of where the you might find an uncanny valley at times thinking of like system paths file naming conventions um well first first with this, is the shell isolated inside your environment
Starting point is 00:48:46 or is it exposed to the Microsoft, or excuse me, to the Windows file system? It goes both directions, actually. The Microsoft team did a really nice, tasteful job of this. In the Linux shell itself, if you cd to slash mount slash c slash windows, or sorry, just slash mount slash c, you can see your entire Windows file system.
Starting point is 00:49:11 You can see all the files and directories. You can VI a file. You can edit a file. You can touch create. You can remove files. You can do anything that you would be able to do natively as the user who's logged into the Windows shell. And in fact, that goes both directions. You can also open the Windows Explorer
Starting point is 00:49:30 and I've forgotten the exact path, but you can navigate to the entire Ubuntu shell and do the same thing. You could open up a C file in Visual Studio, for instance, or create a directory. It's actually the same file system in both directions. Very cool. Now, so you admitted in your announcement blog post that even this announcement is odd for you, or not the announcement's odd, but the using of it's odd because you hadn't used Windows in nearly 16 years, which is kind of funny. But for people who have like Scott Hanselman and these other people who started to like use it for ruby development or for whatever it happens to be that they normally
Starting point is 00:50:10 be using uh either a virtual machine from a mac or using you know a cloud machine or even just a linux desktop have they have they seen the the uncanny valleys or is the grass really greener when you bring the two together? I think it's clearly greener. Find, grep, xarg, sed, awk, all of that right there. It's not SigWin. It's not a virtual machine. It's operating in the file system. I'll sort of recount the anecdote I shared in my blog in that it's so poignant and it's so literal and true to actually build. So we take the Ubuntu image, that root tarball, that Ubuntu tarball, and then we have to repack it into an appx file, which is basically just a zip file wrapped around some
Starting point is 00:51:07 metadata. So to and to upload that to the Windows Store, I needed to use Visual Studio. And I am not lying when I say I haven't used Windows as a desktop since since Windows 2000, since the year 2000. And so I installed Windows, and that was an interesting experience. And then to build that Apex, I had to do a bunch of work in Visual Studio. And, you know, Visual Studio has a tremendous reputation. It's this huge environment, and I think once you're comfortable with it, you can probably do some incredible things at a very large scale. Well, guess what? I really didn't need to do anything at a large scale.
Starting point is 00:51:46 I needed to make a couple of copies of a couple of files, some metadata. I needed to replace all instances of sample app with Ubuntu, essentially. And I sort of fought and struggled clicking my way around Visual Studio until at some point I just decided, hey, you know what? Let me actually just try this. And so I dropped to the bash shell. I cd'd into mount c users and settings, Dustin Kirkland, my source directory. I found the directory that I was working in.
Starting point is 00:52:25 I renamed the directory using the move command. I did a deep find, find dot in that directory, pipe grep for sample app. Okay, found all the files I needed to edit, piped that through XARGs and renamed all of those files in a fraction of a second. And then I needed to do a deep grep through the data in that directory for all instances of the word sample app or whatever it was, and then do a sed replace. So another grep, another pipe to XRs, another sed, and I replaced all of those instances of sample X. And then I flipped over alt tab back over into visual studio, reloaded and hit compile. And it just worked.
Starting point is 00:53:11 And it was really neat to do what I was really comfortable with, you know, fine, arc rep said, X args. And then, you know, for various reasons, I needed to be in visual studio and windows. And those two really worked seamlessly. I didn't have to FTP some files around or get push or or or SCP or copy. Oh, speaking of SCP, the other thing that was neat was when I needed to SSH from that Windows machine to another Ubuntu machine. And I can natively run on that Windows system directly to the local file system, rsync, scp, ssh, without setting up a putty or some other third party going and fetching another third party tool. It does sound like pretty green grass.
Starting point is 00:54:02 It sounds pretty good. I mean, I think that this could be a huge boon for open source projects especially when the burden of maintenance between multiple operating system is such a yeah a problem um for many developers who even would love to support windows users they don't even have environments that they can test against windows in order to provide support and so it's often a pain point or people when they're calling for help, it's like, please, if you have Windows or if you're on Windows and you use this, you know, provide help, give us good bug reports or even help us fix these things.
Starting point is 00:54:34 Do you think it's feasible that once this comes out and is out there in the wild, readily available for developers, that it would be socially OK to say, you know, our Windows support is via, you know, Bash on Windows or via Ubuntu on Windows, and we don't have any first party support for the operating system. Wow, that's a leap. Possibly. I should also caveat this with the fact that Microsoft has said that this is Windows desktop only, Windows 10 desktop only. So they've not announced any plans to bring this to Windows the server. So running a
Starting point is 00:55:11 Rails web application or some sort of server application at least at this time is not natively supported and there's no commitment from Microsoft that that's even coming. So let's relegate your question to desktops. Sure. Possibly, you know, I I'll tell you this.
Starting point is 00:55:30 The next time someone asks me to help fix their Windows machine. Traditionally, I just, you know, plead, plead. Yeah, exactly. The next time someone asks me to fix their Windows machine, I'm actually going to I'll actually fire up a bash shell and see if I can poke around and figure out what's what's wrong. Maybe now there are limits to what how much of the Windows hardware can be seen from Linux. So, for instance, direct access to some of the storage drivers of the video drivers and stuff is still going through a Windows layer. But yeah, I think there is an opportunity to certainly make, I don't know, scanning the file system, backing up data, just some of the tasks that are strictly file driven, that we're really good at doing things against file descriptors in Linux, I think some of those tools may make it over to Windows in a hurry. I think it's a huge opportunity.
Starting point is 00:56:32 I don't know if this is on your radar, Dustin, or not, but I imagine it probably is. But I think about what kind of developer typically is running Windows. And if you look at the landscape of available consumer, you know, desktop laptop machines out there, you've got various flavors of Windows, right? You've got various flavors of Linux, and then you have Macs out there. But typically Macintoshes are more expensive.
Starting point is 00:57:00 And universally, Windows tend to be, you know, lesser expensive expensive machines and so by doing this it seems to me like you've we always talk about the accessibility to to software to being a developer to learning to code on this show and we've talked about that the last several shows sarah chips with jewel bots and things that, bringing access at a younger age. It seems to me like I could buy my daughter a Windows machine that runs Windows 10 pretty expensively, and she has access to everything I would want her to have access to, to be a developer, right?
Starting point is 00:57:39 With this new access to Bash and the shell and Linux and Ubuntu, like that's awesome. It's, it's now become a much more lower barrier with still great tools. I think it's amazing how many more people open source software will touch through this, uh, through this development. I think that's the most amazing part about it. Um,
Starting point is 00:58:02 you know, the internet is, is full of all sorts of opinions. And I saw, I saw a handful of. You know, the internet is full of all sorts of opinions. And I saw, I saw a handful of, you know, the sort of to be expected negative opinions of, you know, why would Canonical do this? Microsoft's the enemy. You know, don't, don't we build good Linux desktops environments? Why would you do this? And to most of them that I had the opportunity to reply to, you know, I really tried to speak to their heart and say, guys, your love of open source, just think about how the fact that that's now available on Windows desktops, or will soon be available on any Windows 10 desktop, we've made the entire open source world of software. And, you know, to their extent, our mission, our somewhat religious mission that open source is just a better way of doing things. I still believe that at my heart. I dual
Starting point is 00:59:06 boot my laptop now into demo bash on Windows, but I still run Ubuntu as my primary desktop, and I still develop open source software because I love it. I'm just thrilled that over the next five, 10 years that all of this open source software that I've written over the last 20 years will be available to even more people than ever before. I love all I love the sound of all that. And by the way, a quick question on limitations. And before we get to some of our closing questions, you mentioned, you know, there's some certain system calls that aren't quite there yet. Obviously, Microsoft is not too interested in, you know, Windows, or, you know, X or window managers or graphical applications coming from Ubuntu over. You also mentioned that it's desktop only,
Starting point is 00:59:50 so server deployed things, which I'm not sure why you wanna do that anyways, because you could just deploy it to a Linux server. But I guess if you have existing infrastructure that is based on Windows licensing or something. What are some other limitations that either are going to disappear or they're just kind of going to always be there uh in this environment that you know of yeah so let me clarify a couple of the the first ones first so yeah i think we both we both canonical and microsoft and you know it
Starting point is 01:00:23 sounds like yourself as a potential user all understand that bringing this to Windows Server doesn't make as much sense. If you're in a Windows Server, you're probably a PowerShell user anyway, which PowerShell is great and amazing work as well. And if you're really going to run
Starting point is 01:00:40 a server workload, by all means, please run it in Linux. And ideally, you know, from Microsoft's perspective, that's a Linux running in Azure. That's a Linux running in a Hyper-V. So we all kind of looked at that and went, yeah, if you're doing it that way, you're kind of doing it wrong.
Starting point is 01:00:57 So let's not focus a whole lot of effort onto Bash on Windows servers. So that's sort of the color behind that first one. The second one you mentioned, or the other one you know, bash on Windows servers, right? So that's sort of the color behind that first one. The second one you mentioned, or the other one you mentioned, was about X applications, you know, what we call in Linux X applications or graphical applications. Believe it or not, a super motivated, and this is just the beauty of open source,
Starting point is 01:01:22 kids will be kids, I guess, there's actually X Windows applications now running on Ubuntu on Windows, believe it or not. Yep, I have myself launched Firefox. Now, Firefox is a silly example because you can run Firefox natively on Windows. But I've actually run the Firefox binary from the Ubuntu archive, export it on the same system over a local, you know, export display equals local host
Starting point is 01:01:50 to the local machine, as well as a couple of other minor X applications. That's using an open source project called Xming Server. It's basically an X server for Windows. So you go out to the X main server website or GitHub, you pull down the.exe binary, install the X server on Windows, and then run that, and then you can app install some X applications. Some things still don't work, and most of them come back to basically
Starting point is 01:02:19 those same system calls we know aren't currently working. Dbus right now is sort of the message bus, low level message bus, it's got some some problems. So for instance, I wanted to run gnome terminal, because I hate the Windows command.exe terminal. So I wanted to run gnome terminal or Terminator or any one of the X terms from from Ubuntu. And all of those kind of depend on that D bus, which is related to the other things that's still not yet working. But the team at Microsoft working on this,
Starting point is 01:02:54 they're fully, they're well-staffed and smart guys. This wasn't a sort of a proof of concept that gets announced and then abandoned. I've got every bit of confidence that it's getting better and better over time. So we've all had the Bash on Windows or Ubuntu on Windows announcement. The next question is,
Starting point is 01:03:14 when are we going to hear about the Windows on Ubuntu announcement? So that's kind of, you know, some people describe this work as the reverse of Wine. If you're familiar with Wine, Windows emulator, it's kind of how you sort of run some Windows applications on Ubuntu. I know that Wine has saved my bucket on a couple of, I don't know, update the firmware or update my,
Starting point is 01:03:42 I updated my firmware on my plantronics headset using wine uh not too long ago um but yeah this is sort of the reverse of wine um so i'd argue that without this wasn't wines obviously not microsoft driven but uh windows emulation on linux has been around and um while not fantastic it's certainly functional for many cases. Right. But it's always been emulation. Whereas this seems like it's a little bit more native system call. Yeah,
Starting point is 01:04:12 indeed. Yeah. So we're not, we're not working on that right now. It was a joke. Okay. It was, it was a joke,
Starting point is 01:04:20 but I was like, he's taking it seriously. Sorry. That's good though. You're, you're on point. That's, that's, we want, Sorry. That's good though. You're on point. We want that. This is a serious closing question, so don't take this one as a joke,
Starting point is 01:04:30 but there's a lot of listeners tuning in. You know the numbers, users of Ubuntu, lovers of Ubuntu, and I'm kind of curious for those out there who care about this mission, this mission of not so much just using Ubuntu where it's at, but, you know, enabling Ubuntu on Windows even better. What things out there, what ways can people or the open source community step in and help push this mission along with you? How can they step in?
Starting point is 01:05:00 Yeah, so, I mean, there's a ton of ways to contribute to Ubuntu. I got started as a contributor to Ubuntu before I became an employee of Canonical. Just sort of my background in open source, there's a way of doing open source. And it's great whether you're young or old or anywhere in between open source communities. It's a brilliant way to learn and get better and contribute to society, to the technical world. It can start as easy as reporting bugs. It's something that myself as a developer, I spend hours every day reading bugs, replying to bugs, reporting a bug, a good high quality bug with how to reproduce these instructions,
Starting point is 01:05:43 not just this pissed me off and I hate you, but like, hey, here are my logs. Here's what happened. Here's how to reproduce these instructions, not just this pissed me off and I hate you, but like, hey, here are my logs. Here's what happened. Here's how to reproduce it. I've tried it on two computers. That's incredibly, that's a huge contribution to open source and requires no programming skills necessarily. Contributing to the mailing lists, we have a Stack Exchange channel. It's actually the third most popular channel on all of Stack Exchange. It's called askabuntu.com. You can get involved asking questions or providing responses and voting up or down responses. That's a great way to get involved that, again, requires a little bit of technical interest, but not necessarily technical expertise. We'd love to see more questions and answers around Ubuntu
Starting point is 01:06:27 and Windows at Ask Ubuntu, of course. And then from the developer perspective, man, the possibilities are endless. From contributing to source code on GitHub or Launchpad, you should absolutely have accounts on both GitHub and Launchpad. Follow the projects you're interested in, branch or fork the projects that you're interested in and provide patches or contributions or even just using it and provide feedback is incredibly valuable. It's a, and you know, especially for your younger listeners,
Starting point is 01:07:01 it's a great way of building out a resume long before you even know, long before you actually even create the resume. I've hired dozens of people who have barely have a resume, but they have a GitHub profile and a LinkedIn profile that show me what they've worked on. It comes across your code comes across as more important to me than than than, than, you know, a 10 page resume or a huge CV or something like that. It's, it's really the way to get started. I've hired interns, I've hired new hires straight out of college. I've hired high school kids that just, they, they know, they, they know what they're doing and they've contributed to open source and their contributions are, are very public and visible. Oh, and I'll end with one last thing.
Starting point is 01:07:49 And I'll say that this is, you asked about some of the reasons why Ubuntu has been successful. I'll tell you one that's at our core and it's one that doesn't get noticed. And in fact, that's kind of a good thing. But at the core of Ubuntu, we have this thing called the code of conduct, the Ubuntu code of conduct, all Ubuntu developers are required to sign it. And it really governs the way that we behave with one another, you know, and so while there are arguments, we tend to focus on technical fights, as opposed to personal fights, right? You can attack the code, but never attack the person. And that's so important. And it's really part of the friendliness of the Ubuntu ecosystem. So I would say that whether you're working in Ubuntu or the Linux kernel or anywhere, you know, treat one another well, treat one another like humans, because all of that code that I said, just said was public and becomes part of the
Starting point is 01:08:46 public record your actions on those mailing lists are absolutely part of the public record as well so you know treat one another well it's it's important well on the note of of open source we commonly ask this question and you might have gotten it in the email when we get up to call and prep you for everything but we like to ask, especially someone like you who comes from a company who leans on and supports and cares so much for open source, I got to imagine that you've got an interesting radar, meaning if you had a free weekend, what's something that you haven't played with or you'd love to play with that if you had a free weekend and you had nothing else to work on, this would be something that you would hack on.
Starting point is 01:09:23 What would that be for you? Wow., I've got a lot of nights and weekends projects. I'm working on two right now. Um, one is an Alexa skillset. So I recently bought an Amazon echo, you know, uh, Alexa play, uh, play fish on, uh, on Pandora and she's playing the fish radio station. Alexa, read me the news. Alexa, what's the weather? I'm actually working on an Alexa skill for man pages. So I have some that I wrote a long time ago that actually parses all of the Ubuntu dev files every night and looks at any that have changed.
Starting point is 01:09:59 And if it finds one that's changed, it cracks open that dev, extracts any man pages, and then publishes them, renders them to HTML formatted and linked and everything. And it publishes them at manpages.ubuntu.com. Well, as you can imagine, I've got a wealth of man pages there. I'm actually working on an Alexa skill that says you would say, Alexa, man SSH. And then Alexa would come back and read you the first line of the SSH man page and say, hey, would you would you like to know more? Is that useful? I don't know. But it's useful for me to learn how to write an Alexa skill to, you know, sort of get into that AI machine learning. Yes, that's what I'm looking to learn. The second thing, and it's closely related to that, because I have this nightly job that cracks open every
Starting point is 01:10:50 dev published to the Ubuntu archive, it's very easy for me to extract other files from that dev. So I have another side project that's also in that sort of machine learning space, and I say it's pertinent to you guys because every package
Starting point is 01:11:05 in the Ubuntu repository has a file called Debian changelog, which is the history of that Debian package. And some of those packages go back to the early 90s, in fact. Some are more recent than that. But they follow a very consistent parsable format. And so I've got part of that sort of nightly script that I've written also indexes the change logs. And right now I'm rendering that to basically a huge blob of JSON that I can then import into MongoDB or Postgres. And I guess the part of the project
Starting point is 01:11:42 I need a night or a weekend to work on is actually developing some intelligence, deriving some intel from the changelogs. Who's changing what? How often is it changing? What things have been abandoned, obviously haven't been touched in a long, long time? Those are sort of the interesting questions I'd like to ask that, uh, that, that, that SQL or no SQL database. Make sense. Makes sense. I think it's interesting. The Alexa piece,
Starting point is 01:12:11 the, the skill learning. I don't know if I would use it, but, uh, I could see if anybody out there, I guess it could be used. I would,
Starting point is 01:12:18 I would talk to Alexa about man pages. That'd be cool. But you, would you care about that? Alexa to RTFM. I mean, that's worth it right there right that's funny you say that if uh as you as you close the alexa skill she thanks you for reading
Starting point is 01:12:32 the friendly manuals nice i don't know adam i think uh i think you have a kindred spirit here with regard to changelogs i feel like that data dump could be very interesting for us. Yeah. It is one very large data dump of literally change logs. Well, we're eight minutes past the show time for this show. Anything else you want to say in closing, Dustin? I did want to touch on the business side of Canonical. I'd love to share our experience you know, our experience about, you know, what Canonical is as a, as a company, you know, and tee that up with a, with a, you know, our listeners are in some of them building businesses or interested in building a business around open source. How does Canonical do it? That's one that I, you know, I'd, I'd like to have two or three minutes to, to, to talk about.
Starting point is 01:13:22 Let's do it. I mean, that's, we're, we're always curious about that. You know, I mentioned in a break earlier, we were going to pull into the show. We just didn't find time to because we were kind of talking about necessary things. But I'm curious with a staff, like, is it an actual staff of 750 people all across the world? Are they all paid employees? And I'm really curious how you sustain and make money.
Starting point is 01:13:44 756 employees across 47 countries. Paid employees, yep. And then a much bigger open source community of friends and foes that write open source software that filters into a button. Friends and foes. So what's the story behind, I guess, the company side of things? How do you make money? So that's the story behind, I guess, the company side of things? How do you make money? So that's a good question.
Starting point is 01:14:06 And I mean, it's extremely important to the long-term sustainability of Ubuntu. The success of Canonical is very importantly tied to Ubuntu continuing to be available to everyone in the world. Canonical itself has a couple of businesses, a couple of parts to the business. First of all, the company is really split into two halves. The one half works on laptops, desktops, phones, and devices, now sort of IoT connected devices. The other half of Canonical works on servers and clouds, virtual machines and containers. But the two work, you know, we share a lot of technology.
Starting point is 01:14:53 Our businesses are a little bit different. So, you know, at its core, Canonical is a services company. We offer suites of services that surround Ubuntu, right? We don't charge for Ubuntu. The bits that make up Ubuntu on your laptop or desktop or in the cloud are always free to you, right? We don't charge for Ubuntu. The bits that make up Ubuntu on your laptop or desktop or in the cloud are always free to you, right? You've never paid for Ubuntu itself. But there are many, many enterprises and organizations, some individuals that choose to buy auxiliary services from Canonical. And those services at its core, often start with support services. So we do have commercial support where we try to help ensure large institutions, typically that have built a business around Ubuntu.
Starting point is 01:15:35 They heavily depend on Ubuntu. We can try to help ensure their uptime, the security of their packages. They have a phone number to call. They have an interface to connect with our support engineers who can then help troubleshoot or debug maybe a kernel performance regression or a security issue or something like that. That's our support services. And then we also provide consulting services. So some of the biggest telephone companies in the world, AT&T, Deutsche Telekom, are building their data center infrastructure services around Ubuntu OpenStack.
Starting point is 01:16:14 And we engage with them at a very large scale to provide consulting services where we help design and implement that cloud. And then we have a large number of customers where we provide, Canonical provides what we call level three support. So that customer might take the first and second phone calls from the customer. IBM is a good example. So IBM has its own customers a lot in, let's say, the financial industry, Wall Street or something like that, where they're using Ubuntu.
Starting point is 01:16:45 They call IBM for the first level and the second level of support. But when that IBM engineer needs some help from a canonical engineer, IBM can then pick up the red phone, call canonical, and receive first-rate Ubuntu support from an Ubuntu expert. So those are sort of the support services. And then we also do, let's call it OEM work, or work with OEM, which was originally hardware manufacturers, ensuring that Ubuntu, you know, as it ships on Dell PCs and HP servers and IBM servers and lots of others, now network switches, As Ubuntu ships on those devices, we help that engineering team build the image of Ubuntu that runs on that switch on that server.
Starting point is 01:17:33 But we've also seen that same model work very well with the major public clouds where Canonical curates, secures, provides,, QAs, the images in those clouds. So all of those are commercial engagements that Canonical, that helps sustain Canonical, helps pay the salaries of the 700 of us, 756 of us working all around the world. That's amazing. I mean, I think it's interesting to think about Mark too, and his past to get, you know, I guess the We're reviving and relaunching Founders Talk, which is a show I did that kind of peeks into the life of an entrepreneur, a founder, to look at what they did, why they did it,
Starting point is 01:18:33 the fails, the successes, all those things. And it would be interesting to talk to Mark about the deeper details if he'd be game, for sure. Mark would regale you with stories from the International Space station to uh his trip to antarctica after after you go to space where do you go next he took a three-month trip to antarctica where he printed out a thousand pages of debian um mailing lists and he went through the mailing list with a with a pen and a highlighter and circled a bunch of names, which were the first 20 people that he contacted and said, hey, I'm an African billionaire and I want to start a company.
Starting point is 01:19:13 Come help me make a bun too. Wow. I love this guy already. Yeah. I want to have that conversation. It makes me want to start Finer's Talk again right away. Soon, though. Very, very soon. We have a lot of things happening here at the Change Law to make all that happen.
Starting point is 01:19:30 So very soon, listeners, if you are a past listener of Finer's Talk, it's coming soon. And that conversation with Mark could probably very well happen very soon. But we are out of time for this show, Dustin. It was an absolute pleasure to deep dive into this Linux Ubuntu Windows history and future and the new abilities and access to so many developers out there, to everything from Linux to open source that's available now. So thank you for all the hard work you do. And to the listeners, we thank you as well for tuning into this show.
Starting point is 01:20:02 But that's it for this week, fellas. So let's say goodbye. Goodbye. Thanks, Dustin. Thanks, gents. We'll see you next time.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.