Contact

Tags

apis copyright patents sessions

Categories

Archives

Feeds

Keeping the platform open

Written by mufasa Sun, 25 May 2008 23:55:00 GMT

Categorized in Open platform with the tags , ,  and 6 comments

In the past, software platforms have often been used to lock developers in. This led to a drive for open standards so that no one company could control the platform and to give all the implementers input into the standard. However, the standards process is largely a relic of hardware standards and doesn’t really work for application software. Standards are best suited to network protocols that are programmed into routers, routers for which the software then stays the same without being updated for years. The modern PC is updated very often, at least 2-3 times a year, so the standards process is a straight-jacket on desktop software. It takes years for the standards bodies to reach consensus on a standard, which once ratified shows the dents of design by committee and then cannot be modified easily. The inadequacy of HTML/HTTP shows the results of this process. I will now suggest a way to keep platforms open, open to developers and competition, without the standardization that chokes off innovation. I believe these concepts should be used for a new thin client but they can be applied to almost any new software platform, such as rich clients, widget toolkits, or other software libraries.

First, let’s look at each of the ways that companies can potentially lock up a thin client platform: APIs, copyright, and patents.

Taken together, these restrictions can make up an Open Platform Promise, or OPP, consisting of the following:

  1. No intellectual property rights will be asserted on any publicly disclosed APIs.
  2. Any APIs that are disclosed to one developer will be disclosed to all developers.
  3. No restrictions will be made on usage of the software to help reimplementation.
  4. All patents will be disclosed.
  5. No patent can preclude reimplementation of a feature of the platform.

Some may wonder why all this discussion of intellectual property is even necessary. My argument is that software platforms can be extremely widely deployed- a thin client platform in particular- so it is important to consider issues of lock-in and monopoly. Most current software platforms are either at one extreme of closed-source, patented software, exemplified by Microsoft and their win32 APIs, or the other extreme of open standards often implemented by open-source toolkits, exemplified by HTTP/HTML. The goal of the preceding is to fashion a melding of the two extremes that works better than either one does individually. I do not address the issue of open- or closed-source as I believe that most software will end up being a mix of the two. Instead, I address the other API and IP issues that go with keeping a platform open. The goal of the OPP is to allow developers of a platform to create something they can own and improve upon while allowing third-party developers the freedom to choose their platform and its implementation.

Questions: