Software, software and software (and online content too)

Introduction
We all use computers. Yet there is a suprisingly low interest and knowledge in the wide public towards legal aspects and different licensing schemes. Several factors tend to contribute to this:
 * Computers are usually sold with some software preloaded - this will give people the impression that 'it came with the computer' rather than it was bought together with the computer.
 * At workplaces, equipping the computers is the task for the employer, so the employees do not need to think about it.
 * Agressive marketing by software companies to create the impression that 'nothing but them' exist.
 * Education being locked to certain providers (in many places - Estonian schools are now required to teach at least two software platforms)
 * Carelessness of people - fueled by the dissonance between the numerous hysterical 'Catch the pirate!' campaigns and the reality where 'eveyone downloads stuff'.

This lecture will give an overview of the main software licensing models in use today. In addition, the main licenses of online content will be reviewed.

Proprietary software
Note: the correct term for the software sold by Microsoft, Adobe and others is 'proprietary' rather than 'commercial' - commercial use is fully possible with other licensing models as well (with very few exceptions). Therefore, Red Hat Enterprise Linux is certainly commercial software (it costs a lot to buy in the box and is mostly addressed to enterprises) while also being free and open-source software (its source code is available, modifications are permitted, new software can be built on it). However, it is not proprietary (except some very small parts - some drivers etc).

Proprietary software can be defined as software with restrictions imposed by its proprietor (owner) on its use, copying and modification. Restrictions can be
 * legal - mostly defined by the license agreement (the EULA or End-User License Agrement), in addition to the innate copyright from its creation.
 * technical - the most common is binary-only release, keeping the source code which effectively blocks closer studying or modification (closed-source software).
 * the combination of these two.

It is actually interesting to see how the roles of the measures have changed over time. When Bill Gates started to ask money for each copy of his software, he relied on legal means. During the DOS era with simplified copying between the widespread PCs (and no network yet) came the age of technical means - in addition to closed source, it was the heyday of various ingenious solutions in order to make unauthorized copying impossible. It ranged from non-standard diskette formats to special dongles which were inserted into the parallel or serial port in order to allow the software to work.

Types of proprietary software
Proprietary software can be divided into the following categories.

Commercial proprietary software
The most prominent kind, which is sold commercially by unit ("boxed" software; recently sometimes also by authorized download), its license agreement grants its users a very limited set of rights. The license is typically reserved for use in one (sometimes one specific) computer at a time and often to the the specific user. Copying is very limited (often, users can make a single copy for backup; other copying is forbidden), reverse-engineering, closer studying, modifying and deriving new products is prohibited. Formerly, users were typically free to transfer their software from a computer to another, sometimes even allowing simultaneous use (e.g. at home and at work).

