Copyfree vs Copyleft
Copyfree is a philosophy or policy of assuming the default state of the product of the intellect should be one of freedom to deal with it as one sees fit, implying that you may do what you will with what you have in your possession -- and that the same applies to everyone else.
Copyleft is a philosophy or policy of assuming that the product of the intellect must be spread as broadly as possible, such that distributing the pragmatically useful part of something without also distributing the underlying construction of it is punishable by law.
- 1 In Their Own Words
- 2 Etymology and History
- 3 Software Freedom
- 4 Relationship to the Public Domain
- 5 Popularity
- 6 Business Use
- 7 Code Reuse
- 8 Security Implications
- 9 Links
In Their Own Words
Copyfree is a policy of freedom to copy, use, modify, and distribute what you possess. It is a philosophy that stands in contrast to both copyright and copyleft, in that it does not seek to limit or restrict your rights regarding your possessions at all. Copyfree is not about limited monopoly on the product of the intellect, like copyright; nor is it about dictating terms of redistribution, like copyleft. It is about control over what you possess and allowing others to control what they possess.
Criteria for Copyfree
The Copyfree Standard specifies that the following criteria must be met:
- Free Use -- A copyfree license does not place any restrictions on the use of the licensed material, and protects recipients of the material from such restrictions except insofar as explicit individual contractual agreements are concerned.
- Free Distribution -- A copyfree license does not place any restrictions on the distribution of the licensed material, and protects recipients of the material from such restrictions except insofar as explicit individual contractual agreements are concerned.
- Free Modification and Derivation -- A copyfree license does not place any restrictions on the modification of -- and derivation from -- the licensed material, and protects recipients of the material from such restrictions except insofar as explicit individual contractual agreements may be concerned.
- Free Combination -- A copyfree license does not place any restrictions on materials outside of the licensed material itself, nor does it explicity limit the licensed materials in combination with materials external to the licensed material.
- Universal Application -- A copyfree license does not place any restrictions on who benefits from the terms of the licensed material, except in the event it specifies provisions to revoke its terms for those found to have violated the copyfree protections of the license. The license is also applicable to recipients of the material distributed under its terms without requiring the execution of any additional license by the distributing and receiving parties.
Copyleft is a general method for making a program or other work free, and requiring all modified and extended versions of the program to be free as well.
Criteria for Copyleft
In addition to meeting the basic requirements for Free Software, as set forth in the "Four Freedoms", copyleft licenses also meet the both of the following two criteria:
- A copyleft license has strong heritability characteristics. In short, any code that is combined with copyleft code must also be licensed under the same copyleft terms. A license may be considered either "strong copyleft", as in the case of the GPL which requires that even linked libraries must be distributed under the same license, or "weak copyleft", as in the case of the MPL which can coexist with other licenses within the same project (but not the same files).
- A copyleft license must also proactively enforce the GNU project's corollaries to Freedom 1 and Freedom 3, which state "Access to the source code is a precondition for this." When distributing software under the terms of a copyleft license, then, one must distribute not only a binary but also the source code. The reverse, however, is not necessarily true; when distributing source code, one is not required to distribute a binary executable with it. Some software is generally unaffected by this requirement of copyleft licensing, however, because the software is written in a language that is effectively usable only as a file containing source code parsed by an interpreter or JIT compiler when executed.
However all this being said, Copyleft is about providing users the freedom to know what is encoded in the devices that they own. The freedom to know if this code does something malicious, unfriendly, unwanted or not. The right and ability to control or learn from or change the code to suit the needs of the indiviuals, or entities as they like in keeping with it's feelings, or morality. It also forces entities and individuals to respect the rights of other groups or persons by ensuring that the new code be passed on to others interested in learning from or changing it for themselves. Copyleft and GPL are really honesty policies written in leagalese.
Etymology and History
"Copyleft" originated as a play on the term "copyright", suggesting a reversal of the policies embodied by copyright. Original usage seems to stem from Li-Chen Wang's Palo Alto Tiny BASIC for the Intel 8080, which bore the (somewhat humorous) "licensing" statement "@COPYLEFT ALL WRONGS RESERVED". Subsequent usage involved the Principia Discordia's "kopyleft" statement which declared "All Rites Reversed", and ultimately came to the attention of Richard Stallman as Don Hopkins' formulation "Copyleft -- all rights reversed". Up to this point, the various usages of the term "copyleft" was quite obviously applied in a manner intended to invoke a public domain style freeing of the work in question from any traditional copyright restrictions, but Stallman's adoption of the term has since then established the "formal", somewhat more restrictive definition with which we are familiar today.
"Copyfree" originated as a play on the existence of the terms "copyleft" and "copyright", suggesting a similarity to the political meanings of the terms "left" and "right", and offering a third option. Its use prior to the establishment of the Software Liberation Front and Copyfree Initiative in the early 21st century was sporadic and often uncertain in its intended meaning, without many verifiable prior use, though with stronger connotations of "freedom" than the more popular and probably much longer lived "copycenter" term, which generally meant "Take it down to the copycenter and make as many duplicates as you wish." Similarly to the way the Open Source Initiative coined a formal definition of the term "open source" and applied a compliance test for open source licenses establishing a meaning already in growing use, the Copyfree Standard Definition provided by the Copyfree Initiative, and the use of that definition as a test for certifying compliance for copyfree licenses, also formally established a meaning already in growing use at the time of the CSD's creation.
The GNU project defines four freedoms that are necessary to define software as "Free Software":
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and adapt it to your needs (freedom 1).
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3).
For those who dont know, the freedoms described above are numbered 0-3 because we are speaking of software, and computers always start counting at zero. For humans the numbers may be viewed as 1-4.
Both copyfree and copyleft licenses comply with all four of these freedoms, in that they do not in any way restrict any of these activities. The GNU project attaches corollaries to Freedom 1 and Freedom 3 (i.e., the second and fourth freedoms, respectively), however, that imply that copyleft licenses are preferable. In each case, the corollary is the same: "Access to the source code is a precondition for this."
That corollary is certainly necessary to practice those freedoms, in most cases: it is quite difficult to study how a program works and adapt it to one's needs without access to the source code. It is similarly difficult to improve the program and release your improvements to the public without access to the source code. The freedoms themselves, however, are not affected by this, as there is a distinct difference between freedom and capability.
It could be argued that copyleft licenses such as the GPL actually violate Freedom 2 (i.e., the third freedom), because by requiring redistribution of source code along with a compiled program through force of law, anyone who does not possess the source code for some reason or does not wish to distribute the source code is thus denied the freedom to redistribute copies of the program. To a lesser degree, the same limitation may apply to Freedom 3 (i.e., the fourth freedom).
Copyfree licenses comply with a condition of software freedom with which strongly copyleft licenses, by definition, cannot comply, embodied in point "4. Free Combination" of the Copyfree Standard Definition. Copyleft licenses do not only limit combination with closed source works such as proprietary libraries; they also conflict with many other open source licenses, including other copyleft licenses. One significant example is that of the conflict between the CDDL and the GPL; works under these licenses cannot be combined together in a manner that triggers the GPL's requirement that derivative works be distributed in full under the terms of the GPL. Some versions of the Artistic License, Apache License, and "original" BSD License are also incompatible with the GPL, despite the fact the Apache Licenses and original BSD License have never been copyleft licenses. The Mozilla Public License is particularly interesting in that its terms are naturally incompatible with the GPL, but an explicit compatibility clause in the MPL allows anything covered under that license to be distributed under the terms of the GPL, thus applying a bureaucratic exception that bypasses that specific compatibility limitation of copyleft licenses, which unfortunately does nothing for the problem of incompatibility with non-GNU copyleft licenses.
Even in cases where licenses are not entirely incompatible, strongly copyleft licenses typically ensure that license compatibility operates solely as a one-way valve so that while code distributed under some other license may be used in projects distributed under the terms of the copyleft license, the reverse is not true; the copyleft code cannot then be used in projects distributed under some other license. In this respect, then, copyleft licenses often impose the same restrictions on combination with code from other open source works (including improvements on those works) as strictly proprietary, closed source projects.
Relationship to the Public Domain
Copyfree licensing roughly approximates the public domain, with the exception that copyfree licensed materials are segregated from copyright. True public domain materials may be copyrighted after modification; the point of copyfree licensing policy is primarily to eliminate that "weakness" in the legal status of the public domain, and secondarily to provide an approximation of the public domain in jurisdictions where one does not have the legal ability to "release" something into the public domain. If copyright law were to vanish tomorrow, while all copyfree licenses would become null and void, the essential distribution terms under law of copyfree licensed materials would not. Copyfree licenses can been described as, to varying degrees, equivalent to a "protected" public domain. Whereas the ability to release something into the public domain before the term of copyright naturally expires is not legally recognized in some jurisdictions, copyfree licensing terms are applicable even within such jurisdictions.
Richard Stallman has stated that, if copyright law did not exist, there would be no need for the GPL or copyleft licensing in general. The terms of the GPL -- the GNU project's flagship license, and the "gold standard" for copyleft licenses -- are dependent upon the existence of copyright law, however. These terms, in fact, directly contradict certain aspects of the natural state of public domain works, in that restrictions on the manner in which one may distribute something subject to the terms of the license are the key characteristics of copyleft policy that differentiate it from copyfree policy.
The concept of copyleft licensing has been around for a long time. Some of the most popular open source development projects employ copyleft licenses, though most if not all have incorporated copyfree licensed code over the years:
- the Linux kernel (GPL)
- Mozilla Firefox (MPL, GPL and LGPL)
- MySQL community edition (GPL)
- OpenSolaris (CDDL)
While copyfree licenses have been around longer than copyleft licenses such as the GPL, the copyfree label and the concept of copyfree policy has been explicitly articulated only relatively recently. As a result, while copyfree licenses are very widely used, the copyfree concept is not nearly as well known at this time. Some venerable, popular open source development projects employ copyfree licenses:
- BSD Unix systems, including (but not limited to) AerieBSD, DragonFly BSD, FreeBSD, NetBSD, and OpenBSD (BSD and ISC licenses)
- Chromium Browser (primarily BSD licensed)
- OpenSSH (BSD licenses)
- Minix 3 (Minix 3 License)
- PostgreSQL (PostgreSQL License)
- X.org (MIT/X11 License)
Copyleft and Copyfree licenses tend to have very different relationships with businesses and business use.
Copyleft licenses -- especially the GPL -- attract attacks from certain corporations, drawing such epithets as "viral" for their heritability characteristics and "communist" for their required sharing characteristics. Such corporations also sometimes refer to copyleft licenses as simply anti-business because the use of copyleft licensed materials in development of new works may legally prohibit the use of a corporation's intended business model.
Other corporations, meanwhile, have actually found ways to use copyleft licensing terms to monkeywrench the competitive capabilities of other business organizations, maintaining a one-sided advantage to the use of the licensed code. These techniques typically involve the careful separation of open and closed source code within the organization, which maintains copyright for all the relevant code. This allows it to garner the benefits of open source development for certain components of a system while keeping others under wraps as trade secrets, and simultaneously encourages would-be competitors to conform to a specific baseline set of common characteristics so they are less likely to produce a significantly different and innovative work from scratch.
See "Code Reuse" below for more details.
One of the major benefits of open source or "Free Software" licensing is the ability to reuse code. Libraries can be used to access functionality that someone else has already created rather than having to reinvent the wheel every time something needs to be accomplished. Simply choosing to use an open source license is not the end of the story, however. The choice of license used for an open source project can in fact have an effect on the ability of others to reuse code.
Reuse Restrictions of Copyleft Code
Where copyfree code can be reused for any project at all, copyleft licensing is much more restrictive in its reusability. Incorporating strongly copyleft libraries in closed source projects can make it illegal to redistribute those projects, depending on the copyright status of the closed source code involved. Even if the would-be distributor maintains sole copyright control over the closed source code in question, strongly copyleft libraries can force the entire project to subsequently be distributable only under the terms of the copyleft license. This is by design for copyleft licensing -- but is antithetical to the wishes of many developers and distributors. As a result, closed source software developers may perforce avoid libraries distributed under strongly copyleft license terms. They will be likely to seek out weakly copyleft or copyfree licensed libraries or even closed source libraries they can redistribute under license without affecting the license status of their own code, or -- if no suitable alternatives under friendlier licensing are found -- reimplement the same basic functionality from scratch.
Even in the case of weakly copyleft licenses, such as the LGPL, closed source developers may avoid the covered software. While using a library under weakly copyleft code may be safe, using the code from that library, either by extending the library or just reusing some clever code from it, may force redistribution of original code. Once again, the reaction may be to avoid the copyleft code in favor of some copyfree or commercial closed source equivalent, or just reimplement the same functionality, once again reducing code reuse.
Future Code Contribution Potential
One of the problems with this state of affairs is the fact that one cannot really predict later code contribution or tinkering decisions. While copyleft licensing forces code contribution in theory, things are not quite so straightforward in practice. On one hand, even when a closed source software developer may not be at risk by using a weakly copyleft library right now, the need to extend that library may arise in the future. Fear of that future circumstance may then induce the developer to avoid that library. On the other hand, someone who takes a copyfree licensed library as a second choice after choosing to avoid a copyleft licensed library because of the desire to keep any extensions to the library closed source may at a later date choose to contribute those changes back to the main development project for the library. In fact, closed source shops may find themselves unwilling to maintain a constantly re-merged fork of the library separately from the core project, and ultimately contribute the code back to the core project to just reduce their source code maintenance workload. If they avoid using a copyleft library specifically because of the licensing restrictions in the early stages of library selection, the potentially contributed code will never make it back to that project. No such disincentives apply to the use of copyfree licensed libraries and code.
Commercial Copyleft Abuse
The availability of a copyfree licensed library may actually discourage the (ab)use of copyfree licensing for anticompetitive commercial ends. If a closed source software development shop decides to take advantage of the benefits of open source development for closed source software it has already produced in response to the lack of availability of such software under a copyfree license, it can release that software under the terms of a copyleft license as a means of maintaining tight control over the source code. While others may fork the project at whim under the terms of the copyleft license, they cannot distribute any part of it under closed source terms, while the copyright holder of the core project can keep any parts of the system it has developed under closed source terms if it wishes, providing an anticompetitive advantage. If a copyfree licensed implementation of the desired functionality existed when the decision was made to write something from scratch, the closed source shop could be invested in the copyfree code and simply start contributing code to that project, thus strengthening an existing project rather than creating a needless competitor to the hypothetical copyleft project.
Lowest Common Denominator Licensing
As people require libraries and other software, and have usage or distribution needs that are not compatible with some licensing restrictions, the need to develop alternatives to software only distributed under such terms arises. We see this in the copyleft world, where people require free, open source code to incorporate into their projects, and thus have to replace a closed source implementation of the functionality they require. Given enough people -- or an enterprising enough person who wishes others to be able to benefit from his or her efforts -- with such needs, a reimplementation of the required functionality under less restrictive terms is likely to arise. For this reason, strong copyleft alternatives to Adobe's PDF software such as XPDF have been written; weak copyleft offerings like JasperReports have been created; and copyfree tools like pdf-parser have been written.
In an ideal world, once certain functionality was made manifest in software, nobody would ever have to reimplement that functionality unless he or she could do a better job than the last person. This would maximize the ability to reuse code, so that current technological advances may provide greater leverage for future advances. In the real world, however, reuse is often restricted by the concerns explained above involving anticompetitive license manipulation and other issues of restrictive licensing. The result of this is that whenever someone creates something and distributes it under a license more restrictive than copyfree licensing policy, someone else will probably end up needing to reinvent that wheel. This will continue at least until an implementation exists under copyfree terms, and many of these reimplementations will likely have no value relative to many other implementations other than for their differences in licensing.
By releasing a work under copyleft terms, you essentially guarantee that someone will have to create a competing work at some point in the future, if it is something worth reusing.
In a manner similar to the effects of "lowest common denominator" motivations to reimplement projects under more-permissive licensing, the complexity of licensing can also create barriers to reuse that prompt reimplementation efforts. The benefits of license simplicity come into play here, measured in terms of the brevity of a license, the clarity of its phrasing, and the sparsity of its terms. Users of open source software are concerned with effort needed to ensure legal compliance with the terms of the software's license and the potential risks of misunderstanding or accidentally violating those terms, as in the case of "black box" technological appliances whose vendors do not wish at some future date to be faced with having to release in-house code that differentiates them from their competitors under the GPL. There is some question as to exactly how much "due diligence" is necessary to ensure compliance with the copyleft terms of a license, especially given the GPL's requirements for long-term maintenance of source code archives for every distributed version of the software in case a request for the source is raised at some later date. In addition to this, the attempts to close what copyleft proponents think of a a server-oriented "loophole" in traditional copyleft licensing have given rise to licenses such as the Affero GPL, or AGPL, whereby the copyleft enforced source distribution clauses are active any time running software is accessed across a network as well as every time the software is actually distributed to a recipient who may execute the code locally.
Other problems can arise as well, such as failure to meet a legal test for compliance with change-notation requirements or advertising clauses and the uncertainty of the actual legal requirements such license clauses may be found to impose if tested in court. While the GPL has not historically applied either of these restrictions, other copyleft licenses and some non-copyleft, non-copyfree licenses have as well (even some frequently, inaccurately called "permissive", like the Apache License 2.0). Version 3 of the GPL in particular applies DRM-targeting restrictions, which may have unintended effects on non-DRM security technologies or other aspects of a software system at some point.
Metaphorically speaking, the fewer "moving parts" there are in a license, the less likely it is to have surprising effects where the interactions of various parts of the license with each other, with other licenses, with atypical development and deployment conditions, and with copyright law, all of which might result in costly compliance violation consequences. Given the legal complexity of the terms of copyleft licensing in general, it should be unsurprising that copyleft licenses are often among the most lengthy and complex licenses, and the least well understood in terms of their actual legal effects should they be brought before a court of law to resolve compliance conflicts. In fact, lawyers often disagree with each other -- sometimes with verbal violence -- over the terms of the GPL, which is longer than many Microsoft EULAs; most people who use the GPL and think they understand it have almost certainly never read it in full; and of those who have read it, it is quite common for many of the consequences of the complexity of its license terms to be misunderstood or overlooked entirely. By contrast, copyfree licensing definitely tends toward the more simple, clean, and clear end of the spectrum of license complexity, and by definition cannot be subject to many of the mentioned license terms that can impose onerous burdens and a tendency toward accidental noncompliance on good-faith attempts to abide by open source license terms.
Open source software in general offers substantial security benefits over closed source counterparts -- including verifiability, the benefits of the "many eyes" effect on improving security of software, leveraging the power of development dilettantism, and other positives associated with an open development model. This state of affairs, common across software distributed under both copyfree and copyleft licenses, is only the beginning of the story. In general, the interests of software security suggest that it is in everyone's best interests to spread secure software as widely as possible, encouraging as many people to use it as possible. Part of the reason for this is the fact that any poorly secured system is likely to become a botnet node or otherwise compromised platform used to launch attacks at other system.
Ensuring that software is as widely used as possible requires more than just making it free of charge and easy for people to use. To maximize its widespread use, it should also use as permissive a license as possible, allowing it to be embedded in other software where more restrictive licenses are used. For instance, OpenSSL is likely to be used more widely outside of an open source context than GnuTLS by virtue of the fact the former much more closely approximates a copyfree licensing policy while the latter is copyleft licensed, because developers of closed source software are unlikely to want to "contaminate" their codebase with copyleft code.
This general security advantage of copyfree software goes beyond mere reuse of code, however. When code is reused to fill a particular security purpose, the algorithms and data standards implemented by that code will also be more widely used. As that happens, and the popularity of these algorithms and standards grows, even other implementations will tend to use the same algorithms and standards, even though they do not use the same source code. This helps propagate open standards and compatibility between different implementations, including the open source implementations that spawned this growth of popularity in the first place. With such widespread compatibility between different implementations of security software, then, the usefulness of such security software also increases, encouraging more people to use security software -- thus feeding back into the the general state of security around the world, reducing the opportunities for propagation of malware and other security problems.
- Advancement Through License Simplicity
- BSD/Copyfree vs. Corporate Copyleft
- Choose the right licensing model for security software
- Code Reuse and Technological Advancement
- Copyfree article at Deletionpedia
- Copyfree: Unfetter your ideas.
- Copyleft article at Wikipedia
- Software Liberation Front
- What is Copyleft?