Decoding open source for webOS and beyond
Now that HP has decided (for now) to keep webOS alive while converting it to an open source operating system, we thought it might be helpful to help explain what open source software is (and isn’t) and how being open source might impact on webOS’ future.
What is “Open Source” anyway?
Gratis vs. Libre, Free Beer vs. Free Speech, and Copyright vs. Copyleft
Open source software is frequently referred to as “free” software, which can be confusing at least in English, since free can refer to zero cost or zero restriction. The distinction is often discussed as the difference between “gratis” (no cost) or “libre” (no restrictions), or more simply “free beer” as compared to “free speech.” In fact, open source may be neither.
Remember that software, whether open or closed source, is still automatically protected by copyright law (and may be protected under patent and/or trademark law too, but that’s another discussion entirely). The owner of the copyright (the creator or sometimes the party paying for the development) gets to choose how much or how little it will restrict others from using, copying, modifying, distributing, and doing the other activities covered by copyright. The owner may choose to hide the source code and charge huge amounts for a license to use the software, or open the source and charge nothing, or some combination. Only when no one owns the copyright (either because the owner gives it up, enough time has passed, or the work was created by the U.S. government and by law cannot be copyrighted) is a work truly libre, in the so-called public domain. Otherwise, you have to look to the terms of the license to figure out what the copyright holder does and doesn’t permit others to do with the software. For example, the Free Software Foundation’s description of its “copyleft” licensing makes it clear that while FSF intends to grant tremendously broad permission to users with regard to redistribution and changing of its software, it retains copyright ownership rather than contributing the software to the public domain in order to preserve this grant of rights.
In fact, there are many kinds of open source licenses out there. The Open Source Initiative provides a good listing of the major ones, their features, and their differences. One fairly consistent element is that anyone that distributes the software covered by an open source license, even if the software is modified, must continue to make the source code openly available. Other common feature is that the license stays with the code even if it is included in something else, and may cause the rest of the product into which the open source code is incorporated to become open source as well, whether or not the product was intended to be proprietary and closed. (Linksys in the U.S. and Telstra in Australia found this out the hard way.)
Beyond that, the licenses can vary widely. When webOS Internals created the standards for its patch feeds, it required any developer seeking to distribute a patch through Preware to do so under the MIT open source license, which permits third parties to incorporate the code even into commercial products as long as it remains open source. webOS Internals chose this license in part to enable Palm/HP to include particularly useful patches into the official webOS distribution, something that in fact did subsequently happen. Homebrew apps, though, may be either open or closed source, with particular license terms depending on the developer’s preferences.
While HP has committed itself to converting webOS into a fully open source operating system, it has not yet announced which open source license model it will utilize. The choice will reveal much about the internal thinking at HP about webOS’ future.
Wasn’t webOS already open source?
Part of the confusion surrounding HP’s decision arises from the belief that webOS was already open source. In fact, it was, but only partially. Much of webOS has always been open source: it is built on the Linux operating system, and Palm (and HP) have been diligent in publishing the source code for the different versions of webOS as they have been released. There were, however, elements of webOS that remained closed and proprietary, including the hardware control layer, some third party bundled apps, and others. As a result, purists argue webOS was not open source, while supporters and developers countered that it was much more open in both code and permitted customization (especially given the blessing Palm/HP gave homebrew) than its closest competitors such as iOS.
With the shift to full open source status for webOS, HP will (as Derek wrote recently) need to replace the closed source portions of the operating system with open source code that serves the same functions (and likely will eliminate some of the third party applications whose publishers may not want to release them as open source). How quickly this will happen, and how much functionality is impacted by the shift, are two of the major mysteries about HP’s new direction.
However HP moves on the open source path, remember that copyright law remains in effect for developers and users alike, both for webOS and any apps and content running within it. The “Real World Copyright for Developers” session from the November 2010 webOS Developer Day event may be of value in understanding some of the key general copyright issues.
What will an open source webOS mean for homebrew?
In the near term, the conversion of webOS to a fully open source platform will be a phenomenal boost for the homebrew community, since it will further extend the possibilities for app functionality and patching. (The webOS launcher for one, which was converted from patchable open source code to compiled and closed binary with versions 2.x/3.x, will return to customizability once it is open sourced.) Longer term, though, the picture is less clear. If other hardware manufacturers adopt and modify webOS in divergent enough ways, we could see fragmentation similar to what the Android community has faced, where apps and patches work (or don’t) depending on the particular iteration of webOS on which they are installed. An expansion of webOS to other devices and manufacturers might also increase the market for developers who already have deep understanding of webOS coding and customizing. As with the other issues raised in this piece, it’s simply too early to tell.