On the other hand, due to the increased pressure from free software in recent years, volume licensing has surfaced as an option. For example, MS Office 2007 Home and Student version allows for three separate installations, MacOS X Family Pack allows five; larger-scale schemes include [http://msdn.microsoft.com/et-ee/academic/default%28en-us%29.aspx MS Academic Alliance and various volume licensing systems in business sector.

Shareware
Typically used for smaller software and/or trial versions, this is proprietary software which can be freely copied (typically in its delivery form, e.g. installer), shared with others and also used for a limited period. But like the commercial proprietary solutions, it does not allow modifications and is distributed as closed-source. The free of charge use period is typically from 15 to 90 days, after which it must be registered (typically involving payment). To encourage registration, several measures are used:


 * sponsor advertisements are shown either at startup or throughout the working time when not registered (adware)
 * a nag screen reminding of registration is displayed for some time at startup (nagware)
 * some vital functions (e.g. saving your work) are disabled when not registered (crippleware)

While some of the shareware products are fully functional regardless of registration, they become illegal to use after expiration of the trial period (protected by legal means).

Proprietary freeware
This is proprietary software with zero price. Freeware and free software are different terms - not in English but in many other languages as well. Freeware can be typically freely copied and used - however, many products limit the use by purpose, the most common restriction being "free for home or non-commercial use" (in this case, commercial users need to purchase a license just as in case of commercial proprietary product). Regardless of use, reverse-engineering, studying and modifying is forbidden, just as developing new products.

Special notion 1: public domain
Public domain, while being one of the most permissive legal categories (essentially meaning giving up copyright), can be used in proprietary context. During the DOS era there were many small utilities available in public domain (some can be found in e.g. Garbo) - but often only as binary, thus cutting away a chance for modification and further development. Second, as there is no requirement for preserving the license, public domain components can be freely used to develop a proprietary product (even some free licenses allow for proprietary derivatives (e.g. BSD, MIT or X11 license). This kind of activity is impossible with free software licenses with "strong copyleft" that forbids narrowing the users' rights).

Special notion 2: Microsoft Shared Source
Since 2003, Microsoft has run a campaign named Shared Source which is often touted as a counterpart to Open Source by the company. In fact, it is a family of special license agreements with certain partners (countries and large companies) who have been given partial access to some of the proprietary code - however, in most cases, the access has been read-only - quoting Bruce Perens: "look but don't touch - and we control everything" (although the project has also spawned some licenses which are considered free - see below). While the concept itself is nothing special (and nothing wrong as such), critics have disliked the (deliberate?) blurring of concepts.

Special notion 3: abandonware
This is a blurry category in proprietary software which are not sold or supported any more. This has remained a grey area in legislation - on one hand, the software is still protected and the owner can enforce his/her rights. On the other hand, most abandonware has been truly abandoned with no interest from owner's side (lots of old DOS games are the best example - many of them cannot even be run on current versions of MS Windows). In this case, fans keeping the venerable software alive enrich the general software scene. There have been multiple calls for putting old proprietary software under free licenses, but due to ineffectiveness and inflexibility of current IP system, there has been almost no success.

Free and open-source software
Note: on practical level, these two terms are more or less overlapping. More or less, all FOSS complies with the following principles:
 * their source code is open and available, giving the technical freedom to change them or to develop new software from them
 * their license allows the activities mentioned above, giving also the legal freedom to do them.
 * they do not discriminate on usage, i.e. both non-commercial and commercial use are allowed.
 * they usually demand the preservation of moral rights, i.e. the 'family tree' of an application should be preserved when developing new solutions

A word of caution
While free licenses do allow users far greater freedom than proprietary licenses, some things must be kept in mind, especially for developers striving to build their products on free software. An often overlooked problem is the compatibility of licenses - many developers with proprietary software background tend to lump all free and open-source software into one big category of 'freeware' and use whatever they want, wherever they want. While there are few restrictions on using free software products on their own, combining them takes careful study and compliance with their corresponding licenses. Especially clear restrictions exist when combining software which have licenses with different grades of copyleft (see below).

Developers should remember that license violations can be different - while unsanctioned use ("piracy") is hardly a problem with free software, other kinds of violations are possible when combining elements from different sources. Nevertheless, a violation is still a violation.

Copyleft
While the term originated as a hackerly pun on 'copyright' (more exactly in the form of 'Copyleft: all rights reversed') it now denotes an important factor in free licenses - whether the license will influence the derived works or not. In general, there are three grades of copyleft:
 * strong copyleft - these licenses demand that all the derived works (the software that is made by altering the original) must retain the license of the original. Software with strong copyleft cannot be made proprietary - thus this is the best option for end users, while placing some restrictions on developers. This kind of software is also difficult to integrate into hybrid systems which consist of software with different (also proprietary) licenses. NB! This means software integration, not e.g. using different applications on the same computer. The best example of strong copyleft is the GNU GPL.
 * weak copyleft - while also requiring the retaining of the license, weak copyleft licenses set some exceptions in order to allow better software integration (linking) with non-free (proprietary) systems. Weak copyleft is especially appropriate in the case of software libraries - collections of code used to create other programs. In these cases, the copyleft of the library will not dictate the licensing of the new software.
 * no copyleft - these licenses do not limit the licensing of the derivatives. While the software itself remains free as dictated by the license, it is possible to derive propriatary applications out of it. Thus this is option gives the largest freedom to developers while somewhat cutting back on the continuity assurance for end users (however, there is a multitude of free software projects under non-copyleft licenses that have been around for decades).

The GNU General Public License
Developed by Richard Stallman and his colleagues in 1989 and refined in its second version two years later, this license forms the mainstay of free software, being used at approximately 70% of all free software projects.

The GPL has authorship as its focus, stating the author's right to his/her work as the first thing (therefore the criticisms of being anti-author are unfounded). After this however, the GPL takes a radically different path comparing to proprietary licenses. Instead of exact dictation of conditions of use, it proclaims the rights of the user to


 * The freedom to run the program, for any purpose (freedom 0).
 * The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
 * The freedom to redistribute copies so you can help your neighbor (freedom 2).
 * The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

In practice, it means that GPL-ed software can be freely copied, changed and redistributed provided that


 * the same rights are exercised on derivatives - therefore, it is not possible to use GPL-ed software to develop a proprietary product.
 * the source code must be available - usually it is distributed with the work, but the license also permits on-demand distribution. In this case, the software must include clear guidelines how to obtain the source (e.g. by e-mail or web).

Some more remarks:


 * if a GPL-ed product is changed only for "in-house" use, publishing the changes is not mandatory. However, as soon as the derivative will be distributed outside, the source must be made available. This aspect is widely used by Google who has built in-house modifications on Linux.
 * GPL directly forbids any discrimination on use - this also means that all commercial use is fully legal. Both original and derived software can be sold (done by e.g. Red Hat). However, the most used business model for free software is probably "free product, commercial know-how" (support, consulting, warranty).
 * GPL has a clause about the work being distributed "as is", i.e. having no warranty. Many superficial readers have therefore grasped the idea that "free software has no warranty" and consequently dismissed it as unsuitable for "serious business". Actually, the market for these services is completely open (as opposed to e.g. MS Windows where only certified partners can offer it) - anyone is fully entitled to offer services on free software, including warranty on his/her own terms. Due to this, support contracts are likely more affordable due to open competition ("you want that much for supporting my server? I will go up the street to David's shop!").

The copyleft nature of GPL is very unpleasant to Microsoft and other big players who cannot use free software authors as unpaid labour force for developing their proprietary applications (in fact, Microsoft has been very careful to keep all GPL-ed code far away from its developers - a proved case of GPL-ed code in their proprietary products would have catastrophic consequences for the company!), but is a good guarantee for continuity. Therefore, the opinion "wait and you will see - they soon ask money for Linux too!" is incompetent at best. Also, GPL is very resistant to a widespread unethical business practice named Embrace, Extend and Extinguish (the best example of its - fortunately quite unsuccessful - attempt is probably the infamous MS-HTML).

Note: GPL version 3
Released after a long preparation period in 2007, it solved some incompatibility problems with other free licenses. But its most notable additions have also created the most controversy:


 * the anti-patent clauses - essentially, GPL 3 provides some active defense against software patenting. In principle, any user who attempts litigation against others based on software patents will void the license to all GPL 3 licensed software he/she uses. This may be a huge discouragement for patent litigation once the license becomes more widespread.
 * the "tivoization" clauses - named after the TiVo media player, these clauses prevent further cases of bypassing the rights guaranteed by the license. Namely, TiVo ran on Linux and allowed modifications to its source code as dictated by the license. However, using the modified code on TiVo was impossible due to some countermeasures

The FSF notes that GPL 3 is incompatible with GPL 2 as such, but as the majority of GPL 2 software is actually licensed "GPL 2 or newer" this could solve some of the incompatibility issues.

GPL 3 is slowly gaining traction in software world, but some people oppose it for the same additions described above, feeling that they narrow down the freedom instead of enhancing it. One of the prominent opponent of GPL 3 is Linus Torvalds, who keeps Linux kernel under GPL 2 for now.

The Affero GPL
This license is sometimes called 'extra strong copyleft'. The GPL contains what is known as 'ASP loophole' (ASP standing for 'Application Service Provider') - while its strong copyleft demands opening the source code for any derived projects, using the software over the network (the SaaS or 'Software as a Service' model) does not trigger the application of copyleft. This has allowed the use of GPL-ed code in Web applications without having to disclose the source.

AGPL was released in 2002 to close this hole - it regards use over the network as copying, mandating the disclosure of the source for any user of the application. While the AGPL version 1 was based on GPL 2 and the 2007 version 3 on GPL 3, the first version was not compatible with GPL. However, there are ways to make AGPL 3 compatible with GPL 3.

The GNU Lesser General Public License
The first 'L' in the LGPL stood earlier for 'Library', denoting it to be designed for software libraries in the first place. However, it has been used also in some large projects, most notably LibreOffice, OpenOffice.org (besides the non-copyleft Apache License) and the Mozilla Application Suite (besides the strong copyleft GPL and weak copyleft MPL).

The Mozilla Public License
The MPL was developed by Mozilla Foundation for its software. It allows combining software under it with proprietary components into a 'larger work', while still retaining copyleft on particular free components. From version 2 on, it has been compatible with the GPL.

The European Union Public License
The EUPL was actually planned as a strong copyleft license, but the attempts in achieving wider grades of compatibility currently allow the software under it to be turned to use weaker copyleft. Thus it can be called to be a variable copyleft license.

Its strong points in Europe are the explicit compatibility with GPL 2 (and indirectly also GPL 3), while being designed to be compatible with European legal tradition and EU legislation as well as having official translations in many (in the future, likely all) EU languages. Thus it could be a good choice for European developers (particularly as one license in multi-licensing).

Microsoft Public License and Reciprocal Public License
Interestingly, Microsoft has released (under its Shared source initiative) two software licenses which have been accepted both by the Free Software Foundation and Open Source Initiative. Both these licenses do qualify as weak copyleft free software licenses. However, neither are considered compatible with the GPL and are probably used rarely outside Microsoft.

Non-copyleft (permissive) licenses
As mentioned, these licenses provide the biggest freedom to software developers and their use has increased during the recent years. However, they still cannot compete with the market share of licenses with stronger copyleft, especially in some established free software collections like Debian. However, a suggestion that this kind of licensing is better for component-level technology while stronger copylefts suit better for large community efforts seem to have some merit.

The BSD license
The BSD license is a non-copyleft license used by the variants of BSD Unix as well as a number of other projects (although lately the MIT and Apache licenses seem to be more popular on non-BSD-related projects). Its proponents stress its suitability for projects with business potential, while critics point out the possibility for software companies to 'leech' free projects without contributing back.

The Apache license
The Apache license is a popular permmissive license used by the Apache web server and related projects (recently also including Apache OpenOffice) but also a number of smaller projects (e.g. [VLC media player]. The version 2 is considered compatible with GPL 3.

The MIT (X11) license
The MIT license is a permissive license originating from the Massachusetts Institute of Technology. It is considered compatiblw with the GPL (all versions) and used by projects like Mono (among other licenses), Lua, Ruby on Rails and perhaps most importantly, the X Window System (hence the parallel name of X11 license).

Online content licenses
CC FDL FAL

Links

 * Craig Mundie speaking at The New York University Stern School of Business
 * Doctorow, C. (2007). Shrinkwrap Licenses: An Epidemic Of Lawsuits Waiting To Happen. InformationWeek, February 3, 2007.
 * Lessig, L. (2004). Free Culture: How Big Media Uses Technology and the Law to Lock Down Culture and Control Creativity. The Penguin Press.
 * Liebovitz, S.J., Margolis, S.E. Path Dependency, Lock-In, and History
 * Liebovitz, S.J., Margolis, S.E. The Fable of the Keys