★ Rehost And Carry On

Revised version of British wartime poster, found on Wikipedia

T-Shirts Now Available!

I spent the last two days in Brussels with many of the key participants  in the OpenESB Community. OpenESB is a large software subsystem that conveniently allows all kinds of applications to communicate with each other across networks. It was created by Sun, but since the Oracle acquisition has, as the former Sun project leader (now at Google) wrote eloquently, languished in the decline reserved for projects with important customers which are nonetheless no longer wanted. There’s the soft sound of footsteps backing away to leave it in splendid, unannounced isolation.

The community around OpenESB is actually fairly active, and they (or, as it includes ForgeRock where I now work, perhaps I should say “we”) want OpenESB to stay around. But what do you do if the project is hosted somewhere under the control of a disinterested party? There’s no huge crime or disagreement to “justify” a fork and the code is still out there, but on the other hand any new plans really will need the source and the community presence hosted in a way that allows the interested parties to change and improve things without having to wait for weeks to get replies to requests and risk having them declined if they are deemed inconvenient.

That’s why the topic under discussion is not forking – the remaining community is not divided – but rehosting. That’s also how I would characterise what ForgeRock has done with OpenAM (formerly OpenSSO) and OpenDJ (formerly OpenDS). No conflict, no malice, just a desire by the remaining community to carry on in the aftermath of the main sponsor backing silently away.

[An expanded version of this post can be found on ComputerWorldUK]

✍ Liberté, Égalité, Fraternité

Joan of ArcIn my “state of the FOSS world” comments during the opening plenary of Open World Forum in Paris recently, I observed how important it is to remember our founding principles. Modern France was founded on “Liberté, Égalité, Fraternité” and that same formulation – liberty, equality and community – is at the heart of the free and open source movement. Of course, as The Terror proved in France, not everything done in the name of the revolution is actually good, and it’s important to return to principles regularly to understand them for a new age. Here are my “state of the FOSS World” points.

The last decade has seen many open source activities run for the benefit of a single company, but the roots of software freedom can be found in the synchronisation of part of the interests of many equal participants. The next phase of open source should embrace “open-by-rule” and have the liberties of every participant respected equally. We have already seen OpenStack and The Document Foundation arise; I believe there will be more.

The benefits that businesses derive from open source – especially flexibility, vendor independence and the cost savings that result from both through accelerated and simplified procurement – arise from Liberté, Égalité, Fraternité. Jeffrey Hammond presented research showing lower barriers to adoption of open source software in enterprises as their understanding of and comfort with open source improve.

They will reap the benefits most when they recognise that open source business value is the derivative of flexibility, innovation and independence, and that those are themselves the derivatives of liberty. That is to say, all business benefits of open source are the first and second derivative of liberty, exercised in a community of equality. Liberté, Égalité, Fraternité, in other words.

☂ Why Open Source Is Free

My classic (read: several years old) essay on Payment At The Point Of Value has finally made it on to the Essays page on this site. Now that community-centric open source is once again returning to centre stage, PPV is a relevant concept to understand the roles different community members play in relation to the software, and especially the different freedoms they are exploiting – beyond free-as-zero-price.

☞ Framing Open Source

  • I can't decide whether I am pleased there are people doing this or concerned that their actions become the focus of public understanding about open source software.

    Not all software is GPL licensed. MIT/BSD/X11/Apache probably lead the pack for integrated/embedded software (by definition there can be no hard data) and thus not every use has the same stringent compliance concerns. Even most uses of GPLed software don't carry serious issues.

    The result of making it seem otherwise is that the more subtle opponents of open source are able to raise Fears about compliance, attaching Uncertainties soluble only via extra costs that aren't really applicable to the majority of uses and thus seeding Doubts that the bother is really worth it. This has all the classic hallmarks of the best FUD, turning the weakness of proprietary software and its BSA-mediated enforcement heavies and by implication tarring open source with it. We should reject the frame.

✍ Community Types Essay

Nested community layers diagramMy essay on Community Types is now available in the Essays section of the site. It defines what I mean by terms like “co-developer” and “deployer-developer” when I use them in conversation.

★ H.264 Is Not The Sort Of Free That Matters

