Open Software Service Definition
The Open Software Service Definition defines ‘open’ in relation to online (software) services.
An online service, also known under the title of Software as a Service (SaaS), is a service provided by a software application running online and making its facilities available to users over the Internet via an interface (be that HTML presented by a web-browser such as Firefox, via a web-API or by any other means).
With an online-service, in contrast to a traditional software application, users no longer need to ‘possess’ (own or license) the software to use it. Instead they can simply interact via a standard client (such as web-browser) and pay, where they do pay, for use of the ‘service’ rather than for ‘owning’ (or licensing) the application itself.
An open software service is one:
- Whose data is open as defined by the Open Definition with the exception that where the data is personal in nature the data need only be made available to the user (i.e. the owner of that account).
- Whose source code is:
- Free/Open Source Software (that is available under a license in the OSI or FSF approved list – see note 3).
- Made available to the users of the service.
- The Open Definition requires technological openness. Thus, for example, the data shouldn’t be restricted by technological means such as access control and should be available in an open format.
- The Open Definition also requires that data should be accessible in some machine automatable manner (e.g. through a standardized open API or via download from a standard specified location).
- The OSI approved list is available at: http://opensource.org/licenses/ and the FSF list is at: https://www.gnu.org/philosophy/license-list.html
- For an online-service simply using an F/OSS licence is insufficient since the fact that users only interact with the service and never obtain the software renders many traditional F/OSS licences inoperative. Hence the need for the second requirement that the source code is made publicly available.
- APIs: all APIs associated with the service will be assumed to be open (that is their form may be copied freely by others). This would naturally follow from the fact that the code and data underlying any of the APIs are open.
- It is important that the service’s code need only be made available to its users so as not to impose excessive obligations on providers of open software services.
This definition was originally drafted thanks on the open definition discussiong mailing list. A variety of people contributed to that effort as well as subsequent improvements and amendments including (in alphabetical order):
- Dave Crossland
- Francis Irving
- Thorsten Glaser
- Rufus Pollock
- Evan Prodromu
- Kragen Sitaker
- Luis Villa
Open Service Web Buttons
If you’re providing an online service that’s compliant with the Definition let people know by using an ‘Open Service’ web button:
To add a button to your site just copy and paste the following bit of html into the relevant page on your site (or into the general footer or sidebar):
To use a different button (other than the blue one used in the example) just change the ‘src’ attribute to point to one of the other buttons:
http://assets.okfn.org/images/ok_buttons/os_80x15_blue.png http://assets.okfn.org/images/ok_buttons/os_80x15_red_green.png http://assets.okfn.org/images/ok_buttons/os_80x15_orange_grey.png
Applying the Definition: Some Examples
To make clearer the import of the Open Software Service Definition we provide some illustrative examples:
Google Maps: Not Open
Note that despite the fact that Google Maps provide an ‘open’ API and that the service is currently available gratis for many uses, it is not an ‘Open Service’. In particular:
- Code: the code for running Google Maps (backend and frontend) is currently proprietary.
- Data: the data (geodata etc) used in Google maps is currently proprietary (subject to copyright and/or database restrictions, with no open license granted).
- Code: Mediawiki is currently F/OSS (and is made available).
- Data: Content of Wikipedia is available under an open licence.
A collaboration website using Kune as its engine. The software Kune is a descendant of the defunct Google Wave, now available as Apache Wave.
- Code: Open and see FAQ
- Data: Open; FAQ notes “we try to promote free contents through a CC BY-SA default license in projects (which can be changed, of course)”. It appears the kune.cc retains this default.
rizzoma.com: Not Open
Like Kune.cc, a descendant of Wave… but closed. Maybe open in the fututre?
- Code: Site footer includes “Rizzoma is an open source project. If you’re interested in welcome to this topic or contact us via email@example.com” but it appears the open source project is coming in the future rather than existing as of Janaury 2013.
- Data: ToS is very brief. No apparent public license nor intent to be open.
Background and History
- Version: v1.1
- v1.1 2008-10-08 (integrated changes suggested by Dave Crossland and Thorsten Glaser)
- v1.0 2008-07-14.
- v1.0b (2008-06-30)
- v0.4: 2008-05 (tidying)
- v0.3: 2007-09
- v0.2: (first version on this site): 2007-07
- v0.1: 2006-10
This particular formulation originates from discussions taking place originally on the okfn-discuss mailing list in September and October 2006 (see in particular this post) but owes much to more recent (Summer 2007) discussions precipitated by activities at GUADEC 2007 (see , , , ).
- We Need an Open Service Definition – blog post on the OKFN blog by Francis Irving which references a post on Havoc Pennington’s blog
- Evaluating a Free/Open Service Definition (rough draft) posted by Luis Villa
- This ongoing thread on okfn-discuss – this includes comments from a variety of people including Luis Villa, Mike Linksvayer, Rufus Pollock, Francis Irving and Saul Albert.
- Free/Open Services Definition draft/discussion page – this is a draft definition put together by Luis Villa and posted on the GNOME ‘live’ wiki. In addition to the definition there is also an excellent listing on existing work and writing on this issue.