Friday, August 22, 2008

GPL v2: Gathering Stormclouds

I just read A Practical Guide to GPL Compliance.

First of all, if you don't really have a handle on how the GPL works, go and read this guide. It is well written and informative. I thought I knew how things worked. I was wrong.

One of the key clauses in the GPL v2 is the 4th clause:
You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.(emphasis mine)

From the guide:
If you have redistributed an application under GPLv29, but have violated the terms of GPLv2, you must request a reinstatement of rights from the copyright holders before making further distributions, or else cease distribution and modification of the software forever. Different copyright holders condition reinstatement upon different requirements, and these requirements can be (and often are) wholly independent of the GPL. The terms of your reinstatement will depend upon what you negotiate with the copyright holder of the GPL’d program.

Since your rights under GPLv2 terminate automatically upon your initial violation, all subsequent distributions are violations and infringements of copyright. Therefore, even if you resolve a violation on your own, you must still seek a reinstatement of rights from the copyright holders whose licenses you violated, lest you remain liable for infringement for even compliant distributions made subsequent to the initial violation.


To put this into context, the maximum exposure per document for copyright infringement is $150,000.

Additionally, in the news, there are many instances of companies who are in violation of the GPL and get sued, and eventually return to compliance and continue to distribute GPL'd programs later on (in compliance) without having gone to all of the copyright holders.

My guess is that this trend will only accelerate. Looking at cloud computing, almost all of the infrastructure is built on top of open source technology. Much of it is GPL v2 only. The same thing is true for netbooks - most of them started out as Linux only and have only belatedly added Windows XP as an option for users.

The reason for this seems to be quite clear. Open Source has accreted enough mass to become a major force in the industry. It allows smaller companies to leverage man-centuries of work to rapidly deploy products with extremely flexible licensing. This trend is only likely to accelerate as the pace of technological change increases.

The elephant in the room is the termination clause in the GPL v2. If the current trend continues, more and more companies will break the GPL v2 without truly understanding the ramifications of their actions, return to compliance and continue distribution. This will start to create a massive overhang of liability over those companies - $150,000 per copy distributed starts to add up very quickly. Although it is doubtful that many traditional open source copyright holders would exercise their rights and sue violators, the trend of some companies hiring people to work on open source (particularly at Google with their 20% time) would allow for a less traditional, but highly effective form of corporate warfare to emerge - particularly once the market has become saturated with violators.

If my prediction is correct, I would expect to see increased corporate sponsorship of open source participation on company time, particularly on code bases that are strategically positioned to affect industries relevant to said companies, essentially, infrastructure code like operating systems, programming languages, web/application servers, library development, etc.

Friday, July 11, 2008

The Nature of Freedom

I just read an amazing post on Broken Symetry about the nature of freedom. A few choice quotes:
The best jurisprudential definition of liberty that I know is found in Judge Richard Posner's Problems of Jurisprudence. In this book, Posner offers the theory (which he attributes to Quine) that a person's choice is "free" so long as her preferences are a link in the chain of causation that leads to an act. According to Posner then, coercion arises when a person is forced to act either before their preference can be formed or without their preference being part of causal chain that leads to the act.

My humble suggestion is that some of these paradoxes may be resolved by considering, in addition to rationality, the periodicity of the preferences of these actors. Rationality and periodicity are orthogonal in this analysis. An act can be rational, but ill-timed; conversely, an act can be well-timed, but irrational. An actor becomes more "free" when she optimizes the fit of an act to both her self-interest and her rhythms.


I think the author almost gets it right, but not quite. Reading this post crystallized the matter for me, though. It is not that people want things at particular rates and that those rates are unsustainable. Instead, different people have different discount rates (previously I had been using the phrase "time horizion" but the concept is much more clear with the axes flipped). Substances, like alcohol, can dramatically increase these discount rates - causing all manner of short term thinking that people generally regret in the morning.

Freedom, therefore, is the confluence of Posner's definition and an absense of external affect on one's discount rate. While this definition is more robust, in that it models reality more closely, it is problematic in that it forces others who want to ascertain a person's freedom of will to "peer into the hearts and minds" of others.

Wednesday, June 25, 2008

FAQs are a Sign of Failure

I've spent a fair amount of time thinking about Lean Manufacturing; it seems to me that most organizations are either unaware of the concepts behind Lean, or they are inconsistent in their application of said ideas. One of the things that really gets me is FAQs.

If one believes in one of the central principles of Lean, that people don't make mistakes, but only expose flaws in process, than an FAQ is less a useful tool an organization provides to help its customers and more a list of the highest visibility and longest outstanding bugs.

While an FAQ might be a reasonable stopgap, a static FAQ is an implicit sign of organizational failure.