Sunday, December 11, 2005

Making the GPL.

I originally wrote this blog entry in early November, but in the press of events, I didn't get it posted. With the recent publication of the official process document by the Free Software Foundation, I remembered that I had this lingering in my drafts folder. Because this includes views from other groups, I thought it would still be useful to put it up.

I was at the GPL 3.0 panel discussion at OSBC this week. The panelists were Mike Milinkovich, executive director of Eclipse, Diane Peters, general counsel for OSDL and Eben Moglen, general counsel for the FSF. It was a collegial group; Peters is on the board of Moglen's Software Freedom Law Center, for example.

In fact, though, this was Eben's panel, and it was his message most of us had come to hear. The panel was convened to explain the process that will be used to produce the next version of the GNU General Public License. I've seen Peter Galli's coverage of the session. It was good, but I want to do something different here. I want to recap the process that Eben described in as much detail as I can, from the notes I took during the session.

What follows is, as nearly as I can make it, a recitation of Eben's (and Diane's and Mike's) points from the panel, with no editorial comments from me. This is a pretty detailed blog post from me, and intended for a specialist audience; if you don't know what the GPL is or if you don't like to read about committee deliberations, you ought to stop reading now.

The current version of the GPL, GPLv2, was produced 14 years ago by a reasonably small group of people led by Richard Stallman. The license has seen very wide adoption since, and GPL'ed software is used extensively around the world. The next version of the GPL will be GPLv3.

To begin, Eben listed four rights that the GPL is designed to protect:

  • The right to run software without obstruction, and to understand how that software works.
  • The right to copy software as much as you like.
  • The right to modify the software, including the right to make private modifications that you do not share with others.
  • The right to share the software, but to share with all of these rights passed along to others.

These right all accrue to users of the software. The GPL is a document designed to protect users' rights. Eben emphasized that those protections are intended to extend to all users of GPL'ed software, and that explicitly includes commercial users.

In producing a new version of the GPL, which is designed to protect the rights of users, it makes sense to ask users what they want. The revision process will solicit comment by the GPL user base as broadly as possible, including comments from individual software developers, groups using other licenses, commercial concerns, legal experts and others. The process will consult groups around the world.

Eben said several times, forcefully, that this process will be open and transparent. People who want to participate will be able to do so. No decisions will be made in secret. Discussions and decisions will be made public.

Eben emphasized, though, that protecting rights is work for experts, and not for the one billion people who use GPL'ed software around the world. He expects that knowledgeable representatives will participate actively in the process, but that the majority of GPL users won't choose to participate directly.

He also said clearly that this is not a democratic process. There are no votes on GPLv3. Eben expects this process to produce reasoned, intelligent feedback, which will allow the Free Software Foundation to make informed decisions about ways to protect users' rights, but emphasized that the GPLv3 will be issued by the FSF, and not by acclamation.

In the next ninety days, formal review and discussion will begin.

  • A discussion draft, accompanied by an explanatory document on the language and reasons for changes from GPLv2, will be published.
  • As many experts as possible will be invited to read and comment on the draft. (A question from the audience asked Eben about the mechanism for participation: On-site meeting? Some other forum? Eben replied that he wasn't able now to describe the mechanism in detail, but that it will allow both in-person and electronic participation, and that "it will be great").
  • From the collection of experts, committees for discussion will form. These committees should collect around particular points or issues that are important to the members, and where they have opinions and expertise that matter. The committees have responsibilities in the process:
  1. Outreach, to make sure that people with a stake in the process know that it's going on.
  2. Recruitment, to be sure that people who can and should contribute do.
  3. Discussion, to turn comments from reviewers into well-defined issues that can be debated and resolved. If the issue survives this discussion -- if the group believes that it needs the attention of the FSF -- then it continues to the next steps.
  4. Consideration, to explore as thoroughly as possible the different resolutions available for the issues defined.
  5. Resolution and recommendation within the committee, to propose the resolution that makes most sense to the committee for the issues it identified.
  6. Report to the community generally on issues and recommendations.

This process will produce a comprehensive explanatory corpus on the meaning and intent of the GPLv3. The committee documents and recommendations will be public, and will give license users insight into how the license was made.

There will be issues that transcend single groups, or that require attention from the FSF in order to be resolved. In that case, issues will go to the "Supreme Court" of the FSF (Richard Stallman will play a key role here). The documentation and deliberations of the committees will be important in considering the issues, but the FSF will make the final decision on language.

After a few iterations of this process and accompanying draft revisions of the license text, Eben expects to be able to issue a final license for adoption. On issuance, debate on the GPLv3 will end.

Eben's goal is that all GPLv2 code should be able to move to the GPLv3, and he does not want to do anything in the new license that will make that migration impossible.

An audience member asked about plans for revision of the LGPL, and Eben replied that it will be considered in the same cycle as the GPL. For practical reasons, the actual publication and discussion of the LGPL revision may lag the GPL slightly, but the goal is to have both licenses under discussion more or less simultaneously, and to issue new versions of both together.

There were several other audience questions, but I've only captured one in my notes. Someone asked Mike Milinkovich if Eclipse would consider amending its EPL license as a result of changes to the GPL. Mike replied carefully: He would be remiss not to consider the interests of the Eclipse community, and ways that changes to the EPL, in concert with changes to the GPL, could advance the interests of the Eclipse community. However, he cautioned, changing a license is a lot of work, and the EPL recently underwent revision, so Eclipse could well decide to do nothing.

(Violating my no-editorial rule: I think Mike's exactly right. The revision of the GPL presents an opportunity for other open source license authors to look for ways to clean up and reinforce the intent of their own licenses, and to consider whether they want to make those licenses more, or less, GPL-compatible. That's a tremendous effort, though -- just look at the laborious process that Eben laid out for producing GPLv3! -- so we're not likely to see wholesale revision to FOSS licenses.)


Post a Comment

<< Home