Open Source: A path to controlling your technology (and not being controlled by it)
For Rob McQueen, joining Endless as Chief of Engineering was about more than just the job.
“It was a double win: being able to join a product company,” he says, “but also joining a company that was trying to do something bigger with technology by empowering and enabling people and providing access to information, education, and ultimately, opportunity.” A lot of this potential, McQueen says, stems from the underlying philosophy of open source technology, which assumes and encourages digital agency for everyone. Essentially, the ability to control your technology, instead of being controlled by it.
The majority of Endless is open source code, not just for practical reasons but because the concept is integral to Endless’ vision of free and accessible software. But how exactly do open source technologies work? We asked Rob to help us understand the basics, the importance of a free internet, and how to find the communities that will stick with you your whole life.
Q. What is open source?
Rob: Basically, it’s software that is licensed in such a way that you don't only receive the program that you run on your computer or phone, you also have access to the source code. There are four freedoms attached to open source software: to see the source code, to redistribute the source code, to modify the source code, and to redistribute the modified versions.
Q. When did you first encounter open source software?
Rob: When I was a teenager, I had a crappy old rust bucket computer that was put together out of spare parts. I wanted to learn how servers work and how to share files across my network. I had the option of either paying for a Windows server license for hundreds of pounds, which I didn't have because I was a teenager. Or I could download this wacky free stuff off the Internet and see how it worked.
I got into this complete parallel world of something that was never taught in school. The idea that you could find so much technology that was freely available was mind blowing to me. Being able to control what I was doing with a computer, it was really a precondition for my own digital agency. To be able to open the box and say, ‘I'm going to pop the hood, fiddle around with the stuff inside, take it apart and look at it and learn from it and see what happens when I change it.’
With free and open source software, you can do that with your computer. For me, it was the gateway into this idea of the programming and of being able to be a part of the Internet and control how it was put together and delivered to people. That's what took me into a career based around open source and free software.
Q. As Endless’ Chief of Engineering, why is it important to you that Endless is open source?
Rob: There's a pragmatic answer and there's an ideological answer. Pragmatically, you can't just spend money on contractors and have them write everything from scratch. You take what's out there and get this massive rocket booster of hundreds of other people working on the same software that you're shipping. Then you can spend your time on the pieces that are important to you. But, equally the motivation behind open source has to do with access to and control of technology. At Endless, we participate in the system by contributing to changes and improvements. The overall goal is to bring free software to all people so that they can learn about the real stuff.
Q. When you write a code that's open source, how do you determine what the license is?
Rob: There are websites that help you to choose which license you want to put your code under. Typically, you'll put a comment in the source code that says ‘This file is licensed under the General Public License.” GitHub encourages you to put a license on your property, so that it's clear the terms under which it could be distributed, used, and modified. GitHub has been working on improving this because there's a bit of a problem of people writing code and then not clearly licensing it so you’re not sure if it’s free or not.
Q. Is there a way to make sure that raw code that you've created isn’t used with evil intent?
Rob: There are some licenses that actually do say something like “This can't be used for evil.” They're actually a bit of a pain because it's very hard to legally determine whether something is good or evil. If you're a company and you're trying to choose whether you can use the software, your lawyers will probably advise that you shouldn't use it because it's not clear that you have a right to use it until you find a legal way to prove that you are good or you're not evil.
So typically, folks like the Free Software Foundation will reject these licenses because they contain the restriction about who is allowed to use the software, which means that the Four Freedoms are no longer being respected.
Q. Are open source products more or less safe or reliable than private products?
Rob: Certainly security specialists will spend a lot more time looking at open source software and finding issues with it, which means people can actually see problems and talk about them and fix them. You develop a herd immunity, since that software has been seen by more eyes, is more widely used in ways that are more likely find its limits and fix them. So, there's been a rise in the idea that open source software can be of a higher quality in terms of security, reliability and robustness. The more widely used something is, and the more scrutinized and tested it is, you'd expect the quality to improve.
Q. How often do you interact with the people in the free software community?
Rob: The thing that's really unique and fascinating about free and open source software is that the popular projects aren't just a technology thing, they're also a community that comes together around the shared goals of those projects. There are thousands of open source projects across the Internet and the world. They've all come together around the shared purpose of creating something for the greater good. You can go in and read the work of other people, learn about a particular space, go to events, contribute to communities, and have a sense of belonging. That's something I enjoyed when I was growing up. My parents let me get on a train and go to the other side of the country and meet some guys who I'd met on the Internet at a barbecue. I'm still friends with some of them 20 years later.
Q. How does a person get involved with these open source projects?
Rob: If you identify with the goals from these projects, you can learn how to code, design icons, write documentation, or organize a conference for two thousand people, or whatever! Taking part in these projects is a huge opportunity to learn this very commercial, actionable life and job skills.
* * * * *
Rob McQueen came to Endless after 10 years as the founder and CTO of his own company, where he consulted for clients like Intel, Nokia, and Google on how to bring open source to commercial products. Learn more from Matt, speaking at the Annual GNOME Foundation conference. Then, learn more about Endless’ commitment to the GNOME Foundation’s work.