My nearly 11 minute keynote at OSCON 2013 this year, felt long enough when I gave it, but in terms of what I have to say about the future of open source, it wasn't even close.
Here I expand on the lessons I've learned from other people working in open source, new technologies emerging in open source that haven't come of age yet, my passion for open source not being a Zero Sum game, and bringing open source to other parts of society and industry.
Lessons I've learned
I’ve been fortunate in having access to a lot of smart people and I believe Joy’s Law ("No matter who you are, most of the smartest people work for someone else.") holds true universally. I explained in my keynote is that I have stopped trying to be the expert in open source and have strived instead to be a student. That’s when I started to really learn about what makes open source work, and I felt strongly that those lessons needed to be shared. These are just a few of the many lessons I have learned.
Most importantly, user-led development (versus vendor-led development) is a critical part of open source success. The best open source developers are who are scratching their own itch (e.g. Linus Torvalds with Linux). I believe the real power of open source is in the democratization of the development informed by real world use cases. While most of the coding in an open source community is usually done by a relatively small number of people, the collective intelligence of a large group of individuals adding their personal experience and feedback in the form of small patches, testing, and feature/bug requests, is what makes open source software so powerful.
As someone who has been working on open source at for-profit companies, I’ve learned that while commercial backing can really drive the development and success of a project, making money by selling free and open source software is tough. Making money around open source is much easier. My point is that you should never try to compete by adding features to an open source project, it puts you in competition with your community. This is often called the open core software model, and it doesn’t work. Companies that are a success in open source offer products and services that complement the project, not compete with it.
Red Hat does this with Red Hat Enterprise Linux (RHEL). Update services, technical support, and professional services are much better approaches to commercialization then feature differentiation. I also like Automattic, the company that drives much of the development of WordPress and offers a slew of products that augment WordPress or enable it through web hosting. I often see software where the commercial version is a poorly tested fork of the open source version. Both Red Hat and Automattic offer a more conservative version of the open source projects. I also worry with the proliferation of BSD-style licensing that we’ll see more proprietary forks that don’t continue to build the momentum around open source projects.
I mentioned collective intelligence before, it is one of the key things I learned about distributed development and open source. When you enable distributed software development without a high degree of coordination but make it easily collated into a single useful product, then you can gain a significant advantage. Some development just requires core development and high levels of coordination to achieve collaborative intelligence, but there’s a lot less leverage in that model.
I look at projects that have a plug-in framework as examples of projects that gain from this collective intelligence: Puppet, Chef, Nagios, Firefox, and Chrome all provide a way for users to transfer their domain knowledge in the form of plugins (each project has a different name). That means all these discrete contributions can create a collective that checks all the boxes without having to highly coordinate the development. That’s a hyper efficient way to deliver solutions, collate knowledge, and allow for collaboration.
New technologies emerging in open source
In the near-term, I think that open hardware is very interesting. I remember when Sun open sourced their NAND Ram, and I realized that open hardware was going to be much more prevalent in the future. I even wrote an article about it back in 2006 when Sun open sourced the designs for their Sparc T1 chip. Samsung had also open sourced their One NAND RAM, and now more and more companies are following suit.
In the data center, Open Compute has huge potential. Not because I think every company will start building their own servers like Facebook, but because it’s putting the innovation in the hands of the expert users and data center managers. I think that you’ll see more end-users driving improvements in heating and cooling as well as power utilization with these hackable hardware form factors as well as having more options in processing as ARM becomes more powerful.
Along those lines, Intel has released the MinnowBoard, an open source PC for less than $200. The BeagleBoard and Raspberry Pi are already very popular hackable ARM platforms as well. My generation had Heathkits to learn about electronics. Kids today have awesome, powerful hackable hardware, and the benefit of that is that it’s raising a new generation of hackers who are being taught not to accept things the way they are, and to drive improvements.
3D printing is also very exciting; especially since the price point has become so low. There’s a rapidly growing community driving the trend in manufacturing; people are sharing their designs for MakerBot’s 3D printers for example. As a result, I believe that we’ll see more and more opportunities for democratizing production and we’ll see a more diverse supply chain were more companies can deliver highly customizable products on demand. Just last month I saw an open design for airplanes, so I think the idea of open is taking root in that industry.
As I said in my keynote, I think that the medical field could benefit the most, but it requires a culture change for that industry. My example of the Open Prosthetics Project highlights an industry where technology hasn’t made any significant advances in over 100 years and is ripe for change.
Trade secrets seem to be held tightly, but hopefully as more people grow up in a world driven by open source they’ll adopt that mindset. Duplicating effort is inefficient and we are at the point where research can be shared across companies while still allowing them to make a profit. When we start seeing large amounts of research and ideas being shared between government, education, and private sectors I think we’ll see a huge leap forward in medicine. I for one would love to see open ultimately be the cure for cancer.
Open source not being a Zero Sum game
In business, the idea of competition is instilled in us. We want to be first, best or only at whatever we do, which gives us a competitive advantage. Unfortunately, a lot of people end up duplicating effort to keep this proprietary edge. The open culture provides for collaboration on the easy problems and the heavy lifting so we can focus on pushing the envelope for whatever problems we are trying to solve.
In the open source community, there has been an esprit de corps that has driven the success of this style of collaboration. As time has passed, more business people have entered the community and they have added resources to help give developers jobs transforming their part-time hobby work into full-blown employment. They also have developed products and services that heavily rely on these open source projects.
Some of these companies, like IBM and Google, have thrived as they invested in open source and reaped tremendous gains with a long-term outlook. Others have entered the fray, but they don’t understand the culture of open source; one that strives for the benefit of the user, the developer, and the corporation. I am becoming concerned as I see more and more organizations get involved and bastardize the open culture for short-term gain. I am increasingly bearing witness to pettiness and cross-community sniping and it saddens me.
In my keynote I quoted noted hacker Allison Randal who said, "…the future of technological innovation is not stealing limited resources away from one another, but creating new resources—and new opportunities to create new resources—together in a rich ecosystem." I think that some people fall into the trap of competing with other products rather than driving innovation and adopting strategies that allow them to benefit while fostering a collaborative, positive community.
Although I like to characterize myself as a free software hippy, I’m a capitalist free software hippy, if such a thing exists. I think there’s a way to achieve a mode of operations where an open source community can flourish alongside their capitalistic endeavors.
Tim O’Reilly captures this sentiment perfectly in his seminal blog post, Work on Stuff that Matters: First Principles. He astutely states:
I want to make clear that 'work on stuff that matters' does not mean focusing on non-profit work, causes, or any other form of do-goodism. Non-profit projects often do matter a great deal, and people with tech skills can make important contributions, but it’s essential to get beyond that narrow box. I’m a strong believer in the social value of business done right. We need to build an economy in which the important things are paid for in self-sustaining ways rather than as charities to be funded out of the goodness of our hearts.
I also like to cite Nobel Prize award winner, John Nash’s research on game theory. I would summarize it as: a limited degree of cooperation allows all players to have an acceptable degree of success. This provides a richer ecosystem that also benefits the end-users of technology.
Open source beyond software
In my keynote, I urged the audience and community watching to bring open source principles to other parts of society.
Being an open source cloud computing guy, I see the opportunity for shared infrastructure to enable collaboration in almost every industry. One of my favorite examples is that of the Higgs boson researchers who through the coordination of CERN (the European Organization for Nuclear Research) enabled over 10,000 scientists and engineers from 600 institutions in more than 100 countries to come together to make one of the biggest discoveries in the history of physics.
Without an open platform for them to collaborate on, in this case Apache Hadoop running on open cloud and grid infrastructure, they couldn’t have analyzed this massive amount of data (20 million gigabytes of data each year is produced by the CERN Large Hadron Collider, the world’s largest and most powerful particle accelerator). This model could be applied to other researchers with huge data sets and permutations should the industries that drive them adopt an open mentality.
I think that drug discovery and medical research in general is a logical place for shared research to happen, though the current Big Pharma market doesn't seem to be geared towards capitalizing on this. They tightly hold on to research and dump huge sums into trying to create the next "miracle drug." It’s not unlike the software industry of the 1990s where companies like Microsoft and Oracle reigned supreme with market leading solutions. Though the world of enterprise software has changed, so maybe pharma can too.
Microsoft and Oracle each have significant open source endeavors now and are also facing competition from service providers, open source projects, and companies that offer software-as-a-service that requires a much lower capital investment. If these market forces fueled by an open mentality emerged perhaps we’d see advances in medicine at an unprecedented rate.
Another area that’s breaking ground is the BitCoin cryptocurrency p2p market. The idea that an open market that is not controlled by a central authority could flourish seemed at first to be a farce, but for the past few years it’s grown in popularity. I don’t know that this incarnation will be long-lived or viable but as an experiment in international finance it could lay the groundwork for a much more stable international currency system.
Along those lines there’s also the potential for open to add more transparency to our government process. I see a lot of initiatives in government: the White House’s Open Government Initiative is a plan to drive transparency, participation, and public collaboration. Code for America aims to improve the relationships between citizens and government. Jason Hibbets, project manager at Opensource.com, has a fascinating book out: The foundation for an open source city. In the IT world, we understand the importance of APIs to allow the transfer of control and data. We need to bring that same culture to create the API for government.
I would hope that someday the pressures that open source software exerted to improve quality, reduce cost, and increase vendor accountability seeps into the medical field most of all, but it could easily influence other industries like manufacturing, government and, other fields of endeavor. We live in a Cambrian era of information technology (big data, cloud computing, etc.) that is providing the platform for massive collaboration. I only hope we as a society take the principles of open and realize the opportunity that has been presented to us.