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.
 
Software giants like Novell and IBM have undergone a wholesale conversion of their operations from proprietary software vendors into integration providers for open source development. Even Sun has announced broad initiatives to release their crown jewels as open source.
 
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?
 
Open Apple?
Apple has embraced open source software in Mac OS X; many core Apple technologies have either been released as open source or have been entirely replaced with open alternatives: such as OpenGL and PDF.
 
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.
 
In the article Apple & Open Source, Strange Buffaloes? I looked at the discussion surrounding Apple's involvement in open source, and presented a fundamental difference between the goals of a commercial software developer, like Apple or Microsoft, and the open source development community:
 
“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.
 
Both are worth talking about, but in order to understand the discussion surrounding open source, let's take a look at what open source actually means, and then consider two different approaches to delivering open source: one pioneered by UC Berkeley, and the other by Richard Stallman, the founder of the free software movement.
 
What is Source?
Software source code represents the raw instructions written by a programmer. Source is compiled to optimize it to run on a specific operating system and type of hardware. The result is binary code. Software is commonly distributed as a binary.
 
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?
The logic behind closed source software can be debated, but here are three reasons why you might choose to ship only the binary version of your product:
  1. Competitors might appropriate your source code into their own products. If someone in the real world tries to sell your designs as their own, they will likely get caught red handed, but there's no way to tell when a competitor uses your code, because that code can easily be hidden. Reason one for closed source development: protecting your intellectual property as a trade secret.

  2. 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.

  3. 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:
 
  1. 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.

  2. 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.  

  3. It opens up control. A closed source product may be part of an overall strategy which is overpriced or unfair to end users. By adopting open source alternatives instead, users can vote with their dollars for products and services that are reasonable and respect their fair use rights.  
 
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
 
What do you think? I really like to hear from readers. Leave a comment or email me with your ideas.
 
 
| | Comment Preview

Send | Subscribe | Del.icio.us | Digg | Furl | Reddit | Technorati

Read more about:
Click one of the links above to display related articles on this page.
 
 
The Revolution Will be Open Sourced!
Monday, June 26, 2006

Apple iTunes

Apple iTunes

Apple iTunes

 
Apple iTunes

Urban | Moto | Tech | Journal | Podcast