Tuesday, June 05, 2007

Comments on GPL v3 Draft 4

Well it's good to see that the third version of the GNU General Public Licence (GPL) has been progressing at a reasonable rate. The latest discussion draft was announced on 31 May, and all indications are that this will be the final draft.

In order to read the draft link over to http://gplv3.fsf.org/ and be sure to read the rationale and comments made.

Richard Stallman has also published his own comments on why to upgrade to the new version. Definitely worth a read as well.

I think Richard's comments cover most of the views I personally have on the process and reasoning and, if you are interested, you can read my take on the process in my post titled Principles of Free Software.

Effects on the Novell Microsoft Deal

Related to the draft, there was a comment I read about the effect it will have on the Novell/Microsoft agreement which illustrates the lack of understanding by some people as to the effects of the new licence.

To quote Stephan Beal...
Microsoft doesn't have to do anything as long as Novell does not ship software which uses the GPL3. The Linux kernel will likely not use the GPL3, if only because changing the license on software requires agreement from all copyright holders, which is not feasible in the case of code with several thousand copyright holders. (For example, the header file include/asm-powerpc-ps3.h in the Linux 2.6.20 kernel tree is copyrighted by Sony.)

My response follows...
The problem for Novell does not merely revolve around the Linux Kernel going GPLv3, which will be unlikely to happen immediately. The problem lies in all the GNU utilities and other software which are specifically licenced as "GPLv2 or Later". The recipient of the software has the choice as to which licence (v2 or v3) to accept.

In order for Novell (and Microsoft) to avoid the consequences of GPLv3, it will be necessary for them to strip out and replace all the "GPLv2 or Later" licenced material, not an easy task but not impossible either.

I shudder to think what the resulting system would be like without all the GNU utilities, Kernel Modules and other software which are licenced as "or Later" removed.

Friday, June 01, 2007

Lemons without the Lemonade

Sometimes life just throws lemons at you which simply cannot be turned into lemonade.

Glynn Mark Ayres, a dear and close friend, suddenly died on Tuesday (29 May, 2007) at the age of 50. This is a man that I have known for over 30 years, he knew me longer having been introduced to me whilst I was still in nappies, an age beyond my ability to recall.

Glynn was a highly intelligent person with a wealth of knowledge and experience, which he delighted in sharing in a boisterous way with others. In the early days, he was an avid miniatures wargamer, progressing on to computer based games as home computers became commonly available. I remember him often fetching me from my parents house to spend the night at his place playing long games of Galaxy on an Apple II computer, cutting edge technology then. In later years Glynn became an avid Trivia player, taking part in numerous competitions, easily winning most of his games and earning the respect of many other contestants.

Whilst the loss of Glynn is still sinking in, I have carried out the task of contacting as many of his old friends around the world in order to pass on the sad news of his passing. Whilst I do not have adequate words of my own to convey the loss, Charles Clayton, commonly called Chuck or "Emperor Caius" (his wargaming handle) puts it best...