Mushroom forestAt the end of last week, the MPEG-LA consortium announced they were extending the arrangement whereby they allow ‘web uses’ of the patents reading on the H.264 standard that they administer for their members to be licensed without charge. The arrangement, which runs in five-year periods, has now been extended to the expiration of the patents in the pool.

At first sight, this sounds great. Headlines have popped up all over the place which might lead one to believe that everything is now fine in the area of video streaming on the internet and we can all proceed without fear of having video taxed. But I’d suggest leaving the champagne corked for now.

Unpacking The News

The statement actually takes a lot of unpacking, probably intentionally so. H.264 is the widely-used “MP4” video format created many years ago by the Motion Picture Experts Group, MPEG. Those “experts” were mostly associated with various corporations and research labs, and the international standard they created was heavily encumbered with patents.

Realising that no-one much would use the standard if each user had to go negotiate patent licensing terms with a large number of separate parties, the patent-holders wisely decided to get together outside the scope of MPEG and create the “MPEG Licensing Authority”, MPEG-LA.

Despite the name, MPEG-LA is nothing to do with the standards group itself. It’s a for-profit company devoted to making the patent problem worse in the name of making it “easier to handle” by creating patent pools for all sorts of other technology areas, beyond the media formats they already police. Go looking for the exact terms under which they are offering “free use” in this case and you’ll find they are not keen for you to know. The best available are summaries that are sketchy about the exact definitions of terms.

They had indeed in February decided to waive licensing charges for what they describe as “where remuneration is from other sources” than direct payment by the viewer to the broadcaster. Their original commitment was to leave such uses untaxed until 2015 and thenceforth to tax at a rate no greater than on-demand internet TV viewing. Their announcement last week commits to never charge under these circumstances.

Chain Of Taxes

Their use of language helps us understand what’s really happening, though. For H.264 video to reach your browser, there is a chain of events that has to happen, and MPEG-LA is taxing every one of them apart from, now, the last.

First, the H.264-format video needs to be created – but that isn’t free under this move. Then it needs to be served up for streaming – but that isn’t free under this move. There then needs to be support for decoding it in your browser – but adding that isn’t free under this move. Finally it needs to be displayed on your screen.

The only part of this sequence being left untaxed is the final one. Importantly, they are not offering to leave the addition of support for H.264 decoding in your browser untaxed. In particular, this means the Mozilla Foundation would have to pay to include the technology in Firefox.

If they could do that. But they would not be able to do so, since the software they create is open source and thus needs to be able to be freely used by others, as a whole or as a kit of parts, without any restrictions. A license bought from MPEG-LA would not be “sublicensable”, meaning they could not gain the right for any arbitrary open source community member to do the same as Mozilla was allowed with H.264. Consequently they are unable to benefit in any way from this apparently generous action by MPEG-LA.

Why Now?

Why are MPEG-LA taking this action now? They wouldn’t say clearly when they were asked, so we’re left to guess. It seems likely that it’s an action induced by Google’s WebM CODEC. At a minimum, MPEG-LA owes to its members a duty to maintain the commercial competitiveness of H.264 over WebM.

But there may be more to it than that. When WebM was announced, MPEG-LA made predatory noises and tried their best to instill fear, uncertainty and doubt in the market through veiled threats of patent litigation against Google and WebM. It may be they are getting ready to launch that attack, seeing this as the ideal moment for the opening of a third front of patent litigation against Google after Oracle and Paul Allen have started the war.

Whether or not that “Axis” forms, the news is nowhere near as good as other commentators would have us believe. The future of the web and of web video depends on open source software, and H.264 remains unusable in open source because of patent threats. MPEG-LA’s apparently magnanimous gesture offers as little to open source as their original tactical move.

Given the tendency for commentators to stick to directly-causal explanations, they seem to be getting away with it despite the fact it really changes nothing with respect to modern adoption of H.264. We should not be affording them so much credit for it.

[First published on ComputerWorldUK]

★ On Copyright Aggregation

Monarchs on EucalyptusA collaborative activity dubbed Project Harmony is now under way between corporate and corporate-sponsored participants in the free and open source software communities (not to be confused with the Apache Java project of the same name). The project seeks to harmonise the various participant and contributor agreements – collectively termed “contributor agreements” by some – used by many open source projects.

