On the XO Laptop

On the Open-Sourcing of Business

leave a comment »

[First published as xo-laptop: On the Open-Sourcing of Business on November 29,2007.]

In this post we take a look at free and open-source software: what it is, and what it is not. We also consider how businesses deal with it, and also how the open-source community deals with business. Though I make some mention of my employer — IBM — all these views are only my own, and I do not write them on IBM’s behalf.

Free and Open-Source Software; Commercial Software

As I have noted before, programming is just a form of writing.

Software can be a valuable form of writing. If you can do it well, or build a company that does it well, then you can make lots of money. If you doubt this then look up “Bill Gates richest man” in Google.

Roughly speaking, that writing can be had in two ways:

  • Commercially-licensed code, in which you pay for the rights to use the code
  • Free and open-source software, code that is available at no cost, though you must respect the terms under which it is licensed.

Firefox is an example of open-source. It is available at no cost, either in binary or source form.

Here are the key features of open-source:

  • There is a lot of it;
  • Some of it is very, very good. In some cases it is as good as it gets. For example, Linux is the best operating system yet written.

Business and Open-Source

Microsoft Windows is an example of commercial code. Its cost is part of the cost of a desktop or laptop. When you first bring the system up you are asked to agree to a license, which in the case of Microsoft is an End User License Agreement (EULA).

IBM has made money, lots of money, by engaging in open-source activities. For example, we engaged with Apache because it had a market share so much greater than that of our own commercial offering that it was realized there was no competitive battle to be waged. Apache was dominant, so we decided to work with them instead of competing with them.

IBM has also engaged seriously in Linux for several years, and has sold a ton of servers because of this work.

There is a fairly large literature now about the best business models for open-source, meaning how to turn something that costs nothing into something that makes money.

Some of that literature makes sense. Some of it doesn’t, as I was reminded by some recent articles about the “business” of open-source, by which is usually meant how to make money from free and open-source software. To wit:

  1. Microsoft’s Open Source Strategy
  2. Strip Mining and Waste Dumping in Open Source
  3. Microsoft’s Bill Hilf Reveals Its Open Source Strategy
  4. IBM Offers WebSphere for Geronimo
  5. Does Hilf speak for Microsoft on open source?
  6. Microsoft’s Open-Source Strategy Coming Into Focus
  7. Open source’s future: More Microsoft, bigger talent shortages

Posts (2)-(6) are referenced via the first, (1).

Before going further, it is worth noting that several of these articles demonstrate a common error in writing about open-source and business; namely that there is something “wrong” if a business uses open-source in its products.

This is nonsense. Free and open-source software is available for free. It is there for the taking, as long as you respect the terms of the license. If you can make money with it, then more power to you. There is no obligation to “give back” anything, though it often makes sense to participate in the community based on a particular open-source project. However, that is a strategic decision for you to make. Your sole obligation is to respect the license terms.

I don’t claim to know Microsoft’s open-source strategy, nor would it matter were I to know it, as all that really matters is what, if any, code they release in open-source form, and how they tend for it once it is released.

I don’t know too much about Mr. Marc Fleury, other than that:

  • He once worked for Sun Microsystems.
  • He made lots of money, what I call “oodles of boodle,” when he sold JBoss to Red Hat. Whether he sold them valuable code or a bill of goods remains an open question, at least in my view.
  • I once shared the stage with him at a Gartner conference on open-source. During his presentation he yet again uttered his mantra that, “JBoss pioneered professional open-source.” This angered me then, and angers me now, as I find it offensive to make this statement. Aren’t Linus and all the other kernel programmers professional? How about Apache? No one owns “professional.” To claim that you do is to betray your stupidity.
  • He claims to understand IBM’s open-source strategy.
  • His behavior and reputation, especially during the time when he and some others at JBoss made anonymous posts attacking competitors, led to the creation of a new word, “fleuridation,” as discussed in my post Leigh Anne Tuohy – “God gives people money to see how you’re going to handle it”. By the way, I have written over six hundred posts to date in this blog, and this one post has accounted for almost one-tenth of my total views.
  • Having made oodles of boodle, Mr. Fleury seems to have disappeared from the open-source arena. I wonder how much boodle he has donated to such causes as the One Laptop Per Child Project?

However, having worked for almost five years now as a member of the team that manages IBM’s open-source strategy and its execution, I can claim some expertise in this area.

There are no vast secrets here, no grand plan. Here is the strategy as I understand it, and as I have worked to implement it.

When you need something you don’t have then you face a “make/buy” decision. Do you build it yourself, or do you acquire it from someone else?

If no one else has yet made it then you have to decide if you should build it. For example, IBM spent several hundred million dollars building a computer to tackle the thorny computational challenge of how proteins “fold,” a key to understanding how to manufacture drugs. No one else had the resources, so we went ahead and did it on our own. That computer is called “BlueGene,” and has for several years had the distinction of being the world’s fastest supercomputer.

If someone else has built it then you have to weigh the costs of building it on your own as compared to the cost of buying or licensing it from someone else, what lawyers call a “third party.” There is also the question of risk. If you build it yourself there is no legal risk. If you acquire it from someone else there may be associated legal risks. For example, will the company stay solvent? Do they truly own the rights to the intellectual property they claim to own, and so forth.

