Saturday, June 02, 2007

Open source cakes?

Ok, I finally have something to blog about. I just came up with a pretty good analogy to explain open source using ... cakes. First, some background. Cakes are good examples, because you can't really tell the recipe from the cake. If you're given a two-layered chocolate cake, will you be able to deduce the recipe from it? Unless you're a really really good chef or food critic, I don't think so. That is like software. In proprietary software, you only get binaries, no source code. You can't deduce the code in binaries, because it's just a collection of 1s and 0s, no actual code. It's like only getting the actual cake. Open source, however, is like including the recipe for the cake with the cake itself. That way, people know how the cake is made, and allows them to evaluate the recipe for themselves and possibly improve it.

When talking about open source software, Microsoft is bound to come up. So, I'm taking care of them up front. In this analogy, Microsoft is like the cake factory. Because of its ability to make tons of cake, it has a large proportion of sales. And most people just want cake, they don't quite care how it was made, and it's just convenient to buy a cake that's been factory made and sold everywhere than to make your own cake or buy a cake from a baker.

Who's the baker? Linux distributions. Linux distributions are your friendly neighborhood baker where you can hang out with other people and talk about the cakes that are made. You can also communicate directly with the baker to find insight into the recipe. Bakeries are a good place for people to get together and discuss how to improve the cakes and provide more options in cakes. A lot more than offered with factory-made cakes.

So, we have bakers and the cake factory, what's left? Teh hax0rs of course. Well, the reverse engineers, who try to make improved counterparts to common proprietary programs. These can be the bakers themselves, or merely culinary enthusiasts. For example, if the factory decides to make a change in some their cakes to make them more ... rich, the culinary enthusiasts then set in action to try and make existing cakes more rich. They have no idea how the cake factory did it, but they try to reproduce the change made in the proprietary cakes. And they update the recipe.

Now, time for the most important part of the open-source plan. It's not the baker, but the people who hang out at the bakery. That's right, the community. Without the community, the baker would not have the resources to make good cakes. For one thing, the community is very familiar with the cakes of the bakers. They also supply constructive criticism to the baker to improve the quality of the cakes. Because of the community, the baker can test his culinary creations and improve them on a scope far greater than the cake factory. In fact, the most important things in the open-source plan occur on the boundary of the community and the baker. It is there where innovation takes place. And it's there where the culinary enthusiasts can be heard and their ideas implemented.

However, normal people overwhelmingly use the factory-made cakes. The same way the Desktop market is overwhelmingly dominated by Windows. However, people who often host parties and have a very high demand for cakes use caterers (the server market). That's about all the information I have on this topic.

Of course, because it's me, I have to stick Sun Microsystems somewhere. I believe Sun would be a caterer. Sun is very successful on the server market, so is a very prestigious caterer. It is also very familiar with the bakers, and although it has its own baker (Solaris), it contributes highly to the other linux bakers to keep open source alive.

Yeah, this is only what I was able to remember at this time. I'm sure I'll be able to come up with more connection. Heck, I think this post is so important that I should link to it somewhere on the front of the blog.

No comments: