Stop the Noiz

Apple vs. Microsoft on Open Source Software

Frank Fox - 2009.09.15 - Tip Jar

Apple = open source
Microsoft = closed/proprietary

The first equation above doesn't sound possible. Apple is a proprietary "build the whole widget" computer maker. Conversely, Microsoft is all about developers, developers, developers. You would think that Microsoft would like opening things up to put into the hands of developers, since they love them so much. It just shows what a crazy world we live in when the results are the opposite of expectations.

Apple and Open Source

Everyone wants examples to prove something is true. One of the most famous Apple open source projects is Safari - more specifically the WebKit rendering engine. This started back in 2002, when Apple approached the open source KHTML project for use in a new browser it was going to make.

At first, everything was great. Then, when Apple complied with the letter of the LGPL and gave patches - but not tons of support to make those patches useful to KHTML. The KHTML developers complained that they were expecting more. It took a while (years), but Apple improved its support.

Apple wasn't just developing a browser for KDE, so it produced changes that were more generalized for any platform. This led to the creation of WebKit. Apple could have kept WebKit to itself, but to gain more support and acceptance, Apple offered it back to the KHTML developers.

Today's WebKit is used by many of Apple's competitors in the computer, browser, and smartphone markets. For example, Google's Chrome on the desktop, OmniWeb browser, and Palm's Pre smartphone. Now that others are using it successfully, does that mean Apple is upset and has changed its mind? No, Apple reportedly still has 30 developers working on it, so it doesn't sound like they have given up on the project.

Microsoft and Open Source

Let's compare that to Microsoft. In recent news, Microsoft donated code to the Apache Stonehenge project. It helps that Microsoft joined the Apache Foundation as a member. Still, to be more comparable to Apple, Microsoft would have to open a large portion of its web server or .Net code to the Apache 2.0 license. Don't hold your breath waiting for that to happen.

For Microsoft's one step forward, there are two steps back. A second code donation from Microsoft happened this year. It donated 20,000 lines of code to the Linux kernel! Why? Because Microsoft was caught violating the GPL license. Unfortunately, the code needed 200 patches to clean it up, and Microsoft's engineers won't return calls for help. You can get Microsoft to support open source (after they get caught), but that doesn't mean you'll get their cooperation.

Microsoft even released the SDK for Bing. It had to use its own Microsoft Public License. (There are dozens of open source licenses: Apache 2.0 license, LGPL, GPLv2 or GPLv3, etc., but none of those are good enough for Microsoft.) This openness is seen as a way to support the iPhone without Microsoft having to get its hands dirty.

Microsoft is moving to capitalize on its limited progress in the open source area. It has even started its own foundation, CodePlex. Nothing says "open source" better than a privately funded foundation. What the heck is Microsoft thinking? This isn't Ubuntu.

If money corrupts, how can we trust a privately funded foundation to remain independent?

Apple vs. Microsoft

How does the famously proprietary "we build the whole widget" computer company, Apple, compare? In Apple's corner we have WebKit, CUPS (Common Unix Printing Solution), Bonjour (Apple's implementation of Zeroconf for sharing devices over a network), Darwin (a POSIX operating system and the basis for Mac OS X), OpenCL, etc. Apple recently opened Grand Central Dispatch (or at least a major portion of it called libdispatch) under the Apache 2.0 license.

LLVM logoThat is some serious open source mojo. But that's not all! Apple, being POSIX compliant, can use all sorts of open source tools. One open source tool, the LLVM software compiler, is so important to Apple that it created a custom logo for it (left). Apple is willing to directly support outside open source projects when the projects can be directly useful to the Mac.

While it mostly uses one of the popular open source licenses, Apple, like Microsoft, has its own license, Apple's Public Source License, for really critical technology like Darwin. The Free Software Foundation (FSF) approved Apple's Public Source License, even though they don't recommend using it.

We can see that Microsoft has put a toe in the open source water. Apple, one the other hand, is swimming around and enjoying the full benefits of open source.

Are the efforts of both companies largely self-serving? Yes, but no one should expect a free lunch. A person can donate code to satisfy their ego, but companies have a different goal. Companies are about the business of making money. (Other organizations are called charities, nonprofits, or clubs)

Regardless of the strings attached by licenses, there is mutual benefit, and of the two companies, Apple has been the most direct supporter. Apple has taken these tools and used them to create great products like Safari and Mac OS X. Sure, its competitors have benefited, as has the open source community. Maybe this isn't the perfect world that FSF wants, but it's better than the closed monopoly that Microsoft has established.

When FSF attacks Microsoft for Windows 7 Deadly Sins and doesn't do the same for Snow Leopard, there is a reason. Apple isn't perfect, and it self-serving, but Apple is more actively supporting open source than Microsoft will even dream of doing. LEM

Join us on Facebook, follow us on Twitter or Google+, or subscribe to our RSS news feed

Today's Links

Recent Content

About LEM Support Usage Privacy Contact

Follow Low End Mac on Twitter
Join Low End Mac on Facebook

Favorite Sites

Cult of Mac
Shrine of Apple
The Mac Observer
Accelerate Your Mac
The Vintage Mac Museum
Deal Brothers
Mac Driver Museum
JAG's House
System 6 Heaven
System 7 Today
the pickle's Low-End Mac FAQ

The iTunes Store
PC Connection Express
Macgo Blu-ray Player
Parallels Desktop for Mac

Low End Mac's store


Open Link