Dealing with open-source differs from dealing with a commercial vendor in two key ways.

It is customary, in concluding any exchange of goods and services that goes beyond a simple purchase, to draft a contract. The contract states what is offered, what is to be paid, how to deal with problems, and so forth. Part of the transaction is the negotiation and drafting of the contract.

However, with open-source you don’t have the option of drafting a custom contract. You only have the license, the terms of which are not negotiable, so you have to accept the terms and agree to live by them, or walk away.

There is an additional risk in some uses of open-source in that some of the code may be of uncertain origin. For example, thousands of programmers have made contributions to Linux over the past fifteen years. Some of those contributors were employees or graduate students. Did each have the rights to donate the code to Linux? Who knows? It is impossible to answer this question with legal precision.

The most common-sense approach is that used by IBM, and I would expect all other organizations that engage in licensing third-party intellectual property, of which open-source is an example:

Evaluate each case on its merits, balancing the business gains against the legal risks, taking what steps you can to mitigate the risks, and then going forward only if you decide the potential gain is greater than the risk.

There it is: The Grand Plan; The Secret Sauce; The McGuffin. Now you have it, and away we go!

That’s enough for now about how business deals with open-source. Let’s now turn our attention to how the open-source community deals with business, at least from my own perspective.

Open-Source and Business

I had a great phone call yesterday. An IBM colleague called me to seek advice on how best to open-source some of our code. We discussed the business reasons for doing so, were there any commercial competitors, were there any existing open-source efforts that did the same or closely-related thing, all that sort of stuff.

It went well. We sorted out the basics, and will now steam ahead. By the way, I’m comfortable saying I am very good at this sort of thing. For example, as best as I can tell, I am the only person who works for a “Fortune 20” company who has written code code that was perceived of sufficient value as to cause the company to create an open-source license that has been approved by the standard body in this area, the Open Source Initiative.

As the call drew to a close I said that I envied him, for once the code was released, he would be able to do programming at the highest-level, for that is what open-source is.

I’ve seen many characterizations of open-source, and have written many during the hundreds of posts in this blog. I think the best is one I have often seen expressed by Linus Torvalds, and it was one of the explanations I gave in a talk to the New York City Linux User Group in a talk in December, 1999.

Simply put, free and open-source software is just the scientific model applied to programming: free sharing of work open collaboration; open publication; peer review; recognition of the best work, with priority given to the first to do a meaningful new piece of work; and so forth. As a programmer, it is the best arena in which to work. There are no secrets; the work must stand on its own.

As a programmer, ask yourself this question: “If money were not an object, why would I program except as an open-source developer, for it is programming at the highest-level?”

See also, Make or buy? Home, sweet home — on the web, on the importance of building an open-source community.

Assuming you accept this premise, and decide to engage in open-source programming, the question then is, “For whom are we writing the code?”

First, we write it for ourselves personally, to show that we can do it, to garner the satisfaction that will come if we can bring it off, and to enjoy the unique fun that is programming when done well.

Second, we do it for the other programmers in the community: adding our code to theirs; adding one more piece to the “open-source stack”; making it available in case someone else can find a use for it; avoiding someone else having to write it when they see a need for it; and so forth.

The net of all this is that we open-source developers have made a major contribution to the world at large. We have spent the last quarter-century or so constructing thousands and thousands of gifts to humanity, each in the form of what we call an “open-source package.”

That collection of software is worth at least five billion dollars, and probably a good deal more. It would cost at least that to duplicate it, and this doesn’t give full weight to the time that would be needed to do it.

What other profession, save medicine or education, can make such a claim?

I think we are about to enter a new era. We have worked for twenty-five or so years to build that stack. It has taken that long because advances in programming are linear; at best, our skills in programming grow by only a few per cent a year.

However, Moore’s law has remained true, relentlessly improving the performance of hardware while reducing its cost, at an exponential rate.

I think the two have finally come together, and off as an example the new XO Laptop from the One Laptop Per Child (OLPC) Project.

While most folks perceive the XO as just a cheap laptop meant to educate children in third-world countries, I think it is more, much more, than this.

In my view, the XO is the first instance of what I call a “terraputer,” by which I mean a cheap, rugged, environmentally-friendly hardware platform capable of global deployment.

More to the point, the XO was defined from the start to use free and open-source software to provide both the operating environment — Linux — and the key applications.

And to me this is really why we do this open-source work, to provide a tool that can be used to make the world a better place in revolutionary ways.

Our code is now so good that we have “open-sourced” business itself, so the business folks now invest enough in us and our work that there is no doubt the open-source artifact will continue to grow, each and every day, in both quality and quantity.

Now we can set about doing something really useful with it, marking the start of a new era:

the era of the use of free and open-source software in the public interest and for the public good

This is now our main business. (We’ll let the business folks take care of their business on their own.)

Let’s get to work. Now would be a good time to start.


Written by daveshields

December 12, 2007 at 3:11 pm

Posted in xo-laptop

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: