Open source is (still) changing the way work gets done

[The beginnings of a keynote. Feedback and input welcome.]

Open source is changing the way work gets done. Yeah, yeah, what's new? We all know that. But really, free and open source software has changed the software industry in the past but it's really changing things now. Especially when you look at industries that are now using open source software that didn't used to be in the software business: cell phones, netbooks, medical equipment, …

Once upon a time …

All software was free. Nobody thought software was worth anything. It was the enormous, huge machines that were important.

Then one day people realized that software was important. And since it was important and perhaps useful, they could charge for it. In order to do so they had to hide how it was done or everyone would just copy what they did and not pay them.

It was Richard Stallman who pointed out that by not sharing how it's done, we severely limit ourselves and how fast technology can grow and benefit society. (He compares it to music – Mozart and Beethoven couldn't have written their music if we copyrighted notes. I first heard him speak about it at GUADEC 2001 in Copenhagen.) And he wrote the GPL, one of the most popular free and open source software licenses.

It took a few years, but finally people caught on in a big way. The world got to hear about Linus Torvalds' Linux project. And people went on to write all sorts of useful software projects – under free and open source licenses.

And then, when it became apparent that this free stuff was useful, people started wondering (once again) how they could make money off it. They came up with a few models that have proven they work.

  • Support & Services
  • Proprietary add-ons
  • Dual licenses
  • Hardware enablement
  • Advertising

And for a while it looked like that was going to be it. Open source software provided lots of inexpensive, great technology for individuals and companies. It saved them not only money but time. It enabled them to go to market faster, with more flexible technology, that met their needs or their customer's needs better, and it was often more secure and robust to boot.

And it changed the way the world worked. At least the technology world. I believe that much of the technology we have today has moved along much faster than it other wise would have either because it was open source software or because there were open source alternatives. I think netbooks owe their existence to free and open source software. One Laptop Per Child showed that you could make a cheap laptop and when the more traditional hardware vendors went to match it, they discovered that they could meet those low price points with free and open source software. (And then Microsoft had to match those price points to stay competitive.)

And developers have much better jobs these days because they have access to the open source development models. It's now common to be able to search bug databases, report problems, post code, try out other programs that might solve parts of the problem you are trying to solve. (And these aren't necessarily all due to open source but open source made them standard, made them the expected way of doing things.)

And then the big change.

Open source entered into businesses that weren't even traditionally software businesses.

Take a look at the mobile industry …

I went to the open source in mobile conference in Berlin last year and I sat next to some people that were at an open source conference and they didn't know what Linux was. (They didn't know what GNOME was either – it was in explaining what GNOME was that I realized they didn't really know what Linux was either.) These people are entering the open source world for an entirely different reason than companies have in the past. They aren't trying to make money off of open source – they might think they'll save some money – and they aren't trying to create an open source business model. They already have a business model. They make cell phone hardware or they provide phones and services to end users or they make applications for cell phones.

They are in open source because it provides the technology they need to make their business happen. What brings them to open source? It's flexibility, it's time to market, it's not reinventing the wheel but yet being able to customize their offerings for customers. It's a lot of the same things that originally made open source software attractive to enterprises but what's different with these new users is that they often become developers not just consumers. They need to make Linux or GNOME Mobile work on their chipset or their handsets and they need those changes to go upstream. And they are used to just asking their suppliers for the change, not negotiating with a project that includes a bunch of their competitors.

So far, the people I've worked with have been really excited about working in open source but there's no doubt that it's shaking up the supply chain.

How does a netbook vendor, one that's typically just manufactured hardware and worked with Microsoft for the software, how do they go about putting free and open source software on their hardware? Do they partner with a Linux distributor like Red Hat or Novell or Canonical? Or do they partner with a company like Intel who's come out with a whole new interface for netbooks, Moblin? Or do they hire a bunch of developers (or hire a company) and come up with a new interface just for their hardware?

Are the mobile devices of the future differentiated on hardware, operating systems, interfaces or applications? Or service plans? (I think the answer is yes, all of the above.) And open source enables them to compete effectively in all the software components (operating system, interface and applications.) It gives them all the building blocks and enables them to create custom solutions that meet their customer needs. And they can focus on the customization, not the building blocks. But open source also makes it harder. You can't just make an interface and deliver it to customers and say "here's what you get." Now customers expect much more, and they expect to be able to download applications, and get software updates on the fly.

And it's not just affecting mobile – it's affecting all technology. Look at medical equipment. It used to be that every medical equipment provider had their own proprietary software that ran on their own proprietary hardware. Now companies like Supersonic Imagine are using open source software technologies, like GTK+, to build custom software that meets their customers needs.

And GPS manufacturers are using open source components.

And digital video recorders and printers have open source components in them.

And all these companies and all these developers are now working in a collaborative world-wide environment. These are developers who we never used to see. We never saw their work or got to benefit from what they did. (Except people that bought their products.) Now all those developers are part of a greater ecosystem. And the changes that are made to a product to make it work well for GPS's also benefits netbooks. And servers. And web apps.

It's bringing collaboration to people and companies that aren't even in the same industry.

To give you an idea of how far reaching the same open source components can be: there are GNOME  technologies … In phones. In GPSes. In medical scanners. In Moblin. In netbooks running their own interfaces – Eee PC's are built on KDE but have GNOME technologies in them as well. And all of these people and industries are collaborating on the same software!

Universities have responded to this by using open source software projects in their classes in order to make sure students have the skills they need to collaborate effectively.

For example, Emmanuel Fleury, a professor at Bordeaux University, is using open source software projects as a learning ground for students. He has students fix bugs on real projects. They learn how to read code, work with the community, interact with existing code … all skills they'll need when they start writing code at their first job.

And universities are using the open source model and value system to attract a new type of student to programming. The HFOSS program, run by Ralph Morelli and Trishan de Lanerolle at Trinity, has successfully attracted more students to computer science, and more women in particular, by focusing on open source projects with humanitarian causes. During the summer they bring students to the campus, teach them and put them to work on a portfolio of open source projects with humanitarian causes. Community members from the project serve as mentors. The students get housing and a stipend just like they would at a traditional internship at a software company.

These students will start their first jobs with real life experience. And contacts. And a reputation they can build on and call on. And when they leave that job and go to another, they'll take their experience, their reputation and their roles along with them. And their networks. 10 years ago I knew a bunch of software developers at HP, where I worked, and that was pretty much it. I knew people at our customer sites and I knew friends from college, but I didn't share technical problems I ran into with people outside of HP. I didn't share the cool things I wrote with people outside of the company.  Now, developers in jobs like that work with developers around the world. Their networks, while probably still mostly people in their company, now include experts from different projects around the world.

Developers in the mobile companies I talked about are working on
the GNOME Mobile mailing lists and in the GNOME projects with freelance developers, developers from their own companies, developers from competing companies and developers from all up and down the supply chain from chip manufacturers to carriers. And that results in happy developers, more integrated products, complex products that get to market quickly and in lots of very cool options for end users.