April 20, 2012 1 Comment
I am an unabashed, unapologetic Open Source zealot. I pay homage to the Free Software movement and the Free Software Foundation. Despite their differences, the Open Source folks and the Free Software folks have similar views. I think it’s fair to say that, in very general terms, both the Open Source and Free Software movements believe we should share knowledge. I agree that we should share knowledge. We’re all stuck on this big blue ball together, and there’s plenty of hate here. I’d rather be on the side of love. In my eyes, making someone else’s life better through education and enablement is an act of love.
Having said that, I am a firm believer in intellectual property protection. If I write a book or record a song, I think it’s reasonable that I retain ownership of that book or song. If you find it valuable, I think it’s reasonable for me to ask you to pay for it. If I find value in someone else’s book or music and they ask that I pay for it, I will absolutely pay a reasonable rate for that value. There are certainly numerous examples of ridiculous rate structures and terrible treatment of authors and musicians by various industries. I don’t like that, and in many cases it has driven my behavior to not purchase anything from those industries. It does NOT, in my mind, make it OK to pirate that music or book. Instead, I support the artist by going to his or her concert whenever I can.
Intellectual property protections apply to software, as well. If I write a program, I think it’s reasonable that I want to retain ownership of that program. Copyright law provides legal protection to producers of music, books, software and countless other bodies of work. Copyrights are a Good Thing(TM). There is no disconnect between copyrighting software and sharing it. A common misconception is that Open Source software is somehow ownerless, that it’s just out there on the Internet and anyone can do whatever they want with it. That’s not the case. Open Source software is generally copyrighted by a person or company – that person or company is legally able to do what they want with that code. There is no difference between a private, closed-source company copyrighting their code and an Open Source developer or company copyrighting their code. Copyright just protects ownership. It’s what happens after the code is copyrighted that makes a difference.
Closed source software vendors then release their software under a license. Open Source vendors do, too! The difference is, closed source licenses restrict what you can do with software. You may be restricted from installing the software on more than one machine. You will almost certainly be restricted from sharing the software, or from trying to figure out how the code is written (reverse engineering).
Instead of restricting your freedom to use software, Open Source software licenses guarantee those freedoms. Open Source licenses ensure you can install the software freely, on as many machines as you like. You can distribute the software and its source code freely. In fact, Open Source licenses require that when you share the software, you MUST share the source code, too. It’s the same with any changes you make… if you make changes to the software and distribute it, Open Source licenses require that you share the changes, too! It’s really a beautiful model… it protects the copyright holder and the community. It actually protects people who know absolutely nothing about software… it guarantees that the innovation of code that affects their daily lives can not be restricted.
It’s been demonstrated time after time that you can release your code under an Open Source license and still make a living off of it. My employer, Red Hat, recently celebrated its first billion dollar revenue year. JBoss (before Red Hat bought it), EnterpriseDB, MySQL (before Oracle bought it), Zimbra (before VMWare bought it), Alfresco, all are successful companies which have released their code under Open Source licenses. Unfortunately, some of these companies are not pure Open Source, and I think that’s a huge mistake, but that’s a topic for another post.
I’ll use Red Hat as an example of how you can make a living while giving away your code. Red Hat is successful on a number of levels. From a purely business viewpoint, they’ve made good money “selling free software.” From a community standpoint, they’re able to contribute more to various Open Source projects than almost any other entity on the planet. From very specific technologies like the Linux kernel, the C libraries and the compiler toolchain, to larger-scale projects like the GNOME desktop and cloud computing frameworks like OpenStack, Red Hat is able to lead contributions because of its commercial success. Through those contributions, everyone benefits, not just Red Hat and its customers. Even commercial “competitors” derive value from Red Hat’s work. Even that is a net gain, because those “competitors” have some really sharp folks, and hopefully they’ll improve and contribute code, too.
Red Hat’s success is driven by the subscription model. I have seen a lot of confusion about what a subscription is. I deal with folks all the time who talk about “Red Hat licenses,” and I try to gently remind them that the license under which they use the software is the GPL or LGPL or Apache Software License or some other Open Source license. The business arrangement under which they consume Red Hat-provided technologies and services is the subscription. A subscription to a Red Hat technology, whether it’s Red Hat Enterprise Linux, or JBoss Enterprise Application Platform, or Red Hat Storage, or any of the countless other technologies Red Hat offers, is not really about the bits. You can download those bits yourself, compile them, and use them all you want. At no initial acquisition cost!
The subscription is much more about the integration of those bits with other Open Source bits and putting them all together as a product. It’s about certifying those bits with third party (even closed source) software. It’s about certifying those bits with hardware vendors like Dell, IBM, HP, Cisco and others. It’s about documenting how to use those bits. It’s about customers being able to influence the direction the development of those bits takes. It’s about funding new bits via the innovation that comes from the Open Source developer community. It’s about having professional services to help customers with the adoption and deployment of those bits. It’s about getting updates to those bits to address bugs. It’s about getting newer versions of those bits when upgrades are available. It’s about getting someone on the line if you have problems with those bits. You’ll notice I listed support last. While support is obviously very important, it’s really only one part of the subscription.
As I wrote this post, I chatted with one of my good friends at Red Hat. He reminded me that intellectual property protection is, in some ways, MORE important to Open Source developers than to closed-source ones. Closed source developers can put technical restrictions into their code like license keys, “phone home” registration, license management servers, and things like that to prevent their software from being used in a way which is contrary to their license. Open Source developers don’t do that – it’s completely contrary to the ethos of Open Source. So the only thing that stops an unscrupulous developer from incorporating Open Source software into a closed source product is license protection, which is based on copyright.
There is no disconnect between creating and owning software and sharing it. The US and other legal systems allow us to preserve intellectual property rights while distributing code as Open Source. The waters get muddied when it comes to software patents, though, and I’ll talk about those in my next blog post.
What do you think? I’d love to hear any questions or comments!