explicitClick to confirm you are 18+

Open Source Forks and Derivatives

Mark EdworthyMay 10, 2018, 9:22:54 PM
thumb_up105thumb_downmore_vert

Open source licenses provide for the modification and redistribution of existing projects; including software applications, utilities, operating systems and other frameworks. Many of these derivative projects (otherwise described as forks) are used on a regular basis without users necessarily knowing anything about the background of these projects or the history of where these projects originated from.

As demonstrated within my article about free and open source software (What is Free and Open Source Software, URL provided below), open source allows for users to modify, adapt, improve and share copies of existing projects (including the redistribution of the source code that is used to develop these projects).

Various Linux based operating systems are good examples of derived (forked) projects. As an example, Linux Mint is an operating system distribution that was originally a derivative of the Ubuntu project, whilst Ubuntu is based on the code that is distributed by the Debian project.

Many well known Linux based distributions are in fact based on other projects, there are approximately ninety parent distributions that are or have been used as a basis for other forked projects (note: a number of these parent distributions may be considered as dead projects and development may have ceased). As shown within my Open Source Distributions and the Freedom to Choose article, approximately 880 open source based operating systems are currently available and are receiving continues maintenance, updates and new versions. Some notable parent distributions include Slackware, Debian, Red Hat, Enoch, Arch and Android (for further information about these parent distributions and their derivatives, refer to the Wikipedia distribution timelines chart, URL provided below).

Some developers and companies may provide multiple versions of their operating systems, which may also incorporate different desktop environments or may even only include a command line environment by default. These versions should not be considered as forked distributions due to the fact that these are produced by the same company and may only have minor difference between each of the versions. A good example of this practice is used by Canonical Ltd, which provides the Ubuntu Desktop, Ubuntu Server, Ubuntu Cloud, Kubuntu, Lubuntu, Xubuntu and Ubuntu Studio variants (Canonical also provide various other “flavours” of their Ubuntu distribution).

Some of these operating systems may come with close source, proprietary software and / or frameworks, whilst the basis of these particular derivatives are based on open source code but due to the inclusion of commercial, proprietary software, these specific examples can not be considered as fully open source, good examples of commercial proprietary operating systems (that use open source code as the basis of their functionality) include Red Hat Enterprise Linux, SUSE Linux Enterprise Server and SUSE Linux Enterprise Desktop (both of these examples do have open source alternatives, namely CentOS and Fedora for Red Hat, as well as openSUSE as an open source replacement for the SUSE Linux Enterprise range of distributions).

It is also worth noting that some distributions may include close source, proprietary software by that is installed by default. These distributions may include applications such as Microsoft Skype, Valve Steam, Kingsoft WPS Office and Codeweavers CrossOver (a close source fork of the open source WINE project). Some of the aforementioned software applications may be available as free packages but due to their own license agreements, these applications can not be considered as open source software and should be considered as free, close source, proprietary (freemium) packages.

Operating systems are not the only examples that are used as derivatives, there are a number of well known software applications that have been derived from existing projects. Some notable application packages include Codeweavers Crossover (which again, is based on the WINE project), Google Chrome and Opera (both of these are based on the Chromium project), Oracle LibreOffice (a derivate of Apache OpenOffice), Pale Moon and Waterfox (these are derivates of Firefox).

A number of the above examples are not strictly open source applications but are in actuality based on code that is provided by open source projects. As an example, Codeweavers Crossover is a commercial (paid for) product. Products such as NextOffice (produced by Well Develop International Ltd.) and NeoOffice (which is produced by Planamesa Inc.) are commercial forks of the open source Apache OpenOffice project. Google Chrome and Opera are also freemium products that use code from Chromium, these two browsers include proprietary code that is provided by their corresponding companies.

In fact, Apache OpenOffice and Oracle LibreOffice has had an interesting evolution. The predecessor to these products, which was previously called StarOffice, came to the market in 1985 and was produced by StarDivision for use with the Z80 and Amstrad CPC range of computers, this product was later released for IBM compatible personal computers (PC) and was released for Microsoft Windows in 1994, in which it shared a small slice of the office suite market, competing against Microsoft, Lotus and Corel. By 1998, StarOffice was available for the Microsoft Windows, IBM OS/2, Solaris Sparc and Linux based operating systems.

In 1999, Sun Microsystems acquired StarDivision for a cost of $75.3 million (USD). With the release of version 5.2 (in June 2000), StarOffice became a free downloadable product, around this time Mozillia was relicensing Netscape (which would eventually become Mozilla Firefox) and Sun decided to attempt something similar by release most of StarOffice source code under an open source license agreement. The resulting open source derivative continued development as OpenOffice.org. Sun Microsystems and the wider OpenOffice.org community continued to contribute to the open source project.

Sun took “snapshots” of the OpenOffice.org development, then integrated proprietary and third party modules, which they marketed the alternative version as a commercial product (and kept the StarOffice brand). Sun also contributed some of the source code to IBM Corporation for use within the IBM Lotus Symphony product, this action upset some contributors due to releasing the code to IBM with a proprietary based license agreement (rather then allowing for an open source based license to be included).

During this decade, Ximian Inc. (a developer of various Gnome based applications, which included the Evolution e-mail client, contact and calender management application) and Novell Inc. (who acquired Ximian in 2003) contributed to the OpenOffice.org project. Novell also forked the project, which was then named as Go-oo.

StarOffice was maintained up to Oracle Corporation’s acquisition of Sun Microsystems in 2010 and the project was then renamed to Oracle Open Office, which was sold as a commercial product, whilst still providing OpenOffice.org as a free, open source product. At the same time Oracle also released a web (“cloud”) based version called Oracle Cloud Office.

In 2010, The Document Foundation decided to host a new project that was based on the source code that was provided by OpenOffice.org and released this new project as LibreOffice. Oracle Corporation was invited to become a member of The Document Foundation. However, Oracle demanded that all members of the OpenOffice.org Community Council involved with The Document Foundation step down from the council, due to claiming that there was a conflict of interest

2011 saw Oracle contributing the OpenOffice.org trademarks and source code to the Apache Software Foundation, in which this foundation re-licensed the project under the Apache license (which is an open source based license agreement).

Currently, there are two open source variants of this project, these being Apache OpenOffice and Oracle LibreOffice. There are also several projects that include close source, proprietary code and modules available, these include NextOffice and NeoOffice.

There are also two online “cloud” based SAAS (Software As A Service) projects, these are OnlyOffice and Collabora Online. Whilst these two projects are released with an open source license, they are also available as commercial products, which include extra functionality and support contracts.

As demonstrated by the above examples, software and operating system derivatives have a long, interesting and sometimes complicated history. Whilst some derivatives are created with providing some close source, proprietary code in mind, many derivatives are produced to fill a gap that may have been missed or ignored by the developers of the original project.

The open source philosophy allows for the spreading of ideas, this also encourages collaboration between developers and users. Open source lets developers, contributors and users reuse existing source code to create new, exciting and innovative products.

“Open source can propagate to fill all the nooks and crannies that people want it to fill.”
– Mitch Kapor (American entrepreneur and founder of Lotus Software)

References & Other Resources:
* What is Free and Open Source Software
* Open Source Distributions and the Freedom to Choose
* Wikipedia: Linux Distributions Timeline
* Distrowatch: Directory of Open Source Distributions
* Technology and Open Source Blog