When Apple emerged from near bankruptcy in the late nineties to target a niche market, it made open source a high priority. Now, we see Apple veering from that path. With mobile computing becoming more popular and the tablet market growing, we find ourselves witnesses to an all out war between Google and Apple. The result is Google portraying Apple as closed and guarded, preventing the public from contributing to and improving it. In a way, Google’s right. Over the last few years Apple has slowly been closing certain doors to developers and consumers. However, Apple argues that it has found a middle ground between open and closed source. It fights back at Google with the concept that fewer devices and software, and more control is better.
The History of WebKit: When Apple Was Open Source
In 2003, Apple announced the release of its new web browser Safari. The company said it was built on KHTML, the rendering engine used by KDE Linux. Apple made improvements and added content to KHTML and then released its version of the code as WebKit.
Why would Apple allow public access to the source code of a valuable product like Safari? Because it had to by law. KHTML was partially developed by bedroom programmers and they licensed it under the Lesser GNU Public License (LGPL). The main idea behind the LGPL is: If you distribute a copy or modification of a code licensed under the LGPL, you have to give away the source code too (if they ask for it).
There were two real reasons Apple decided to build on open source software. The first and simplest answer is that creating a rendering engine from scratch would be a massive undertaking and Apple didn’t want to spend the time or money. The second is that Apple was worried about Microsoft. In the early nineties, Microsoft pushed Apple into an extremely small corner of the market using Internet Explorer (IE). The well-known browser became the standard for Internet interactivity and only came bundled with Microsoft Windows. Apple knew that a lot of websites required IE to work correctly so they pushed the adoption of an open standard: WebKit.
At the time, Apple was promoting open source and had no problem posting the code. But, they didn’t realize what WebKit would become and how their outlook would change. During the years following Safari’s release, Apple made continuous updates to WebKit. They also used it to create other applications like the Apple email client Mail and it soon served as a base for the wildly successful iOS mobile operating system. Eventually, other companies made the same choice Apple made in 2003; they wanted to use WebKit as a base for their own products. So we saw other WebKit projects emerge (especially in the mobile genre): Windows’ game distribution software Steam, parts of Adobe CS5, Google Chrome, the Palm Pre interface, BlackBerry Browser, and the Android web browser (to name the most popular)
So, some WebKit based software is in direct competition with certain Apple Max OSX and iOS software. To take it a step further though, some companies have started porting these softwares to hardware devices that conflict with the Macbook, iPhone, and iPad Tablet. For example Google’s Chromebook, any Android equipped smart phone, and now Amazon’s new tablet the Kindle Fire.
Apple Slowly Closes the Doors
Apple became a great open source alternative to Microsoft, promoting innovation and growth in the industry. But soon, Apple started withdrawing some of its open source efforts, it started limiting privileges and how its devices could be used.
Apple was forced to sacrifice it’s open source roots to sell the iPod. Apple had to include DRM on iPods and had to advocate the DMCA if they wanted to convince the music industry to sell on iTunes. Then, Apple restrictions continued. In September 2007, Apple started adding a checksum hash to iTunesDB files (the files needed to sync libraries to iPods). This encrypted the files and made it impossible to use third party software like Winamp and Songbird. The open source community was angry with apple and the hash was hacked. A constant progession of updates and new workarounds eventually ended when Apple issuing a DMCA takedown against iPodHash, a BlueWiki group.
The trend of limiting third-party developers continued with the App Store. One reason the iPhone was so successful is the plethora of useful (and pointless) apps. There was something for everyone, made clear in Apple’s advertising campaign “There’s an App for that”
But, developing apps for Apple devices is becoming a more demanding process. There are constant updates to the rules that determine whether an app is allowed into the store. In fact, it’s possible for a developer to spend months of time working on a project, only to have it rejected by Apple’s rigorous review process. This means third-party companies and individuals are taking their products to platforms where they know they’ll published. The same is the case for the new Mac OSX App Store. We could see in the near future, an operating system supported only by apps bought through the store.
The most extreme and conclusive evidence that Apple is moving away from open source was a failure to release WebKit code in a timely manner. Both iOS and Android have roots in WebKit so both Apple and Google have to update the source code when they release updates or new versions of their operating system. Apple has been taking longer and longer to do so. Apple has waited as long as six months after an update to release source code. That was only after an outraged blog onslaught by the open source community.
Apple: Integrated, Not Closed
Google is promoting itself as open source and by doing so, casting a shadow on Apple. The competition between iOS and Android is important and Google is trying to portray Apple as closed and hoping to do so in a negative light. However, Apple makes a good argument and tries to reword the dilemma:
We think the open versus closed argument is just a smokescreen to try and hide the real issue, which is, “What’s best for the customer – fragmented versus integrated?” We think Android is very, very fragmented, and becoming more fragmented by the day. And as you know, Apple strives for the integrated model so that the user isn’t forced to be the systems integrator. We see tremendous value at having Apple, rather than our users, be the systems integrator. We think this a huge strength of our approach compared to Google’s: when selling the users who want their devices to just work, we believe that integrated will trump fragmented every time.
…So we are very committed to the integrated approach, no matter how many times Google tries to characterize it as “closed.” And we are confident that it will triumph over Google’s fragmented approach, no matter how many times Google tries to characterize it as “open.”
Here, Apple tries to turn the tables and portray Google in the negative light. Apple’s version of vertical integration is smart business. It means using Apple software and hardware in sync to create a seamless user experience. Apple claims that Android has already been ported to too many devices to allow integration.
Wait And See
It will be interesting to see where this battle of two tech giants goes. Will Apple be too restrictive in the future? Will they eliminate the very characteristics that made Safari and iOS so successful? Or will it be the case that the user experience is so simple and entertaining that everyone owns four Apple devices?
A recent New York Times article spotlighted a key issue in the world of open source software: businesses using others’ open source code to develop their own products and then failing to follow Open Source Standard (OSS) requirements. Open source issues such as these can be difficult – if not impossible – to overcome in the business sphere. How can we expect programmers to put years of hard work into a quality program, and then just give it away for free? But as its benefits to technological growth become increasingly obvious, open source software is becoming more common and accessible. Is it possible for the future of software to be completely free and open source?
In the past, I’d been skeptical about of free software. In respect to the quality, the free programs I’d downloaded and tested were fine, but never matched up to the caliber of (pricey) proprietary software programs. More importantly, however, might have been that the phrase “open source” sounded like something that might appeal to a computer programmer, but not to me, a generally-technologically-capable-but-coding-oblivious student. Why would I care whether or not I could access software code?
I’m not sure that I will ever have the desire to look at the coding of software. What it comes down to is that some software on the market just doesn’t fit in a college student’s budget. Moreover, most of this software is packed with features I’d never use, for techniques I’ll never understand. When it comes to computers, I’m just a hobbyist. For example, in working with newspaper design, I love toying around with the abundance of features that Adobe InDesign, Photoshop and Illustrator offer. However, purchasing Adobe Creative Suite CS5 would set me back anywhere from $300 to $900 – and that’s the Student pricing. Thinking about all of this led me to go the free route and test out a couple of “alternative” open source programs: GIMP and Inkscape, two major open source rivals to Adobe’s Creative Suite.
GIMP is a free graphics manipulation program, with offerings similar to that of Adobe Photoshop. In several ways, it lacks the power and usability of Photoshop. Yet there are offshoots of GIMP that have used it to come awfully close to reproducing Photoshop. The creator of GimPhoto took GIMP and modified it with features and a UI that rival those of Photoshop. One major issue I held with GIMP was its inability to simply batch process a group of photos (automatically execute the same adjustments on several photos simultaneously). According to the GIMP Wiki, in order to do this, the user must input commands, such as the one below:
(define (simple-unsharp-mask filename
(let* ((image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-get-active-layer image))))
image drawable radius amount threshold)
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
Which, to me, is closer to gibberish than a true “command.”
But still, the bottom line is that most of what GIMP doesn’t have, I wouldn’t use anyway.
Inkscape is the GIMP to Adobe Illustrator. On most levels, Inkscape and Illustrator are identical when it comes to features. There are a very small number of Illustrator features that are missing in Inkscape, but again, the people who makes use of these features are just a tiny fraction of the software’s users. And the reverse is also true: Inkscape includes a number of useful features that are unavailable in Illustrator. In fact, I found the Inkscape UI to be slightly more intuitive than Illustrator’s. Thus, in my opinion, user interface and personal likings are what should influence one’s decision in this case. Brand names are irrelevant.
A question often posed on the topic of open source software is whether or not computer programmers would continue to output quality software if there was no profit incentive. But there is actually a great deal of profit to be made via free, open source software. Where does the money come from? Large companies such as Microsoft, Apple, and Google pay licensing fees to use open source software more freely. For example, MySQL (an open source database) allows users to access and use its software at no cost; however, improvements that users make to the software must be shared with the company. For individual users, this is generally a non-issue, but businesses rely on keeping the rights to their work to generate profit. Thus, they pay these licensing fees, which can add up to significant profits for the original creator.
So why (or why not) open source? There’s incredible room for enhancements in software, and with the increased freedom and flexibility of open source, the possibilities are endless. Yet at the end of the day, I can’t use OpenOffice (sorry, Maria!). I like the power of Microsoft Office, and I’m much more comfortable using it — no matter how annoyed I get with its UI changes. Therefore, I understand if you can’t bear to make the switch to GIMP. While we shouldn’t let our lives be controlled by proprietary software, we also shouldn’t impose limits on ourselves solely to promote open source.
In the end, a healthy balance between the two is really what we need. There still is – and, I believe, always will be – a market for proprietary software. Yet the major advancements made by open source software in the past decade are proof that open source is changing the way we create and use computer software. The age of assuming “expensive software is better software” has passed; we are realizing that free software is no less advanced than proprietary software, while once-seemingly-impossible barriers to open source are gradually being overcome.
“A lot of people talk about open-source versus commercial, but they’re not mutually exclusive. Don’t view it as an all-or-nothing prospect.” — Steve Gerdt, program manager for open-source strategy at IBM.
In a courtroom in Salt Lake City yesterday, concluding a three week trial, a jury ruled unanimously that copyrights for UNIX code are held by Novell, not The SCO Group. After a seven year dispute, this ruling stands as an important, if ostensibly obvious and overdue to many, decision in support of free and open-source practices. SCO originally charged that Linux, a paragon of free and open-source collaboration, infringed on the copyrights for Unix, which they claimed to own.
In 1991 Linus Torvalds started developing Linux, a free and open-source type of operating system based on the the GNU General Public License created two years before by Richard Stallman. GPL follows a kind of pay-it-forward philosophy called copyleft which maintains that a work may be used, modified and redistributed as long as the same rights are available in the resulting works.
Since then, such free (“..as in speech, not free beer” –Stallman) software has spread far beyond any esoteric programming communities. As Yochai Benkler stated in The Wealth of Networks, “opensource and its wide adoption in the business and bureaucratic mainstream allowed free software to emerge from the fringes of the software world”. As he also mentioned, companies like Google, Amazon, IBM, and Hewlett Packard have come to depend on Linux and actually participate in the growth of free software.
This major, mainstream reliance on and trust in free and open-source software has not just allowed it to emerge from the fringes, but has also defended and supported it, as in the recently ended seven year fight between Novell and SCO. In the Salt Lake Tribune, Jason Hall, a founder of the Utah Open Source Foundation, said this about the verdict, “There’s actually large enterprises now that have a strong stance in the matter and are willing to stand up for the rights of the enterprises themselves but also for the community as a whole.”
- – - – -
The Black Night scene from Monty Python and The Holy Grail seems to be a recurring analogy in the discussion about The SCO Group’s continued efforts.
I’ve seen a lot of impressive implementations of open source (to some extent) software. From Firefox to Linux and Open Office to Eclipse, open source software has really become pervasive in our society. But this isn’t a move that is widely followed; there are still a lot of large companies or industry giants that aren’t moving toward a more open web (Microsoft, Apple, and Adobe, to name a few). What does that say about the future for open source?
Open source has always filled a strange niche of demand; a group of elites building their own Utopia in a sense, working with each other to find solutions to difficult problems. It sounds great, but it isn’t perfect, and it isn’t the whole solution. If everything were open source, everything would be fully customizable and free, and one could do anything and everything with their own personal experience. The problem is that not everyone is a programmer, not everyone has the time or know-how to build his or her own interfaces or programs. How could tech support operate for these individuals? The gap between the tech savvy and technophobes would be far greater than it is today. Sure their would be people who would be willing to create templates for these individuals, but would those people be enough to provide for everyone who needs it? Maybe. Even then, it is much easier for a company with a set system to provide for those needs.
The dimorphism has other useful characteristics as well. Fostering competition. For open source to work, you need a group of committed programmers who are willing to spend their time and resources on an endeavor that they really believe in. Often, however, those resources fall short. Sometimes there aren’t enough hands. Bring in the corporate side, and you have enough funding and enough hands to go around. They also bring their own motivation, commercial success. This isn’t a rant on greed or corporate behavior; companies exist to meet the needs of consumers and money exists to facilitate that transaction. Fiscal success is a powerful motivator for research and development, and competition an even better one.
So while a lot of people complain about Apple refusing to support Flash or Flash’s hold on the market, or about Apple’s stringent controls on their app market (a lot of Apple popping up >.> ), it isn’t really an issue. Either another company rises to the occasion and fixes the issues, or individuals become passionate about it and fix it themselves. I don’t think that open source is the only future, but I do believe that it is part of it. Whether programmers are motivated by monetary compensation or by some passionate belief, they are still fighting to write better code than the next programmer. And honestly, that’s all that matters.
Free Software has pushed itself into the spotlight with Mozilla Firefox and Linux. Businesses, while wary of its philosophy, are beginning to understand its usefulness. Google, notably, has tried to work closely with the open source community, as both an user and a contributor.
One of their most recent projects, the Android operating system for mobile phones, was built by Google and then released under the Apache license to the open source community. Android was initially met with some controversy, especially given its licensing. Instead of licensing under GPL, Google chose the Apache license, which allows for proprietary modifications be made to Android, so long as the copyright notice and disclaimer are preserved. Android was released in Q4 2008 and Google has since benefited from the work of programmers, who have developed ‘mods’ aiming to increasing Android’s functionality.
However, on September 25th of this year, one of the Android community’s most prominent ‘modders,’ Steve Kondik, received a Cease and Desist letter from Google. Steve Kondik had been distributing a ROM called Cyanogen, which was built from the Android framework. The problem lay not in that Kondik was distributing Android, which was open source, but that he was distributing Google’s core, but proprietary, apps, Gmail, Google Maps, etc. These apps were part of the “Google Experience” phones and were licensed through the phone manufacturers. Therefore, while Cyanogen could be continued to be developed and distributed, Google’s apps would need to be removed and anyone who installed Cyanogen would be left without them. Normally, this would be a minor issue. However, Google’s apps were central to the Android experience, with the average user expecting Google’s apps to come baked in. Without them, any development would be crippled.
Since, Google has experienced a tremendous backlash on the Android community. While everyone assents to Google’s legal right and its self interest (Google, in a blog post responding to the controversy, has stated that, ”Unauthorized distribution of this software harms us just like it would any other business, even if it’s done with the best of intentions.”), many insist that leaving developers such as Kondik alone is better for everyone, especially Google’s reputation among developers.
This issue has clarified the important difference between free software and open source. And while this issue may have hurt Google’s reputation or even dampened developer enthusiasm, it is important to remember that mobile networks remain extremely closed and manufacturers, as they tentatively take steps towards an open source platform, are another key part of innovation. Google’s demonstration of its willingness to protect proprietary software on this open system may ensure that more devices are developed for Android, thus increasing its relevance and hopefully its market share.
The resolution to this particular story has been predominantly positive. Developers, including Cyanogen, have formed the Open Android Alliance, which is dedicated to developing open source alternatives to Google’s primary applications. Kondik, himself, blogged on the Cyanogen site that ”[a] lot of people are helping to work many of these issues out, notably the guys from Google (Dan and JBQ) who manage the open-source project.”
Given the community of developers and Google’s private interests, conflicts were bound to happen. Yet, the compromise that Google has struck – making its rights clear while working the community – seems to be the right way forward. Android will continue to be developed in ways outside of Google’s control, but will nonetheless increase user usage of the internet and, by extension, Google’s services. And the ordinary customers, outside of the open source community, who have never heard of Android and know of ‘open source’ only as a catch phrase, will not care, so long as Android remains a good user experience. As stated in our Two Bits reading, “Giving away the Communicator source code in 1998 endeared Netscape to geeks and confused investors; it was ignored by customers.”