The goal of the project’s initiators is to reduce the legal costs of analysing paperwork faced by companies contributing to open source projects. Initiated and sponsored by Canonical, meetings have already been held several times under the Chatham House Rule, including one recently during LinuxCon in Boston. The participants also number several people who are skeptical of the value of copyright aggregation, myself included. At the meeting I was asked to write about my skepticism; this article is the result. I’m by no means the first to tread this ground; you’ll also want to read the earlier article by Dave Neary, and the comprehensive article by Michael Meeks ends with a useful list of other articles.

What are “contributor agreements”, why do they exist, and are they a good thing?  The need often arises from the interaction with open source of certain approaches to business. They serve a need of those approaches, but they can come at a significant cost to the health of the project. If you’re starting a new project, it’s worth understanding the bigger picture before diving in with a practical guide on the assumption “everyone uses contributor agreements” because not everyone does. For good reasons.

Dual Licencing

One of the dimensions of the business of open source has been the dual-licensing business model. The name is a little confusing since there is (usually) only one open source licence used – the second arrangement is usually a proprietary license or contract exempting the customer from some of the terms of the open source licence. It can be better to describe this as “selling exceptions to the open source licence”, and it is commonly done in conjunction with the GNU General Public License (GPL) which has clauses some businesses regard as hard to accept.

Under this model, open source software is genuinely present, guaranteeing the freedoms of its users, but the business owning the copyright makes money by selling benefits such as the right to make derivatives under a different licence, commercial terms that offer additional guarantees and (most famously) anything-but-the-GPL as the licence under which the software is used. This last option means dual-licensing has often been associated with shady sales tactics along the lines of “it would be a shame if your business got infected with that evil GPL viral licence…”

Copyright Aggregation

In order to use this model, the business owning the copyright has to own the entire copyright to the software they are distributing. As a consequence, when any community member wants to add a modification or enhancement to the source code for the software, the owner demands that to do so they must also hand over their rights to the addition. To achieve this, the copyright owner makes signing of a legal document mandatory for any involvement in the community that involves co-development.

Usually called a “contributor agreement” (to the detriment of older arrangements that use that term for community participation agreements that don’t actually aggregate copyright), the document gives rights amounting to ownership of the copyright in the new work to the copyright aggregator. It may also include other clauses, such as a statement or originality (“this is my work and I didn’t plagiarise it”), a grant of patent rights and even an indemnity (“if you get sued you can blame me”). In most cases the author retains rights to their individual work in some form or receives a license back, but it’s only the aggregator who has ownership of the copyright to the whole system.

So What’s The Problem?

Open source can be defined as the co-development of software by a community of people who choose to align a fragment of their self-interest in order to do so. The commons in which they work contains software under an OSI-approved licence free from usage restrictions with guaranteed freedoms to use, study, modify and distribute it – “free software”. The community members each work at their own expense in order to achieve a shared outcome that benefits all, including themselves. When they create an enhancement, fix a defect, participate in a design, they are not “working for free” or “donating their work” so much as they are “participating in co-development”.

That favoured word “contributor” gives a clue to the problem copyright aggregation agreements cause. An open source community is an open, meritocratic oligarchy – ruled by an elite who gained leadership based on the merit of their participation and skills, open equally to anyone who does the same in the future. The presence of a “contributor agreement” that involves copyright aggregation may be a warning sign that the community using it has one member who is more equal than all the others.

Communities whose members are termed “contributors” rather than “members” or “participants” may well be unequal places where your interests are subsidiary to those of the copyright owner. They are often dominated by users and fans of the software rather than by co-developers, since the inequality makes it hard-to-impossible for a genuine co-developer to align any fragment of their interests on equal terms. Indeed, this inequality is seen by some dual-license proponents as one of the attractions of the model as they seek a community of enthusiasts and (hopefully) customers that they can exploit without competition.

Exceptions

There can be justifications for having copyright aggregation by and for a community. When the beneficiary of the aggregated copyright is the community itself (in the case of a community hosted by a non-profit Foundation), there are benefits available that may outweigh the disadvantages. These include giving the Foundation the legal right to enforce the copyright in certain jurisdictions, and the freedom to update the open source licence later. They may also include the granting of additional rights such as patent licences in the case where the open source licence does not adequately deal with patents, or to help in countries where copyright law is sufficiently different from US law that the US-centric concepts behind open source fail. Richard Fontana covered these well in his LinuxCon presentation.

