A while ago you had the chance to ask Bruce Perens about how open source has changed in the past 15 years, what's happening now, and what's to come. Bruce has been busy traveling, but he's found some free time and sent in his answers. Read below to see what he has to say.Where Is the Open Source Hardware?
Recently at Linux.conf.au 2012 you gave the keynote and you said: “Open source is the only credible producer of software and now hardware that isn’t bound to a single company’s economic interest,” Well, where is this open source hardware? Every time something comes up on Slashdot reported to be "open source hardware" there's a whole slew of comments about how it's not truly open source. Anything from "where are the schematics" all the way down to the verilog/VHDL compilers and place/route algorithms being closed source. I've seen a 3D printer but not much else that meets the most stringent requirements. So tell me, where is this seemingly mythical "open source hardware" that will now free me from a single company's economic interest?
Bruce: Actually, I didn't give a talk about “Open Source Hardware”. All of my speeches are about “Open Hardware” , and I say it that way for marketing reasons. One of my largest criticisms of the entire Free Software community is that we are “inward-facing”. Our communications are mostly targeted to each other rather than to the public we should be marketing to. And then we wonder why the general public aren't using our stuff, and why laws get passed that work against us. It's our own fault.
So, “Open Source Hardware” is marketed to people who already understand Open Source. That's limiting the audience. I try to do real marketing, take time to understand the person who is the target of the message, and I always try to be outward-facing. I joke that the inward-facing crowd might soon call it “Free/Libre Open Source Hardware” or FLOSHW. Ugh.
So, the problem we are having in getting Open Hardware that's really Open is actually diagnosed right in your question: we need it to be separate from any company's economic interest. Which means making it with a non-profit. The very best organization that I've seen for making Open Hardware is TAPR, which specializes in ham radio and ultra-precise frequency and time. Their most interesting current project is a complete software-defined radio transceiver for global-range communications.
TAPR does manufacturing runs successfully, and funds new designs, and have been doing this for decades although only more recently is it formally “Open Hardware”. TAPR decided at their annual meeting this year that they will use their TAPR Open Hardware License on the devices they fund – they previously had a non-commercial license option which is now deprecated.
So, I'd suggest TAPR as a model for organizations that would successfully produce Open Hardware. TAPR, however, caters to a specialist community. Can we do the same thing with a product meant to reach the general public?
Jumping to radio software for a moment, check out the Codec2 project, where we have an excellent codec for two-way radio that does telephone quality voice in 150 bytes per second (1200 Baud). We are replacing the proprietary codecs that, unfortunately, are in commercial products for radio hams and are the government-mandated standard for two-way radio for police, fire, etc.
In about a century of ham radio, this closed codec was the first time that we had a technology that we weren't allowed to understand and to build by ourselves. That had to change, and I'm glad to say we're successful. The first prototype of Free Software for international digital voice communications is working, I think we're close to getting it in the hands of the world's hams. It works with their their SSB radios, but uses half the bandwidth of SSB voice, with better quality and better range.
To put Codec2 in walkie talkies, I am obviously looking at Open Hardware. But I won't talk about that until I have working hardware to show.
Best Open Source hardware licenses?
by Alwin Henseler
On a related note: what are the best licenses for libre hardware designs, that:
1.) Allow linking smaller projects as part of larger ones, possibly with different licensing on those other parts. Think HDL re-implementations of various chips in FPGA based designs that consist of a number of them (and many other things like that). I've seen the GPL slapped on a few smaller projects that are meant to combine with other (differently licensed) parts, where in legal sense this wouldn't even be allowed as everything is linked in the same binary (FPGA programming file).
2.) Don't require an entire evening and/or a lawyer to read (especially for hobbyists). For this reason I personally like BSD style licenses, while at the same time I'm leaning towards (L)GPL when it comes to openness of a design. Appreciated would be a short intro on pro's/con's of specific licenses, and make / break issues why a hardware designer would pick one over the other.
Bruce: Hi Alwin,
You've touched on a few issues that I think we got wrong with Open Source, and that I hope we can do better with Open Hardware.
The first is that there are a ton of licenses, and that too many of us spend time figuring out how they interact. Imagine if all of the recommended licenses actually were compatible with each other, and there were so few that we could understand them all. You really can have that, and have a BSD-like license, a LGPL-like license, and a GPL-like license, each to address a different business requirement. About three licenses that work together would be optimal. I think I know which three would do it today, and am hoping to have the full recommendation out soon.
Now, the bad news. Copyright doesn't really work for schematics the way it works for programs. If you look at the law in the U.S., which is 17 USC 102(b), it's pretty clear:
In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.
So, functional stuff is the domain of patent rather than copyright. I have had this online for a year or so at Hardware Isn't Generally Copyrightable in the hope that the community's expectations will be corrected.
Having read that, you might wonder why software is copyrightable at all. It turns out that only the expressive elements in software, which (in short) are parts that would be written differently by different programmers, rather than parts that are always required to function, are copyrightable. This was important in the recent Oracle v. Google case (where I played a minor role) and you can understand it better by reading about Computer Associates International, Inc. v. Altai, on Wikipedia.
So, our licenses tend to govern how we can distribute the plans to Open Hardware more than the hardware itself. For example, around 2007 a team applied the GPL to the Gray-Hoverman antenna, which was covered on Slashdot. While a lot of people felt that the GPL would prevent commercial manufacturing of the antenna, I think that anyone can manufacture and sell it as long as they don't redistribute the plans with it. So, our licenses are imperfect for hardware.
That said, let's concentrate on the parts of hardware that are copyrightable and apply licenses to them. There is some special protection for FPGA bitstreams in law, so we do have some copyrightable elements. At the moment, I recommend the TAPR Open Hardware License as a GPL-like license. There is also an Apache-like hardware license that I am considering.
There is a CERN Open Hardware License that I would like to use as a LGPL-like license, but I feel it needs modification before it is safe for the community to use, and thus I either recommend you not use it at present, or that you remove the following paragraph from it.
“6.5 Except as may be otherwise agreed with the Intergovernmental Organization, any dispute with respect to this License involving an Intergovernmental Organization shall, by virtue of the latter's Intergovernmental status, be settled by international arbitration. The arbitration proceedings shall be held at the place where the Intergovernmental Organization has its seat. The arbitral award shall be final and binding upon the parties, who hereby expressly agree to renounce any form of appeal or revision.”
As you can see, that paragraph creates a specially-protected class of users, organizations like CERN, who have their own special court where you, the creator of the design, would be at a severe disadvantage and would have to spend a ton of money just to get there and enforce your rights. No other Open Source license gives special rights to a particular class of users against the developers! This license doesn't comply with the Open Source Definition or the Open Hardware Definition as long as that particular paragraph is in place.
Nothing but that particular paragraph is a problem. If CERN removed it, the license would be acceptable.
Changes in licensing of open source projects
At one point, my employer was considering open source software for a particular printing need. During their evaluation phase the producer of the software decided to close the source, and my employer got nervous and decided to back out of using the software. I assume that any version released under GPL is still perfectly valid to use even if later versions are no longer GPL, and that should anyone, be they my employer or anyone else, decide to fork the project from that last GPL-licensed release, they'd be free to do so, and that my employer's decision to no longer use the software was unnecessary. I expect that I'm not the first person to see this occur with a company getting cold feet because of a license change. Have you been involved in this before, and how have other organizations handled it when software they were using stopped being open source or changed licenses in newer releases?
Bruce: There are all sorts of perception problems in business. One of the most disturbing was when a major international bank told me that Linux was no longer gratis (free of charge) because Red Hat was charging per system. They somehow felt that they didn't have an option but to pay Red Hat.
And then there are the companies who feel that they are helping the community by paying for Red Hat or by joining the Linux Foundation. If you want to help Linux or Open Source, help a free software project directly. Red Hat exists for Red Hat's stockholders, and while the Linux Foundation is sometimes helpful, it represents large companies rather than the developer community, and only a fraction of its budget pays actual programmers.
Regarding the problem your company had, I've noticed that sometimes it's when a company decides to close source that the project really gets opened. LibreOffice is an excellent example. It is everything that OpenOffice should have been and never was allowed to be – and not because OpenOffice closed, but because there was a lack of trust that existed for a decade but finally became intolerable with the Oracle purchase. We really should have forked the project away from Sun years earlier.
Interestingly enough, the Oracle-and-IBM-supported “Apache OpenOffice” doesn't have the traction that LibreOffice has, and doesn't look like it's going to get it. There's enough strength in a real community to easily beat one with corporate support.
Yes, the GPL protects your rights forever. It doesn't terminate and it really doesn't matter if someone decides to close their source or not, the GPL code you have is always free. But your company might have had a problem if no viable fork of the project formed. Going it alone might have been no fun.
What has changed since 2001?
Bruce - your interviews make up a large portion of the documentary "Revolution OS". If a second part were to be made starting now in 2012 or early 2013, what changes do you think would be highlighted?
Bruce: It's unfortunate that J.T.S. Moore's Revolution OS is as much the story of VA Linux Systems as it is about Open Source.
So, let's tell the story after the movie ends: people had no problem buying Linux hardware from HP and Dell, even though it wasn't their specialty. VA's sales didn't sustain its stock price, and the few people who had really large amounts of stock kept selling while the stock value fell, and fell, and fell. One or two folks became very rich while most lost. In the end the company was split up mostly for its web assets (including Slashdot), which have been no great performers.
So, in retrospect I think J.T.S. could have stuck to the community side and the film wouldn't be quite so dated today. But I don't know if VA was supporting the film then, and if that's the reason he made it partly about them.
I have a whole lot more hair in that film than I do now :-)
UserLinux vs. Android
Bruce, you were the founder of UserLinux which aimed to create binary compatibility for Linux, a simple VAR platform. Google with Android attempted something similar. How well do you believe Android fulfills the objectives you set out for UserLinux. And where they missed do you believe those misses were unavoidable given the changes in focus (desktop vs. handset) or something where a minor change of strategy could allow them to achieve those missed objectives?
Bruce, first off, thank you for everything you've done to advance the cause of FLOSS. My question: It's not hard to notice the shift in mass market computing away from the PC and toward the tablet and phone. While at its core Android runs the Linux kernel, it's hard for me to think of it with the same fondness that I have for my favorite FLOSS OS distributions. I can't just load up a new Linux distro on my Acer tablet, or in many cases even an updated version of Android, short of "jailbreaking" it. It's seems clear to me that such hardware is designed with the intent to replicate Apple's success with a vertical hardware/software stack. Given this (or perhaps not given this, if you disagree with my statements above), what do you think the future of open source will be in the tablet and phone world? Android? Meego? WebOS? Something else? Will it be open source programs in a not-quite-completely open OS like Android?
Bruce: If you just stand in an Apple store some time, you will notice the crowd of happy, enthusiastic people who are joyfully binding themselves to Apple's way of doing things. Those folks sincerely believe that their new tools give them freedom, too. The freedom to do things that would be more difficult or impossible otherwise. Similarly, one must acknowledge that the Kindle gives people freedom from those awkward stacks of paper at the same time we acknowledge the existing and potential abuses of the device.
The fact that normal folks are going with iPad and Kindle or a locked-down Android should not be lost on Free Software developers. We aren't meeting the needs of these folks well enough to even be given the chance to teach them about their electronic freedom. We must change, it makes zero sense to expect them to do so for us until we do.
I am conflicted about Android for the same reasons as user “zoward”, and I do have a strategic direction as requested by “jbolden” but it is not a minor one. I want to change the mission of our entire community to be more outward-facing and to have more sympathy for the common person rather than, as we do today, to make our software mostly for our own community to use. One reason that Android is successful is that we weren't making any alternative and never started any organization that could have gotten phones on carriers. Even Hildon/Maemo/Meego was mainly a Nokia-driven effort rather than a community one. Now, I think the Mozilla project might be able to do that with its feature-phone platform, we'll see.
On the one hand, you might say that Android is the fulfillment of getting Linux in the hands of real users. It's the Linux Desktop that never was, at least never was in the hands of normal people in any large number. I think that there are more Android phones activated daily than there are Ubuntu users.
On the other hand, the usual Android device brings users none of the benefits of Free Software. It's locked down, and unless you are lucky enough to be a target of the latest release of CyanogenMod, your device is probably stuck with the Android version is comes with forever. The rooting community for these devices are more like script kiddies than the Free Software developers I know. With a few exceptions there is nothing like real release management among them, and one has to search through boards for the latest software version for a phone. Some manufacturer's devices are pitifully easy to brick to the point that you need JTAG to recover, although if you build the device the way Google wants you to, that's less of a problem. Samsung, for one, doesn't do things in Google's way for no reason that I understand.
I bought an Android tablet from one of the few companies that respects your freedom. The hardware, though, is rather lacking for the price. Maybe they'll be able to catch up.
I don't really see any Android community that has succeeded in bringing freedom to a significant number of users. I am hoping that the Mozilla foundation will do better with their feature-phone platform.
I think there is room for more community work on making our systems, including GNOME and KDE, attractive to non-geeks and getting together a platform that really does give freedom to non-hackers in significant numbers. Right now, our tablet-oriented interfaces are mostly intolerable on the desktop, but I'm sure they'll improve.
This is part of being outward-facing. If we are not making products for people outside of our community, we're really just playing with ourselves. That's strong, but the mission – of having a real platform with freedom and real people using it – is super-important.
Kick back and tell the tale of your favorite hack. For example, Linus had a good one in his interview. You define hack, and favorite. Hardware, software, legal, moral, ethical, financial whatever. Something you did, or something you saw someone else do. As long as its your story. The only requirement of the story is that it be a good story.
Bruce: My favorite hack is a social one. One day, right here on Slashdot, I announced “Open Source” to the world. We were standing on the shoulders of Richard Stallman, but Richard was poorly suited to empathize with normal people - rather than us hackers – and thus evangelize to them. A policy document that I had created for the Debian project 8 months earlier became the manifesto of the Open Source movement and the definition of Open Source licensing, and has remained that way to this day.
I was just another programmer, out of millions of programmers, sending out a manifesto on the then baby Internet. Six months after the announcement of Open Source there was a Microsoft press conference in which Craig Mundie was asked by a reporter if Microsoft would Open Source Windows NT. Mundie answered that Open Source wasn't just source code, that it was about licensing intellectual property in ways that conflicted with Microsoft's model. Mundie had read my manifesto and was explaining it to the press. That's my favorite hack.
While revolutions eat their leaders, I seem to have survived. As has Richard.
What's out of scope?
Almost anything you can do or use today has an open source option. You have open source options for everything from your operating system [linux.org] to your chat app [blueimp.net]. You can read open source textbooks, cookbooks [wikibooks.org] and encyclopedias [wikipedia.org]. You can even build an open source airplane [makerplane.org] or brew your own free beer [freebeer.org] (free beer as in free speech, not free beer as in free beer). Given all these options, what part(s) of your life would you be unwilling to open source? Your children's education? Vaccines? A pacemaker? If so, what would your test be for deciding that a closed-source option is the only choice?
Bruce: I defer to Karen Sandler on the topic of pacemakers. If you haven't read her story, do so.
A lot of the life-and-property-critical things you mention would be better if the world could look over the shoulder of their developers the way we do with Open Source developers. Devices aren't safe until they're disclosed and safe. What we've found about medical devices is that their code standards are often horribly low and that they still are based on the idea of security-by-obscurity rather than any real security. Only having many eyes – even though those eyes can't contribute modifications directly – will solve that problem.
In the name of safety, I would like to see disclosure of the code of Google's self-driving automobiles. They don't have to Open Source it, but trade secret is wrong for life-and-property-critical devices that are operating autonomously around us. I think this is a mission that our community should get behind. Let's give Google a nudge on this!
You mentioned cookbooks. For reasons already discussed about hardware above, recipes aren't copyrightable. The photos, the commentary, and the compilation (the organization of all of the recipes into a book) are copyrightable. So, with the proprietary cookbook recipes you have more rights than you might have known.
That MakerPlane's not for real yet, and the RepRap never came close to making other RepRaps so completely as a couple of goldfish can produce more fish. I have been a critic of hype in the community, and at least in the RepRap case I think my criticism helped to get it cleaned up.
So, what's not right for Open Source? I helped to make feature films at Pixar and have an IMDB credit on two of them. While you can create stories in an Open Source paradigm, the best of them seem to be made in the conventional one. I believe that films should be playable on any device and should not be encumbered with DRM. I don't see a problem with an artist being paid for each copy of a film or music.
I put the question of entertainment being different from tools before John Sullivan, the new executive director of the Free Software Foundation, in front of an audience at the Libre Software World Conference a few weeks ago in Santiago de Compostela. John thought the issue of whether entertainment must be free was off-message for the Free Software Foundation. I think it may still be a personal issue for Richard Stallman, but it doesn't appear to clearly be FSF policy.
I don't believe we need the full freedom that we desire in our tools for something that is merely entertainment. But I do think there is a set of freedoms that is important for entertainment: the freedom to move them in place and time and play them on any device, the freedom to convert them in format, the freedom to preserve them as part of history, the freedom to report, caricature and criticize.
For life-and-property critical devices, it may be necessary for someone to stand between any Open Source community and the users, and make sure that the version the users get is free of any chance of malicious, incorrect, or naïve additions. The Debian OpenSSL Key Bug of several years ago is the classic example of a naïve addition. It is worthwhile for some devices to be guarded from that sort of problem, and for the result to be paid for per copy. But this does not mean that there can not be an Open Source community developing experimental versions of the same thing, and (through filters) contributing to the protected one.
Does SaaS change everything?
by Anonymous Coward
Now that most interesting new software is delivered to us over the web or via other network protocols, does this marginalize the contributions of open source and free software? For example Google, Amazon, and Facebook all have had some involvement with open source software as both users and contributors, but for the most part their technology stacks above the OS level (Linux) are under lock and key.
Bruce: Google, Amazon, Facebook all acknowledge a simple economic fact. There is no point in having your own programmers write anything that is not a customer-visible business differentiator for your company if you can get it from the Open Source community. A “business differentiator” in this case means something that makes your company look better than a competitor, to the customer directly. Too much “glue code”, and “infrastructure” is written by organizations that have no real need to do so if they would adopt Open Source. The message that is driving them to do so is the huge stack of cash being made by the companies that do use us.
We are, ironically, seeing a revolution in proprietary software that we created. We enabled these companies to work better with our Free Software, while we didn't, even when we used GPL, compel them to share everything.
Some time ago Free Software evangelists recognized that SaaS breaks the GPL. The Affero GPL was created to handle the Googles of the world. I participated in the very first internal FSF meeting on this issue, which must be more than a decade ago.
There is no economic or technical issue that prevents us from serving Free Software to people. Our community can do better against these companies than we are at present. The story's not over.
Usability in open source software?
by Jim Hall
Bruce, I'm doing a study of usability in open source software - how user interfaces can be designed in Free / open source programs so the program is easy to use by real people. So my question is twofold: What Free / open source program really got it right with usability? What qualities make for good usability in Free / open source software?
Bruce: Although I evangelize the issue of building our software for people outside of our community, I am no expert in usability at all. So, what that means is that there is room for others to evangelize best practices. I'd like to learn. I'll gladly pass your message along, if you build a compelling case.
If I had to guess, I'd say that Mozilla has more expertise in this than many Free Software projects. I have been running the GNOME 3 desktop in Debian Sid for a month or so, and I am not sure GNOME 3 is quite there yet. Keep it up, folks!
Can the Open Source community work smarter?
The days of open collaboration between Linux developers has been hampered by binary incompatibility, and high hurdles to share software on popular software platforms like Debian and Fedora, and Gnome/GTK. We've seen hard feelings and fractures between groups like Ubuntu and Gnome, and lot's of unhappy users. Are the days of freely sharing software on lists essentially in the past, or is there some way to once again pump life into that creative engine? Can we work smarter?
Bruce: I think there are enough of us to staff conflicting forks. It is interesting that most of the conflicts you mention are between user-facing organizations. The lack of binary compatibility is unnecessary, and IMO is mostly driven by commercial distributions for their own economic interest.
I'm going to give you a solution for this that some will find offensive. Sorry, but it's what I believe. Don't help Red Hat. Don't help Ubuntu. Only help community projects and non-profits. Unfortunately, Red Hat and Ubuntu aren't really taking the community where we need to be. We thought they would, but they didn't get us sufficient users, and didn't get us the users we need for the most part, and the negative effects they have (like isolating us from our own users, and being public representatives in their own interest instead of the community's) aren't worth the rest. We need to work on other ways of getting to users that aren't Ubuntu and Red Hat.
Impending death of GPL
What is your reaction to the frequent stories in various media about people migrating away from the GPL and using less restrictive licenses, complete with predictions that the GPL will eventually become irrelevant? Do you believe that there's any truth to that - do you believe that the GPL is intrinsically moribund, or do you dismiss such stories as simply being partisan shiller
Bruce: I think it's 100% B.S. And it appears to me that it's driven by Black Duck and it really is time that someone called them upon it. I think the stories get them publicity, and maybe they are appealing to a prospective customer base who are indeed nervous about the GPL. But the trend they portray isn't a real one.
Of course, business has nothing to fear from the GPL if they will invest in proper due diligence. Bradley Kuhn of the Software Freedom Conservancy, the entity that brings most GPL enforcement action, notes that the companies he goes after are the ones who are “going 100 miles an hour in a crosswalk”. That means a total failure of due diligence. I have seen Bradley waive enforcement against a company once they showed good intention in working to resolve compliance issues. He wanted to spend his time going after the more flagrant ones.
People use licenses for economic purposes, although they might not always think of it that way. Web platforms, because they are all about combining scripts, use the gift-style licenses instead of the sharing-with-rules ones. Black Duck takes this to be some sort of trend against further use of the GPL. The actual trend is that there are more and larger web platforms.
Thanks for the great questions, folks! It was fun to answer them.