(Glynn's wargaming handle was Lord Haag).

Ave Lord HAAG

Morituri te salutant.

I stand in a faraway land
and pour a tot of rum on the ground
in your honour
in your memory
and then I raise my glass
to the years of comradeship
that we had together

Kindred souls
competitive spirits
brothers in arms
I thank you
for the memories we made together
and the laughter that ensued

Let the Valkyries play
“Stairway to Heaven”
as they lead you to Valhalla
where you can practice trivia
to your hearts content
and be ready to beat me again
when I join you

Ave Lord HAAG
The Emperor salutes you
a worthy opponent
a fierce competitor
and a magnificent friend

Ave

Go well and in peace my friend I will miss you.

Thursday, April 12, 2007

Principles of Free Software

It is with a degree of exasperation that, whilst observing the development of the 3rd version of the GNU General Public Licence (GPL) [GPLv2] [GPLv3], one regularly come across opinions and news articles published by various so called luminaries and pundits blatantly misunderstanding the concepts, principles and objectives of Free Software.

There seems to be this strange impression that Free Software should conform to the commercial models, processes and ambitions of it's proprietary counterparts and that the two can be compared using the same criteria.

Fundamentally, what is largely forgotten, ignored or misunderstood by these unenlightened hacks, is the fact that Free Software development, licencing and distribution is carried out under the principles and mores of freedom, non-discrimination and inclusiveness.

As detailed on the Free Software Foundation's website, Free Software is governed by the following four basic concepts of freedom:


  • The freedom to run the program, for any purpose.
  • The freedom to study how the program works, and adapt it to your needs.
  • The freedom to redistribute copies of the software, in order to help others.
  • The freedom to improve the program, and pass those improvements on to others to the benefit of all.

It is these concepts which override any and all other considerations. Yes, for example, greater interoperability with proprietary software is or would be nice, but certainly not at the cost of compromising any of the above mentioned freedoms to even the slightest degree. In essence; commercial, proprietary and pecuniary interests have no direct part to play in the licencing framework and processes of Free Software.



"If you want to be free, there is but one way; it is to guarantee an equally full
measure of liberty to all your neighbors. There is no other."
Carl Schurz, (1829 - 1906)



In order to ensure that these freedoms are passed from one user of the software to the next, without the corruption of the principle intent of the original developers, Free Software licenced under the GPL employs copyright law to ensure that the preservation and conveyance of these freedoms are a condition of it's use and distribution. This method of licencing, referred to as copyleft, is one of the cornerstones of preserving the freedoms granted by the developers of Free Software.



"Eternal vigilance is the price of liberty."
Wendell Phillips, (1811-1884)
(often incorrectly attributed to Thomas Jefferson)*



Safeguarding these principles of software freedom especially depends upon the relentless re-evaluation and augmentation of the licences used to guarantee these freedoms. This incessant re-evaluation must take into consideration ever changing laws and methods practised globally, with an attentive and decidedly gimlet eye towards any threat that may present itself against these principles of freedom.

Development of the General Public Licence Version 3


When one evaluates the merits, clauses, demands and precepts of a Free Software licence, one must always take into consideration the developers intent. There are numerous licences available to software developers ranging from "gift" licences such as the Modified BSD to extremely restrictive commercial licences, so it is essential to understand what statement a developer or contributor is making when they provide or contribute software under a licence such as the GPL.

Examining the development of the 3rd version of the GPL provides us with some interesting insights into the challenges facing the preservation of Free Software today. Many people say that the 2nd version of the GPL is "good enough", but looking at the issues and particulars raised and addressed during the development process, should provide an insight to of some of the threats facing Free Software today.

Various issues addressed during the development of new version of the licence that can be used to illustrate the improvements that can be made and what the potential threats are:


  1. Copyright laws have changed quite significantly on a global scale since version 2 was developed. This has necessitated that the text of the licence has been revised to cater for these legal obstacles and to resolve some of the country specific issues.
  2. The term "distribution" has essentially been replaced with the terms "propogate" and "convey" which, amongst other things, allows for clearer delineation between the various types of distributors. In association with this, modern download and peer-to-peer distribution mechanisms have been recognised by the licence.
  3. Whilst inferred in version 2 of the GPL, version 3 directly addresses the granting of patent licences by contributors to all users of the software.
  4. Technical barriers to modification have been addressed, particularly focusing on the process commonly referred to as "Tivoisation". (More below.)
  5. Instances of collusive and discriminatory practices such as the recent Novell/Microsoft patent agreement have been attended to. (More below.)

Technical Barriers to Modification


To the audible howls of those with commercial and proprietary interests, the GPLv3 has directly addressed the issue of so called "Tivoisation". "What is this, and why is it significant?" I hear you say. Let's lay it out.

"Tivoisation" is the method whereby a company, organisation or individual takes Free Software, uses it in the development of a product, and then has the gall to deny the user his/her freedoms granted by the software licence.

It works like this...


  • A company develops a hardware product which requires a software component such as, say, a personal video recorder (PVR).
  • Instead of developing their own software from scratch or paying for proprietary software to run on the device, the company takes some Free Software, which they proceed modify to suit their needs. (Making perfectly legitimate use of the freedoms granted by the licence.)
  • The PVR is then marketed and sold by the company who happily complies with the requirements of the licence and provides the software under the same licence as they received it.
  • The consumer/user purchases the device and then decides that he/she would like to modify the software to, say, skip advertisements, stop providing usage information or use a different scheduling service. (Perfectly legitimate under the terms of the software licence.)
  • After modifying the software themselves, or obtaining a modified version from someone else, the user now installs it on their PVR, but runs into a problem.
  • The PVR will not allow the modified software to run. In fact, the PVR will only allow software to be run on it with a special key and/or method only known and available to the company.
  • So, the user has received all their freedoms from the company in question, as required by the software licence, but is now denied the right/capability to exercise their freedom, blatantly in contradiction to the intent of the software licence.

Now, under the GPLv2, the company used in the example above, is technically in compliance with the requirements of the licence, but is this what was intended by the authors of the software? The obvious answer is no.

In addition, as the advertisements go, "that is not all folks". Use your imagination to extend this scenario to all manner of devices. Imagine a general purpose computer which will only allow a specific operating system to be used, or will not allow you to run an application of your choice. Even worse examples are when the device will run the software you install, but deliberately degrades performane or disables device features.

The GPLv3 now addresses this issue by making it a condition that the the necessary information required to install and run the free software on a user product is provided. One major exception being if the device is designed in such a way as the software cannot be modified by anyone, including the manufacturer.

CiarĂ¡n O'Riordan has written an excellent article explaining "Tivoisation".

Collusive and Discriminatory Practices


The recent Novell/Microsoft agreement introduced a new method of circumventing the principles of freedom enshrined by the GPL. In this agreement Microsoft essentially provides a pledge not to sue Novell's customers for patent infringement under a number of conditions. Whilst not technically a breach of the GPLv2, this agreement provides discriminatory protection to Novell's customers specifically, in direct contrast to the spirit of Free Software, which would require that this protection be extended to all users of the software, regardless from whom or where they received it.

In order to protect against these types of agreements, the GPLv3 introduces a prohibition on the distribution of software if the distributor is party to such an agreement.

Final Notes


Overall there are a great deal of significant changes to the GPL introduced in the drafts of version 3, many of which deserve a closer examination. The points discussed in this posting have in some ways been oversimplified, mainly in order to demonstrate the point that Free Software is about freedom above all else.

What is important to take cognisance of, is that Free Software is primarily an exercise and expression of freedom without the dereliction of morality and constraints of the proprietary and decidedly pecuniary models of today.




* The quote by Wendell Phillips is considered to originate from this quotation:
"It is the common fate of the indolent to see their rights become a prey to the active.
The condition upon which God hath given liberty to man is eternal vigilance;
which condition if he break, servitude is at once the consequence of his crime
and the punishment of his guilt."

John Philpot Curran, Speech upon the Right of Election, 1790.