Even with these benefits available, there are many communities that choose not to aggregate their copyrights – notably the Linux kernel, GNOME, Apache and Mozilla communities. The recent policy and guidelines on copyright assignment by the GNOME Foundations are especially worth reading. Having diverse copyright ownership leads to a deeper mutual trust and an assurance that the playing-field remains level. Insisting on copyright aggregation is one of the more certain ways a company can ensure the open source community it is seeding remains small and lacking co-developers. With the rise of “value add” business models such as Apache-based open core or service subscriptions, it is less necessary for the businesses involved to aggregate copyright.

Some Foundations that avoid aggregation (such as Mozilla) do have a document termed a contributor agreement but the purpose it serves might be better termed a “participant agreement” since it mainly addresses community norms and specifically avoids copyright aggregation. Indeed, there are some who suspect a motivation for using the term “contributor agreement” vaguely to describe agreements also aggregating copyright is a tactic to screen the toxicity of copyright assignments from general view.

How To Flourish

It may well be advisable to have a participant agreement for your community, to ensure that everyone has the same understanding of and commitment to the project if they are sharing its evolution. But if you want your community to flourish, eschew aggregated copyrights, or vest them in a non-profit entity representative of and open to the community. In fact, avoid any institutional inequality and focused control. Communities should be open-by-rule.

In my experience,  attempting to retain control of a project you’re starting or hosting leads to mistrust, contention and a rules-based focus that diminishes your reputation. Relaxing control will lead to the community innovating and growing in ways you’ve not anticipated, as well as enhancing your reputation. As I’ve frequently said (although less frequently been heeded): trade control for influence, because in a meshed society control gets marginalised while influence delivers success.

[First published in ComputerWorldUK]

♥ Thinking of OOoCon

Hungarian Parliament, originally uploaded by webmink.

My best wishes to all my friends attending the OpenOffice.org conference in Budapest this week. With all of the ups and downs and pluses and minuses of the OpenOffice.org project, it is still entirely remarkable what it has achieved over the decade since Sun made it open source, most notably:

  • Forced Microsoft to open up their file formats – ODF is a true phenomenon and one of the wonders of the FOSS world
  • Provided true competition for productivity software in public administrations globally
  • Kept going all these years!

Whatever happens next for the project (and I sincerely hope it’s excellent), we can all be proud of what we’ve achieved collectively against all odds. Have a great conference, and enjoy visiting the Hungarian Parliament (pictured above, feel free to use my photo!)

★ GNU/Linux – finally it’s Free software

A Bold GNU Head
This may come as a shock, but all GNU/Linux distributions to date have been built with essential software under a licence that clearly meets neither the Open Source Definition nor the Free Software Foundations’ requirements for a Free software licence. The tenacity of a Red Hat hacker has finally solved this problem for everyone, however, and I’m proud to have played a part too.

One of the long-running projects I had at Sun was to get the (pre-GPL, permissive) license on Sun RPC changed.  Why would that interest anyone? Well, the code in question is the original implementation of Sun RPC, which went on to become RFC 1057 and today is a core part of every UNIX-family operating system. Including Debian GNU/Linux and Fedora, both keen to be 100% Free-licensed software.

The way the RPC code was originally licensed was exceptionally liberal. Written in 1984 or earlier (well before the GPL existed), it allowed unfettered use of the Sun RPC implementation in any program for any purpose. The only significant restriction imposed, entirely reasonable to most eyes then, was to say that the module itself could not be sold as-is, only as part of a larger work. The code was circulated on Usenet and was extensively cut-and-pasted into software being developed then –  notably the parts related to NFS.

What was liberal is now conservative

Times change. During the 80s, Richard Stallman’s Free Software movement established the four freedoms, with the GNU General Public Licence (GPL) appearing in 1989. During the 90s (1994-7), the Debian Free Software Guidelines established a need for the code in their distribution of GNU/Linux to be fully Free software. The Sun RPC Licence did not qualify, becuase of the restriction on distribution as-is – an “additional restriction” that also meant the licence is not GPL compatible. By the beginning of this decade, Debian maintainers were making a serious effort to audit the millions of lines of code in Debian for true DFSG compliance. And in 2002, they found the old Sun RPC code in core Linux files glibc and portmap. The members of the Fedora community were also engaged in a similar effort.

