LibrePlanet: Conference/2019/Transcripts/freedom-is-fun

From LibrePlanet
Jump to: navigation, search

Download transcript in multiple formats: Bdale_Garbee_Freedom_is_Fun!_LP2019.zip

-[FREEDOM IS FUN! - BDALE GARBEE CC BY-SA 4.0]-

-[ https://media.libreplanet.org/u/libreplanet/m/freedom-is-fun-bdale-garbee/ ]-

-[TRANSCRIBED BY JOEPUBLIC, JOE@FREWORLD.INFO]-

[MOLLY DE BLANC] Outreachy is a conservancy project, and the conservancy is another free software organization, that has such illustrious associations with people like Bdale Garbee. Bdale will be giving our first keynote. This is not the only thing he has done that is particularly noteworthy. He has been on a number of boards and led a number of projects. He has advocated for the GPL, and copyleft, at some of the highest levels of the technology industry. He's been an impressive and stalwart contributor, and advocate for, free software for a number of years. But in addition to all this serious stuff, he's also just a lot of fun. And he's going to be spending some time right now, talking to us about the ways that he has had fun with free software, and hopefully we can find some inspiration and have fun ourselves. So, thank you Bdale. (Thank you.)

-[APPLAUSE]-

[BDALE GARBEE] Did I find the right button? Yeah, great. Good morning everyone. Thank you very much for getting up and being here at this time on a Sunday morning. For those of us that are from time zones to the west, it's a little exciting, but, hopefully this will all go just fine. How do I start the...? (Inaudible.) F11 to get out, (Inaudible.)

Yeah, sorry, it's your notebook, not mine; I don't know where things are. If you'll get me started... Yeah, there we go. Awesome. Thank you so very much.

So, first of all, I'd like to thank John for inviting me to be here. I realize that this is actually the first time I've attended LibrePlanet. And I can't believe how successfully the staff organized the weather for this weekend; it's just amazing.

-[LAUGHTER]- I actually did attend an FSF-sponsored meeting a whole lot of years ago, but it was certainly before the name of the event was LibrePlanet. And I don't remember a whole lot of details, except that I think the big topic that year was how exciting the HURD was, and how it was going to change the world, so it's been a while.

What I would like to try and do today, is, you know, hopefully give you, I guess, after yesterday morning's keynote, I almost feel the need to apologize a little bit, because I'm going to tell you another white guy story. But the white guy's not dead, yet, because he's me.

-[LAUGHTER]- And I realize that some of the things that I do for fun, I get to do largely because I am a white guy with a certain amount of privelige, and a history of being able to do some interesting things. But I'm just not going to apologize for that, because it is who I am; it is what I do. And I hope that some of the things that I've learned along the way, that I'd like to communicate, are things that will actually end up being useful to some of you, either in staying motivated yourself, to be involved and do cool things in the free software world, or maybe to help bring other people in.

So before I dive in, let me give you just a little bit of context. Molly alluded to the fact that I've been making free software contributions for a few years. I realized a little while ago that my first contribution was actually in 1979, to something that we would today think of as a free and open source software community. That's, like, 40 years. I don't know about you, but that's a sufficiently large percentage of my life that it's a little startling. That first contribution was a little bit of assembly language, for a then obscure and now long, almost completely forgotten microprocessor system. And I sent it off in a letter to the editor of a club newsletter, in Hamilton, Ontario. And lo and behold, they published that letter with my little bit of source code in it, and followed up by inviting me to come and be a speaker at one of their monthly club meetings. Which would have been awesome, except I wasn't old enough to drive, much less to travel internationally by myself. But some interesting consequences came from that. I learned, at a really early age, that if you did something halfway cool, and you're willing to freely and openly share that with other people, these immense benefits would accrue. You, not just sort of recognition and that kind of positive feedback, but I hope as you'll see that over time an awful lot of really interesting things happen.

I ended up being an early contributor, of little bits and pieces, to, the BSD Unix series, when I first showed up at Carnegie-Mellon a long time ago. I had a much more significant role, in the creation of Phil Karn's TCP/IP stack for amateur radio, portions of which actually made it into the Linux kernel for a while. I guess history will have something to say about whether that was a great idea or not.

I had actually been doing things that we today would think of as free software things, before Richard Stallman and his existence even appeared in my life. But, I have to say that the first time a friend, who later went on to be best man at my wedding, pointed me to the GNU Manifesto, I was just blown away. I was still at that point in my life where reading that, just had a substantial impact on the way I thought about the world. And I very quickly became, you know, totally imbued in the philosophy that, you know, was espoused by the expression of the four freedoms, and when the GPL appeared, I was really excited about that little hack of turning copyright on its side, and I've been an immense supporter of this notion of share-alike licensing ever since.

It's probably not surprising, with that background, that when Ian Murdock started the Debian project, and wrote this thing he called the Debian Manifesto, it resonated with me. Not just because it was a similar sort of expression of core values, that I found myself resonating with, But because I was at the point in my life where I had done enough Unix things, and I had made contributions in the context of things like the BSD Unix world, it caused me to have this appreciation of the slightly different, flavor, that was emerging in the world of contributions to the Linux kernel. Which Ian, you know, seemed to admire, and was trying to figure out how to extend into the larger distribution context. And for those of you who know me at all, I had a lot to do in a lot of things in Debian over the years, I'm still actively involved and I think I'm now one of the, three or four or five longest serving contributors to the project, which is another one of those sort of interesting little quirks.

Because of the things I've done in Debian, and elsewhere in the free software world, I had the opportunity for about a decade, to serve as the chief technology officer of the open source and Linux business that, what, for a while, was the world's largest IT company. As Molly also alluded to in her intro, this gave me the opportunity to spread understanding, of what free software was all about, in corporate ranks all over the world. I spent several years back in the 2003 to 2007-ish range, being one of those 400,000 flight-mile-a-year corporate executive types, flying all over the world. And I had the opportunity to talk to a lot of corporate executives, and explain to them, what the whole point of this Linux and free software thing was. And I'd like to think that maybe that helped ease the way, for some of the dramatic expansion of interest in, and use of, all this stuff has shown over the years.

I also ended up being on the boards of several organizations. I spent about a decade, representing individual affiliates, on the board of the Linux foundation, before the foundation saw fit to change their bylaws, and do away with that category of membership. I spent about twelve or thirteen years on the board of Software in the Public Interest, the last ten of which I served as its president. I've been on the board now of the Software Freedom Conservancy for not quite a year. And I'm really excited about some of the things that Conservancy's working on right now. And I'm pleased to see so many Conservancy supporters here this weekend.

I've also been really priveliged, for the last few years, to serve on one for-profit board, it happens to be Aleph Objects, the parent company of LulzBot, the makers of the 3D printer that's part of the raffle stuff this weekend, and, I believe it was the first company to receive the Respects Your Freedom brand, so, if I had to pick a company that's a for-profit company to be on the board of, I'd like to think I chose pretty well.

The other company that I'll mention in passing because it is, sort of, interwoven with almost everything I do these days, is Altus Metrum. That's a little company that Keith Packard and I started in 2010, and it's a completely open-hardware, open-source, open-everything company. And if I ever get around to upgrading our web storefront software, to a version that doesn't mangle javascript as badly, then maybe we'll actually deserve RYF as well.

So what I really want to do this morning, with that as a little bit of context about who I am and where I've come from, is I want to give you two sort of interwoven threads, and my thinking about what it means to have fun doing free software stuff. One of them is that, I've gathered a few observations, about what I think make for successful communities, And, from that, I want to throw a few thoughts at you, about things that I think we can do, to make sure that our various projects remain fun for people to be engaged in. And the second thing is that, I've sort of had this propensity, through my life, of eventually turning all of my hobbies into free software projects. And I've given talks at conferences all over the world about some of these projects; in fact, it was really funny for a while, when I was doing all of this crazy corporate-sponsored travel, but half the time, the talks I was giving at conferences had nothing to do with the company, they were about, you know, the latest crazy hobby project I'd been working on. But nobody seemed to mind. It was all sort of of a piece, and, hopefully helped explain, sort of, why I was excited about this ecosystem, and wanted to make it happen.

And for those of you who know me, and have seen me giving talks before, you'd probably be shocked if there weren't at least one rocket picture in it somewhere. This is, currently, one of my big-deal hobbies, is high-power model rocketry. Out of curiosity, how many of you play with rockets, Estes things, or anything else? A few of you? Yeah, this is, if you're from around here, this is not the part of the country where getting access to airspace, to fly really high, is easy. I've had the pleasure of flying with a couple clubs out here, but, it's not quite the same as when you get out, in the western part of the country or in, you know, in southeastern Kansas and places like that.

This rocket is particularly significant to me, though. This was the first project I built-- to achieve a level three high-power certification, which is the highest certification you can get in the hobby, and the unfortunate story is that due to a bug in the firmware of the commercial avionics board, that I was using to safely recover this rocket, the only part of that rocket I ever saw again was the red part.

And, I don't know, I'll talk a little bit more about what that led to later. But, you know, I can't just do one rocket picture. This is another project I built, a few months later, this is the one that I did successfully achieve a level three high-power certification with. Something about the difference between men and boys, being the size of their toys or something, I don't know. Okay, maybe more than a coupe rocket pictures. I had to stick this on in because it's one of my favorite paint jobs, when you do a quick Krylon blue spray paint job on a rocket, the night before in a hotel parking lot, and you take it out and fly it to mach 2.2, most of the paint peels off, and, so, to me, that's the fastest I've ever pushed an airframe and successfully recovered it. Summer a year and a half ago, I managed to do mach 3.1, but I had an apogee event failure and it came in ballistic, and dug itself a nice deep hole in the Kansas farmland. Actually next weekend I hope to go back out to Kansas, and try another mach 3 plus flight, but in the meantime, this is the prettiest paint job I've ever had, at least in terms of what it sort of signifies to me.

Okay, let's get back to the other thread for a moment. One of the things that I came to realize over time is that, one of the things that's so magical, different, and important, about the way free software and open source things are developed, is that they're all done in a collaborative context, by this thing we tend to refer to as "the community." And what that really means is that unlike in the world of commercial software, or as I like to call it, secret source software, there's no one company in charge of any particular project, and there's this range of contributors, with various interests, abilities, and motivations, who come together to make everything happen. And this sort of leads to the production of this software commons, that all of us benefit from, and that we share in the maintenance of. And one of the consequences of the licenses, that we've created to use, for the development and maintenance of free software, is that users end up with a whole lot more control, over what's going on in their software lives, particularly how they go about acquiring support for the software that they're using. Specifically, the nature of our licenses means that any user, can become a developer, themselves, or pay someone else to be a developer on their behalf.

And this leveling of the playing field, this reduction of barriers between producers and consumers, is one of the key reasons that free software has become the driving economic force that it is. Because it really does allow all of us to come together, to pick the things that are important to us to work on, to be able to fix and repair the things that annoy us, and, you know, we always have this potential ability, as we heard yesterday, in Chris's talk about what's happening with Redis Labs and so forth. If we end up in a situation where, somebody else does something that we consider unacceptable, with the code that we care about, we always have the potential ability to fork it, and create and maintain a branch that continues to meet our needs, and so forth. And one of the things that I think is really important about this lowering of the barriers, between production and consumption of software, and one of the things that, I think, has made participating in this ecosystem so much fun, and so immensely rewarding to me personally, is this thing I call the long tail of contribution. The Linux Weekly News folks started, a number of years back, producing this report every time there was a new major release of the Linux kernel, called "Who writes the Linux kernel?" And when I was in a corporate role, you know, we'd get this, and we'd take a look, and we'd jump immediately to the table showing, like, employees of which companies were at the top of the list, of, people who were contributing to the development of the Linux kernel, and, if our company didn't show up in the list where we'd hoped it might, we were disappointed. We would look and see, the list of the names of the people who were the biggest contributors, and we would usually not be surprised by who those were, and if somebody we knew had gone up or down a click in the list, we'd think that was kind of exciting. But there was one chart that really impressed me. And it's the one that showed the number of commits, in the last release cycle, versus, you know, sort of, the number of different people. And what you would see is, on the left edge of that chart, there were a small number of people, who were doing an immense amount of work on the kernel, and had many commits accepted in a given release cycle. And this made sense because, by that point in history, lots of people were being paid to work full time on the Linux kernel, and so you would hope they were doing a lot of work, that was showing up as visible commits in the public repositories and so forth. But that's not the part of the graph that really impressed me. The part of the graph that really impressed me, and what I ended up talking in corporate contexts about so much, Was that really long sort of exponential decay tail out to the right. Because in every release of the Linux kernel, there are an immense number of commits, that are from somebody who only gave one commit to that release. Or maybe two. Who are those people? Well, it's pretty clear they're not people that are being paid to work full time on the Linux kernel. Or at least, if they are, maybe they're in the wrong job.

-[LAUGHTER]- I know because of personal experience, and talking to lots of people, that those are the grad student in a lab on a Sunday afternoon, trying to get that one last piece of data that they need, so they can start writing their thesis. And there's some bug in the data collection system, that they're trying to work with, and it's worth enough to them to dig in, and unwrap the source code, figure out what the problem is, and fix it. And they take that one little bit of extra effort, to submit a patch, back up into the community. And they show up as a commit. Or maybe it's a high school kid sitting at home, and puzzling through something, and making something work. Maybe, like me, it's the first person wanting to get a 720-kilobyte floppy to work, with Linux. There are various times in history, where people have been motivated by whatever the thing is, they're trying to get done at that moment, to go in and make some change and improvement and deliver that patch.

And why is that magical? No company could ever pay for that resource. It's just not possible. These people are not working on these things because they want to be, contributors to the Linux kernel, or whatever other project we might look at. They're there because on that particular day, something is of sufficient interest to them, or some problem is irking them enough, that they're willing to go scratch that itch personally. And we all benefit from the aggregation of that immense number of contributions, that just wouldn't be possible, if we weren't living in an ecosystem, where the rules remove the barriers between producers and consumers, and level the playing field, and ease access so all of us can be empowered, to go make our own lives better. And I think that's really magical. And it means that working in this environment can be really fun.

So what's the big bargain? I used to people that I was interacting with in the corporate world, about the idea of this sort of grand bargain, that a big part of what makes all of this work is the sense of cooperation this notion that, if I do something and I share it with you, that at some maybe you'll do something cool, and share it back with me. And we end up benefiting, from the aggregate result of all the things we're each willing to contribute. And while it's possible to build this model of cooperation in a bunch of different ways, I really think that, some of, some of the--the attributes of the implementation, of the share-alike part of the GPL, is almost magical in this context. And the reason is, that it leads to a set of behaviors, that intrinsically promote healthy, sustainable software development communities.

One of them is in the context of the GPL, there's really no economic motivation, for anybody to want to maintain their own little forks of stuff. If you are a company, and you start with a piece of GPL'ed code, and you make mods to it, and other people do work, and they release it, you can find yourself constantly having to, sort of, re-base your work on top of what the community is doing. It's actually a heck of a lot cheaper to, one-time, make the extra effort to push your changes back, into the collectively maintained community code base. And then, everybody benefits from them, and you benefit from the collective maintenance, that the rest of the community gives you, to keep your stuff working even as interfaces change and all of that.

And so, the interesting thing that I learned, is that when companies agree to participate in GPL'ed ecosystems, They one-time make this decision, that this project is important enough to us, that we're going to go participate in it And then ever after they're not constantly having to re-ask questions about, is it okay to contribute this particular thing. They've already decided that this is a development model, and an ecosystem, they're going to be part of. And that means that all of us can do more collaborative work, without being quite as stressed.

You know, many other people have already talked this weekend about, once something's free it's important to figure out how to keep it free. The terms of the GPL help to do that a lot, by preventing a situation where people go and create proprietary derivatives of things, without sharing their work back And one of the things that I think is really important, particularly when we go back to thinking about that idea, of enabling individuals to be able to make small contributions, is that it helps to balance the playing field between small and large contributors. There's nothing more frustrating than contributing a tiny little bit of code to something, that somebody then goes and creates a proprietary derivative of. Because now all of a sudden whatever happens to that, in the future, is something you don't get to see anymore. You don't get to participate in, you don't get the benefit from, necessarily, and I, at least, find that immensely frustrating. And so for me, to keep things fun, and enjoyable, and personally rewarding to contribute to, I want them to stay open, and I want it to be possible to make individual contributions, and to be able to do that, even when there are really big players who are also part of the ecosystem.

So, over time, I came up with this sort of, relatively small list of things that I think are, sort of the, visible attributes or features of successful communities. And I'm not going to harp on this a whole lot, except that, I think it all starts with having actually good source code. If you don't have a solid base of code, what's the point; why are we here?

I think governance structure really matters. And when I say governance structure, I mean things like, How's the project organized? Who has permission to merge new work into the main public tree? How are proposed contributions reviewed, and decisions made what's included and what's not? I think successful projects are the ones that have visible, active contribution and collaboration. If, every once in a while, a new pile of code shows up in a repository, and you can't actually see who did what, or where it came from or what the motivations of the people involved were, I worry about that. It's not that I regret having access to code that I might not otherwise have, but it's not as fun when you can't see what's going on, and sort of understand who the players are, and feel more involved.

I think it's really important for successful projects to have low barriers to entry. It's got to be easy for people to find your code, to understand your governance structure, and yeah, I know it's a bad word, but this means sometimes you actually have to write more documentation. Or maybe build web interfaces that make it easier to do things. I mean, what's the process somebody has to go through if they want to send you a patch? There was a point is history, where it's like, okay, you figured out what the UUCP bang path was to send it to Berkeley, and maybe they'd look at your code someday, and maybe in a year or two, there'd be a new release with something that you contributed showing up in it. Today, we have a really different set of expectations. And with publicly-visible revision control systems, and continuous integration mechanisms and all, it's possible to write a whole lot better interface to projects, and to give people a whole lot tighter feedback than otherwise.

And I think diverse participation is really important. A couple of talks yesterday, that I attended, had sort of an underlying theme of, what goes wrong when one company, or one big contributor to a project, has too much influence over that project. I don't think we ever want to turn a contribution away, just because that company is doing too much work on something. That would be ludicrous But I do think that when we are looking for successful communities, when we see signs of diverse participation, big and small contributors, different companies willing to collatorate openly, on free software, those are signs of successful communities.

So, how do we turn that sort of observation, of what makes things successful, into having more fun? Well, I think it starts very simply, by pushing for more free software everywhere. You can't collaborate and work together, and get a sense of accomplishment, from doing cool things, if we don't have the software to play with, right? I think a lot of the talks this weekend should give you ideas, if you don't have enough already, about places that you can go do things.

I think it's really important not to hoard improvements. if you have some piece of free software that you're working on, there's nothing in the GPL even that requires that you share the work that you've done. Right? The terms of the license really don't invoke, until you engage in an act of distribution. But, doing a bunch of work and not putting it out, where other people can see it, and use it, and learn from it? What's the point? I guess, you know, there will be a couple of examples, when I show some of the things I've worked on, where no, I haven't really published the half-page of python I wrote to do thermal control in the greenhouse, but if somebody asked for it, I would happily give it to them But I think when we take work that we've done on existing, or otherwise visible open source projects, and we don't make that extra little bit of effort to push our changes out, where other people can see them and use them, we're not having as much fun as we could.

I've already talked about, you know, lowering the barriers to entry. I also think it's really important, because I know many of the people in this room are either the creators of, or substantial contributors to, existing free software projects I really want you to all make one little bit of extra effort to take somebody who's new, to your project or community, and find some way to thank them, and provide them some positive feedback, when they show up and do something good for your project.

I have to say I was immensely pleased yesterday to see Deb win this year's award. Because I think she's an excellent example, of somebody who just does a lot of really useful and important stuff, in a bunch of contexts that help our community, and I'm really pleased to see her get the recognition for that. I try personally, when people show up and offer me patches for things, to always send them a thank you note. You know, it's funny sometimes, particularly if you've worked really hard on a piece of code, and somebody points out, you know, the one fatal flaw in your thinking or something, it's way too easy to have your initial reaction be "Aw, man, why'd you do that to me?" But I think if you pause and think about it, the benefit that you've gained from somebody helping you figure out what you could do better, is worth thanking them for. And it really just makes the whole thing more fun and more pleasant to involve in.

And I'll sort of wrap up this part of the talk by saying that, I think it's really important to find things that are interesting to you, work on them, and then share what you've done. Document it, communicate it, share your enthusiasm with other people. Because it's when we share our enthusiasm for what we're doing, with other people, that our community grows, and we end up being able to make the world a heck of a lot better.

So you've already gotten the sense that one of the things I like to do is play with rockets. I mentioned that on this project, the L3, that unfortunately the red part up there is the only part I got back. And that was due to a bug in the firmware of a commercial altimeter. So, I did what I tend to do. I said, okay, I can do better than that. And for about the last twelve years, I've been working on, designing, building, avionics for the high-power model rocketry world. And since about January of 2010, Keith Packard and I have been partners in this work, and we started this company called Altus Metrum. And that was one of the first boards that we designed. These boards are used to collect data about what's happening to the rocket in flight, they control the deployment of parachutes, to allow for safe recovery of the airframes in the latter phase of the flight. And all of these boards include GPS receivers and radiotelemetry transceivers, so that we get live telemetry from the airframe in flight. Because when we're sending rockets up to, oh, I don't know, 30,000 feet above ground, you'll be shocked to hear that we can't actually see them all the way through the flight And being able to go find them and recover them requires knowing where they are.

So, I mentioned earlier that Altus Metrum is a completely open company. All of our hardware designs use an open hardware license. All of our firmware and ground software is GPL'ed. All the software that we use to create and develop the, ah, products is itself free software, and in fact, at this point, 100% of everything that we use to build and maintain our products is packaged in Debian. And so, when people ask me, gee, how do I work on this? I say install Debian and apt-get install the following things, apt-get build-dep, and have a nice day. As I mentioned, there's one little niggle with our web storefront, that I'll eventually find time to figure out how to get around to fixing it, which might hopefully, we'll be able to earn an RYF brand. If you want to learn more about the company and our products, or you just like the idea of playing with high-power model rockets yourself, go take a look at altusmetrum.org.

But not everything we do is rocket related. A couple of you, I think, have already won Chaos Keys this weekend, maybe some of you have gotten them at other times and places, or even bought one, God forbid. This is a little hardware random number generator. A few years ago when I was very involved in the Freedombox activities, I got very concerned about the lack of entropy in most modern computing systems. And there've been a lot of people who have worked on this in a lot of ways, but if you run a server in particular, that does a lot of web traffic and has to create a lot of session keys, you can find that your Linux kernel's entropy pool ends up being starved for bits. And that means your keys maybe eventually become less random than you'd like them to be. So, what Keith and I did was design a little hardware noise source, that can outbut about 8 megabits of randomness a second. And it turns out, with Keith's work, we now have a device driver in the standard Linux kernels. So if you plug one of these into a Linux machine, the Kernel magically never runs out of entropy. It's that simple. Completely open hardware design. They are tiny, if you haven't seen one, and if you haven't already won one, I think there's at least one, or maybe two more yet to be given away in prize drawings, so have at it. And if you want to learn more about it, chaoskey.org is the site we maintain with all the info, and links to where you can buy them and that sort of thing.

Another thing, I've been an amateur radio guy almost forever. Out of curiosity, how many people in the audience have amateur radio licenses? Awesome. The rest of you ought to think about it. It's an amazing thing. You get access to huge amounts of spectrum that you don't have to pay for, and you can go play with, and do cool radio things. And, in the free software world, there are now a plethora of choices for, inexpensive little bits of hardware that you can pick up and play with, completely free software, to do interesting radio-related things.

What I got interested in a few years ago, was a sub-area within the amateur radio hobby called EME, or Moonbounce. Earth-Moon-Earth. I took a 10-foot, you know, TV satellite receiption dish that was obsoleted by small-dish DirecTV stuff, And I, with my son's help, built an az-el mount for it so we could point it anywhere we wanted, and with a pile of analog RF bits and one of Matt Ettus' excellent universal sofware radio peripherals, and a pile of GNU radio code, we were actually very successful at hearing echoes of signals bouncing off the Moon. Which is pretty amazing; it's something that you can do by yourself. It turns out today, advances in modulation and signal coding mean that you don't even need a big dish like this, to play around with bouncing signals off the Moon. I read something this morning, that says NASA's thinking about parking some new piece of hardware out at L2 at some point, and if they do that, they might want to restrict high-power amateur radio transmissions aimed at the Moon. So if you want to play with Moonbounce, now would be a good time. Might not be something we get to do forever.

Another thing that I got really excited about, at various points in my life, is making physical things. I guess today we have this term, a maker. Kind of like the fact that I've been contributing software snippets, to, various communities, for longer than we really knew to call it free software, I've been making things a lot longer than we knew that we were supposed to call ourselves makers. When I talk about making things, you know, one of the projects I did a number of years ago, that I gave a big talk about at Linux Conference Australia in--Brisbane, maybe, was doing a CNC conversion, computer-controlled conversion, of a three-axis milling machine. There's a block of wood up there that I'm about to cut a sign in. And because I'm both a hardware guy and a software guy, I didn't just use Linux CNC, to do all of the machine control in free software. I actually designed most of the hardware. Those boards down in front are open design PWM amplifiers for driving high-power servos. Those little boards halfway back on the right, it's got an evaluation module for an FPGA that was being used to close the loops, and, actually make the machine control interface work. Unfortunatly this machine is one of the things that I lost in a fire in 2013. But after that, I went and got a Probotics CNC router, which is completely open design using the Linux CNC free software, And my son Robert got really excited after we got that, and decided it'd be a whole lot more fun to make a guitar than to buy one. And in fact it came out really well. It's a really awesome-sounding clone of a a Fender Telecaster, so, all of that was done using an interesting mix of open, free software and mechanical design tools, and Linux CNC, 100% free software running the machine itself.

Again, after we lost a bunch of stuff in 2013 in a fire, I went to try to figure out how to replace the 3D printer, that we'd had, and caused me to discover this tiny little startup, in Colorado, called Lulzbot. I reached out to them and said hey, you know, I'd love to buy one of your machines, which you don't seem to have any in stock right now, and they said yeah, success disaster, we've sold all of them, we don't know when we'll have more, and I said, darn, my house just burned down, I'm trying to find something to play with and stay amused with in the meantime, and they said, oh, could we send you one of our lab protos? And I said I wasn't really asking for a handout, but that'd be lovely and, long story short, I ended up on the board of directors of the company, and I've been immensly proud...

-[LAUGHTER]- And I have a basement full of Lulzbot toys. Nice thing about being on the board, they come out with something new, I get to take one home, and this has been fun, because it's the other side of making things at home. It's additive manufacturing instead of subtractive. Machine tools are all about starting with a block of something, and whittling away the parts you don't want. And 3D printing is all about starting with nothing, and squirting hot plastic or other materials out to make something up from scratch. Having access to both kinds of tools is, kind of, immensely empowering to somebody who likes to make things. And all of that's done 100% with free software.

Another thing that happened, as I've alluded to a couple times, and some of you already know about, is that in 2013, wildfire went through the front range of Colorado, and this is what my house looked like afterwards. So we had to build a new house, and one of the things that our builder proposed to us, and my wife in particular got really excited about, was this idea of putting audio stuff through the house so that we could listen to music, or, podcasts or whatever, anywhere in the house that we wanted. And building a new house, it's like, yeah, okay, let's put the wiring in, let's do all of that, The system he proposed was going to have these three-channel proprietary audio server things, in the center of the cluster. And that bothered me intrinsically a little bit, but, it's like, this is an appliance kind of thing that we're going to build, in the house for my wife, I don't necessarily have to control everything in my life, maybe this would be okay. Before I got very far into it, my wife said, well, hang on a second, if this is proprietary, what happens when the company goes away, or what happens when they want us to move to some new version of phones, and we don't want to get new phones, or whatever, how's that going to work? I guess you can tell she's been married to me for more than 30 years.

-[LAUGHTER]- And so, I went to do a little due diligence on the system. And to be clear, I never bought this system. So I was never personally subjected to a GPL violation by these folks. But when I went to their website, and I read the online documentation about how to configure the system, The language they used to explain how to set the system up, was precisely the same language that's used for configuring networking in the Linux kernel. I'm like, oh, okay, this is running Linux. Let's go find where I can get the code.

Ha, ha, ha.

Nowhere. Nothing. No response to e-mails sent to the company, nothing. So what happened, it was another one of those Bdale moments, I ended up saying, okay, to my builder, you can run the speaker wires and put the speakers in, and I'll do the rest. I ended up designing a little USB to 30-watt-per-channel class D stereo audio amp board, and putting nine of them together with a USB hub, on a little embedded Linux server running Moppity, and a little bit of custom software to manage the zone interfaces, and lo and behold, for-- I gave a talk about this at a miniconf in front of Linux Conference Australia in, I forget which year it is, but I'm sure if you look it up, you'll find it. So, all the details about this are open and available Keith kind of pooh-poohed the idea of this being cool enough to actually become an Altus Metrum product I'm not really sure why, but... I've never really had the energy to make more of these. If any of you would like to, Talk to me. Nowadays, I think most people who want to do distributed audio do it by distributing over wifi, and having little individual boxes in different rooms, which are hooked to speakers, which is fine. But the approach I took is sort of interesting. And in fact, we do have this really nice new house that we built on the property, that has for several years now had a working whole-house audio system in it.

The other thing we lost in the fire that was really annoying to my wife was her greenhouse. Among other things, she really likes growing stuff, and I mean, both flowers and vegetables; it's been a big part of our lives for a long time. So of course, when I agreed to build her new greenhouse, I started thinking about the environmental controls for it, and I ended up deciding to build a little bit of hardware. This is actually around an early Raspberry Pi that somebody gave me, I hate the Raspberry Pi. It's one of those almost free, but not quite, things that just irritates me at the core of my being. But it's okay, somebody gave me one; I hacked a little daughter card for it, that hooked up some temperature sensors, and a couple of big solid state relays, and so there's this cooling fan that the system can turn on and off to ventilate the greenhouse, and there's a 3KW electric heater, sitting sort of high in the center of it, that, since I live at high altitude in Colorado, is a pretty important part of keeping plants from dying in the middle of winter. And it's the reason I've since had to build a backup generator set for the house, because when your wife gets used to the idea that she can grow vegetables all year, and a blizzard comes in and knocks power out for two days, Oh, it's just not good. And at the far end, there's an electrically operated louver, that's the other part of the ventilation system. These photos are from when I was building the greenhouse. If I had thought to grab a contemporary photo, you would've seen it's full of plants. And this year's addition are actually some passively self-watering planters, from a company in Boulder, Colorado called Farm Tech. I'm pimping their stuff because I think it's really cool. And again, it's a really simple design, but we're hoping that ends up being a lot of fun too.

And, you know, more rockets. This was my little project last year. And by little, I mean, you know, not so little. That's my friend Terry and one each me for scale. This is a 6x upscale of a rocket that my son built a long time ago and had a lot of fun with. We took it out to southeastern Kansas, to one of the big launches that happens out there over Labor Day weekend. We stuck an O-class motor in it. For those of you who've played with Estes model rockets, you may remember like A, B, and C motors, and each letter is another doubling of progression in total impulse, by the time you get to O's the motor was six inches in diamater and about three and a half feet long. Pretty big motor. And that was 162 pounds on the rail when we went to launch it. And we tossed it up a little above three kilograms above ground. I have to tell you, any time you can launch something that big, with the visceral thrill you get from a big rocket motor kicking off, at sort of minimum safe standoff distance, and you get that kind of a red flame tail, glowing enough to light up the back of the rocket as it flies through the sky, it's a pretty good day. It's a lot of fun. And then the next day, I did the other thing that happens sometimes. In that photo on the left, you'll see a little bit of a rocket up at the top, those are the flaming propellant grains from the motor that didn't quite work the way it was meant to. The photo on the right shows the aluminum motor case, after it had been ripped apart, by being over-pressured by the motor. Interesting consequence of this is that we talk about, in the rocketry hobby, that when things go well it's really exciting, and when things don't go well it's REALLY exciting.

-[LAUGHTER]- I got credit that weekend for launching the heaviest project of the weekend, and for having the most visually spectacular disaster. Honestly, they're both pretty good outcomes.

And then the thing that has been sort of the newest thing in my life, now that I've sort of, a couple of years ago, returned to early retirement, early retirement 2.0, so much better than the original, is my wife and I have been having fun playing with fast cars on local tracks with the local Porche club. That's my current toy in the front, a 1984 928 Euro with a five speed, and her Miatta sitting behind it. But of course, driving other people's cars or cars designed by other people is one thing, but, somehow we've ended up deciding that we want to build a car. And it's actually been a hell of a great empty-nester project. I highly recommend it. This is going to be a Lotus 7 derivative, for those of you who know what that means, it has a Mazda Miata 1.8 liter drive train, from a 1995 Miata that we used as a donor car. I picked this particular photo, even though it's not one of our most recent ones, because I'm immensely proud of that bespoke red oak dash that we built for it, I did most of the mechanical work on it, and then my wife did this amazing stain and urethane job on it. That's just stunning.

But--You might ask, okay, all right Bdale, we understand you have fun hobbies, driving fast cars is cool, how could this possibly have anything to do with free software? Right? Well, okay there might have been a little FreeCAD used here and there, but that's not really the exciting part. Maybe someday I'll do an Altus Metrum project or something, to do telemetry and sort of keep track of how fast I'm going around the track, That hasn't happened yet. This is what's happening right now. When I was down in New Zealand for Linux Conf Australia, in January of this year, I ran into Josh Stewart again for the first time in several years. Josh is the force behind the Speeduino project. Which is an engine control system; you know, the brain box for your car's engine. It's an open source replacement brain box for use in various cars. And it just happens that one of his recent things is, he built a sort of plug and play version of this, for use with Mazda Miatas of the vintage that our donor car happens to be. And when I told him about this car project we were working on, he says "Oh! You should try one of my boxes." And you know me, it was like, oh wow, I can turn the car into another opportunity to hack on free software? This is too cool. So that's the thing that I'm currently working on.

So, look. I don't know if any of this has been useful, or fun, or inspirational, or anything like that. But I hope if nothing else that what I've done, is maybe convey to you my really deeply held sense, that everything is more fun when you're doing it with other people. And when we're sharing the things that we've learned, and enabling other people to have as much fun as we are, A good friend, Phil Karn, made it clear to me a number of years ago, that one of the best ways to understand if you've actually learned something, is if you can successfully teach it to somebody else. And I've found this to be immensely true. I think I understand something; I try to explain to somebody else and I realize, I have to frame it in a different way to make it make sense to them, and in the process my own understanding becomes clearer, and I think this is really true in the free software world. And every time we do something cool, and we put that out in the world, and we let other people have access to it, we are sharing what we've learned with others. And in exchange, we're getting the opportunity to learn, from all the other people that are sharing with us.

I also, as I mentioned earlier, I think it's really important to figure out how to be kind to others. In my experience in my life, collaboration has always led me to better results than competition. There's room for both in the world. But I will admit, even when we get on the racetrack, my wife's the one with the wickedly competitive gene. It matters to her whether she gets past me in a run group or not. And interestingly enough, even with her little Miata, she's good enough that she can pass me sometimes. Even with my big, burly Porsche. But I'm a whole lot more interested in the sort of the learning and the personal feedback, the personal sense of accomplishment I get from the process. This leads me to tell people, all the time, you really should just find something that you're enthusiastic about, and go work on it in the free software world. You don't need to ask permission. That's one of the biggest consequences of this collaborative ecosystem that we've built for ourselves. Scratch your own itches. Find things that are important to you, work on them, and then share your patches. Because if we all make an effort to live this way, to do things openly and freely, to collaborate and share with each other, that's what's going to make this a hell of a lot nicer world to live in.

Thank you very much for your time and attention.

-[APPLAUSE]-

[FACILITATOR] If you guys would like to ask questions, you know, please line up, down here, or I can come bring you one of our mics.

[RICHARD STALLMAN] So, one of the ideas in the free software movement, is that free software's not just fun and useful and good, but that nonfree software is an injustice, and what we really want is to get it out of our lives. And you just showed me something that makes me wonder. If that box you just presented is a way to get rid of the nonfree software in cars, which is typically malware, so-- a friend of mine disconnected the celluar modem of his Nissan Leaf, because he doesn't want it tracking him. You know, this is a gigantic evil.

[BDALE GARBEE] Yes.

[RICHARD STALLMAN] And I wonder, (I think...) does this give us any,

[BDALE GARBEE] I think it's a step in the right direction The kind of engines that this system is really good at managing, are from sort of circa mid-90s and earlier, where frankly things were less complicated. One of the challenges we have today, is that the engine management part is such a small part of the computing ecosystem that's inside a car, I mean, at the complete other end of the spectrum, look at something like a Tesla, that's got computers doing everything and, you know, where the entertainment system has microphones, and all those things that we think are horrible in these devices too. And I think the problem just keeps getting bigger. I have to admit, for the same reason, that I personally haven't bought a new car in a long time. I like buying used cars for a number of economic reasons. I realized at some point, that the fact that I still drive a car where I have cranks to turn the windows up and down, it means there's just less electronics in there, less stuff that could potentially might be doing something bad.

[RICHARD STALLMAN] I wonder if some of those things will be fixed by leaving them out. Like, you don't need an entertainment system connected to anything else in your car.

[BDALE GARBEE] I think that--

[RICHARD STALLMAN] You're the expert, but, think about it.

[BDALE GARBEE] Yeah, I do think about it a lot, and the short version is, yeah, I think we can make steps in that direction. The longer answer has a lot to do with the economics of volume production, and how we get consumers to demand something different, than what Detroit and Japan and so forth currently think we all want.

[RICHARD STALLMAN] Well, I think that just creating the option of...

[BDALE GARBEE] Yep.

[RICHARD STALLMAN] ... a GNU/Linux system running in your car that respects your freedom, it would be a great first target.

[BDALE GARBEE] I absolutely agree. Thanks Richard.

[AUDIENCE MEMBER 2] Hi. I wanted to ask, I was wondering if the open hardware avionics board that you showed, you mentioned it has some transceivers. Are you able to use amateur radio (Yes.) frequencies for those?

[BDALE GARBEE] Yes. In fact, one of the little hacks is, that--the fact that the combination of all the little pieces that we sell are, circuit boards that get integrated into rockets, and are not in and of themselves complete products or complete systems, gets us around one set of FCC compliance regulations. We don't have to meet part 15 certification. The other interesting thing is, by just deciding that we're going to build all our products for use in compliance with FCC part 97, which is the amateur radio rules, or equivalent authorization, either, you know, a part 5 experimental license in the U.S., which a number of university teams have gotten, or other rules in other countries, that we get to sidestep a whole lot of stuff. And one of the consequences of that, is we can use a modulation encoding scheme, and a forward error correction system, that's far more robust than a lot of the unlicensed systems are able to use. That allows us to get really robust, error-free transmission, over greater distances, than some of the other solutions that are using the pre-built, unlicensed wireless widgets. And so, yeah, it's interesting how these threads, you know, the amateur radio interest, is woven through that. And I have to admit, it's a point of personal pride, that a substantial number of people in the rocketry hobby have told me, that they went and got a ham radio license so they could legally fly my avionics, and, a number of them have ended up doing emergency communications in their local towns, or get interested in designing antennas, or doing all those other things that ham radio folks do, so, I love it when, you know, different hobbies weave together like that.

[AUDIENCE MEMBER 2] Well, thank you.

[BDALE GARBEE] Yeah, thank you. I will be around the rest of the day. If you've got other questions, feel free to grab me. I'm kind of not hard to spot usually. And I'll be happy to talk more. Thanks very much.

-[APPLAUSE]-