Over the last decade, every player in the software development industry has been dramatically affected by an open source revolution. Microsoft, once an imposing and bulletproof monopolist who led the PC industry around on a short leash, has been forced into a defensive position with its server products as Linux advances.
How will Apple adapt to fit into this new world? Are they leading, following, or falling behind? Do they stand to benefit from an increased adoption of open source practices, or will they simply have to change how they do business?
It has become popular lately to insist that Apple needs to open up further still, from the relatively low risk action of opening code for their common desktop apps like Mail, to more high risk strategies that involve releasing QuickTime, Quartz and other core technologies to the world.
“Apple participates in open source, but is not an "open source developer." Their business, their motivations, their organization, their marketing, their product management, their development cycles, and their pricing is not going to work like an open source project.
So why is Apple dabbling in open source? Because there's a big difference between Open Source as a revolutionary manifesto and open source as tool for commercial developers.”
A Capital Letter Can Make A Huge Difference
There is a $500-$2500 difference in value between an apple and an Apple. That highlights how different a general idea can be from a very specific example. In the case of "open source," using capital letters changes the topic from a discussion about open, sharable technology as a business strategy, into a political and philosophical discussion of how software can and should be developed.
What is Source?
There's no easy way to take "closed source" binary code apart to see how it works, or to fix, port, adapt, or reuse it. In order to do anything with binary code other than run it as-is on the system it was compiled to run on, a developer needs access to the source code.
Ideally, that source code will be available. Even better, the source code will be available for free, and will be well organized, with complete documentation explaining what each part of the source code does, and there will be few obstacles in the code to prevent it from being used in different ways.
If it the original source code is lost or otherwise unavailable, binary code can be decompiled to deduce its source code, or new source code can be rewritten by reverse engineering the binary. Either option is a far more complex and difficult route to finding out how the software works, or for adapting or reusing it in different ways. If open access to software source code is so useful, why don't developers always supply it?
Why Closed Source?
-
-
•If users modify your product, it will be far harder for you to support. They might introduce bugs, or use it in unintended ways that break it, and then expect you to solve the issue or otherwise blame their problems on you. Reason two for closed source development: creating a supportable product designed for a specific purpose.
-
•Users may choose to adapt your product to do things against your principles or wishes, or to bring value to a competitor's platform. Reason three for closed source development: maintaining control of a product's intended application.
Why Open Source?
Of course, if you are not a developer, but rather an end user, you have a very different perspective. The free software movement recognizes and promotes the rights of users and society in general. From that perspective, there are lots of reasons why users should be interested in open source:
-
•It opens the playing field. The industry can't be held hostage by a few ideas if those ideas are open and freely shared. Instead of short term profits for a few big players, open source encourages interoperability, which drives competition, which fuels innovation, which spurs the progress of technology, which results in new efficiencies, which creates wealth for everyone involved.
-
•It opens up possibilities. The original developer might not realize how useful their code is for other purposes, or might not have the interest or resources to fix certain bugs or add new features. They may not wish to continue supporting or maintaining a product that is still useful. Open source allows others to adapt products in new ways.
-
Apple and the Open Source Revolution
Apple stands across the boundary of open and closed source development. In some areas, Apple strongly participates in open source principles: they choose to work with existing, open standards; they contribute back work done on open source projects; and they freely share access to source code for a range of their own software technologies.
In other areas, Apple competes with commercial rivals by being notoriously secretive. Unveiling new products with lavish fanfare, and gaining lots of free publicity for it, is one of the things that defines Apple. They simply could not do this if all their ideas and work were incrementally developed as open source projects in public view.
How far can Apple go with open source? Many argue that Apple should decisively push into expanding their open source efforts. But how? There isn't just one way to embrace open source as a strategy. In my next article, I'll examine the very different approaches to open source, consider how Apple currently participates in open source, how it benefits users, and how Apple can expand their efforts.
Next Article:
This Series