Reading the history for Debian bug 181493 tells the next part of the story. Inside Sun, the challenge of finding the code in question was Just Too Hard, and the things reached an uneasy impasse.

The issue came back to life in 2008 when the bug was re-asserted as part of the run-up to the Lenny release. I was contacted both by folk at Debian – notably my friend Ean Schuessler – and at Fedora – notably by Tom “Spot” Callaway – asking if there was anything I could do to accelerate licensing of the old code. Both projects had decided to take a hard line and removing the code from glibc and portmap was going to be a real headache, especially for the stability of glibc.

Challenging

The task of relicensing old code can be pretty time consuming and involves people who were already much in demand.

  • First, the old code is often very old. The people who wrote it may no longer be with the company, it is no longer part of a current product, and people sometimes can’t even be sure where it originally came from before Sun put it on Usenet. You have to find the original code if you’re to make any progress at all. Doing so might mean retrieving crates of paper from long-term storage and crawling through them.
  • Second, once the code is located, a legal expert has to look at the origins of the code and maybe once again crawl through retrieved paperwork to find the contracts behind the code. Their job would be to determine if Sun actually has the right to change the license at all.
  • Third, someone had to believe it is their job with respect to the code in question to act on Sun’s behalf to evaluate the change, authorise it and bind the company officially.

All this is time-consuming and expensive, and without a current code owner inside Sun it was touch-and-go whether anyone could find either the staff time or the budget to run a license change through to completion.

With help from friends both at Debian and at Red Hat, we managed to identify some modern OpenSolaris code that matched the code in Linux. This was a key step. It meant we could trace ownership through the comprehensive records for OpenSolaris and start the process moving. By early 2009, we finally reached the point where we felt comfortable to relicense the Sun code involved. I got permission from both the legal team and the management at Sun and announced (and blogged) at FOSDEM in Brussels that it would be OK to relicense the old code.

But then there was some sort of foul-up after it was all agreed and Red Hat (who were making the change) never received documentation of the decision that was sufficient to give them confidence it was all over. They tried contacting people at Sun, but by then acquisition of Sun by Oracle was in full swing and no-one was allowed to make any changes affecting copyrights any more.  Even though it had all been decided, no-one in the legal department was comfortable giving Red Hat the documentation they felt was essential to confirm the decision. So the changes were rolled back, much to everyone’s disappointment (not least mine).

But Spot persisted and finally got confirmation in an acceptable form from an Oracle VP, Wim Coekaerts, that permission to make the change had indeed been granted. So, at long last, the licence is changed, glibc is Free software and we can all breathe easy that this can’t cause copyright infringement suits against Linux. Congratulations to Spot for his tenacity! Spot has more information and his view of what happened over at LiveJournal.


[First published by ComputerWorldUK]

★ “Which Open Source Licence” Is The Wrong Question

Mesa Verde Cliff Palace DetailVarious commentators are beginning to pick at the threads of the rediscovered collaborative model for open source now that the “open source bubble” is being superseded. This is a return to what many of us regard as “real open source” (the co-development of software by a community of people who align a fragment of their self-interest in order to do so, using their software freedoms under an open source license and open governance).

Glyn Moody asks the question of which open source licence is best for the new wave and comes to the conclusion that the problem that’s faced open source projects in the “bubble” has been less licence choice and more the practice of corporate control via copyright aggregation. I have more to say on this subject in a forthcoming essay.

Glyn’s article has triggered a somewhat strident response from Matt Asay, who picks up a surprising message that I find hard to read in Glyn’s article. He asserts that Glyn (and I) are advocating that the businesses participating in the new collaborative wave should use proprietary software to earn their revenues. This assertion appears to flow from a conviction the only way a business can succeed is by keeping some sort of copyright (or patent) control that creates an artificial scarcity.

I believe the seed of this view is a riff on one of the oldest arguments in software. To comment on it, I first need to get philosophical for a moment.

Cause and Effect

There are two views of the place of “cause and effect” in the world. One believes in direct causality, the other in systemic causality. Both are correct much of the time, so the difference between them rests beneath the surface of most realities. Both are tools in guiding behaviour and predicting consequences.

In most circumstances, direct causality seems the obvious interpretative lens for the past and predictive lens for the future. We are most comfortable when we can draw clear circles around causes and thick lines between them and their consequences. We admire the “chess players” of society who can draw long chains of clear circles and thick lines, and for most of us the ability to mentally calculate chains of cause and effect is limited to only a few steps.

But certain systems involve a longer chain of lesser causes and effects that makes a focus on the individual steps unhelpful. Things like evolution, national economics, global warming and terrorist networks all need a systemic view if they are to be properly understood, and a focus on what the individual can directly prove leads to bad choices. These systems are especially difficult for people with “just do it” attitudes, who find it hard to take “on faith” that they should act in a contrarian way because of a larger system which can’t be seen and computed in its entirety.

When our outlook is dominated by direct causality, we seek control over causes. When our outlook is dominated by systemic causality, we seek influence over the network of causes and effects. In many cases, both outlooks lead to the same decision, but as we have moved to a meshed society, the importance of systemic causality has risen. Every cause has an immediate effect, but to believe that effect is the only consequence is increasingly a risk.

If the distance to the effect we seek is short, and that effect is the only outcome that matters, control is obviously desirable. But if the distance to the desired effect is large and filled with many connections, it’s better to collaborate and co-operate with other participants and prioritise influence over control.

Two Views of Freedom

The tension between direct and systemic causality lies at the heart of the endless debate between whether BSD-ish (permissive) approaches to software licensing are better or worse than GNU-ish (copyleft-based) ones. The GNU-ish view takes a directly causal view, believing that the freedoms of software users are so important that there should be a direct compulsion on every user to share improvements they make to code. Glyn is clearly in the GNU-ish, directly-causal camp, concerned that people may not “give back”:

“This is the classic free-rider problem that the GNU GPL was designed in part to avoid. It means that contributors to Apache-licensed projects must be willing to accept that their work may well end up in closed-source products, maybe multiple times.”

The BSD-ish view is systemic, believing that any innovative user of the code will want to add their improvements to the commons so that the community around the commons will maintain them collectively, freeing the innovator to spend time elsewhere.

This is the view the Apache Software Foundation best expresses, and it clearly works well for them. They have large numbers of participants in a large number of successful projects, and there is no “tragedy of the commons” at work – self-interest does not require selfishness. It is in the interests of every participant to contribute their work to the commons upon which the fragment of their interests relates. Doing so reduces their own costs, increases the surface upon which the community innovates and gives the maximum return. People who don’t add their work to the commons are condemned to maintain their own work, alone, for ever…

Asay makes an unwarranted leap in his description of me in his article. I am a firm believer in the concept and philosophy of software freedom, but that doesn’t mean I believe the only way to achieve it is through directly-causal compulsion. Indeed, I tend to believe that the key to a successful open source project and community is to studiously maintain equality among all the participants so that no one participant can become “more equal” than the others, giving systemic effects free rein.

Contrary to Asay’s accusations, I’m not interested in the sort of “purity tests” into which FOSS fundamentalists spiral; I do, however, object to use of the term “open source” to describe a project where the participants are not all equal-by-rule. The most important factor is not whether it’s OK for community members to create proprietary code from a project; it’s whether everyone has equal rights. I don’t believe creating artificial scarcity through proprietary code is a smart or scalably profitable action, so frankly Asay’s accusation I’m promoting proprietary development aren’t offensive; they are just irrelevant.

So Which Licence?

That’s where the argument of which license to pick needs to follow the sort of logic Carlo Daffera offers rather than the GNU-ish vs BSD-ish path. It’s hard to believe we are still having “which licence is best” arguments eleven years after the founding of OSI, but we are. Arguments over licenses rarely matter these days; all open source licenses are fully gamed. The reason collaborative projects are resurgent is not a “which licence is best” argument at all; it’s a “level playing field vs artificial scarcity” argument.

The reason I believe “Open Core” approaches will become scarcer and scarcer is that the control-freak behaviours they necessitate (like demanding copyright ownership as a precondition of community participation) just don’t lead to the greatest growth. I’m not sure I care much which licence you use, as long as everyone in your community has the same rights so that the most people possible can participate. That’s what will grow the community – and thus the opportunity – for everyone.

[First published on ComputerWorldUK]