Up to documents folder -or- Visit Irish Free Software Organisation's GPLv3 project page

Transcript of Opening session of first international GPLv3 conference,
January 16th 2006

Transcription by Ciaran O'Riordan (Free Software Foundation Europe / IFSO). Please send any comments or corrections by email.

In the opening session of the first international GPLv3 conference, Richard Stallman gave a brief explanation of the major changes and a number of interruptions (20 minutes), and Eben Moglen walked through the text changes in from GPLv2 to GPLv3 (70 minutes).

The video recording of the event, from which this transcript was made, is available at http://gplv3.fsf.org/av/gplv3-draft1-release.ogg.torrent (downloading requires bittorrent). In some places, when Eben Moglen is quoting from the GNU General Public License version 3 draft, there are differences between his words and the words of the license. In those cases, I have copied the text from the license since that is easier to do correctly and it saves the transcript from containing some guessed punctuation.

Section links

The transcript

[0h 00m 7s]

[back to top]

Peter Brown (Executive Directive, Free Software Foundation):

Hello. Hello ladies and gentlemen, if you could take your seats. I'd like to welcome you all to the first conference on GNU General Public License version 3.

I'd like to introduce you to FSF - Free Software Foundation - founder and president, Richard Stallman.

[back to top]

Richard Stallman (Author of the GPL, President of FSF):

Hello and welcome and I'm glad that you're interested in making the GNU GPL version 3 as good as it can possibly be.

We've been using this license for a long time and we've discovered various points where it was either confusing, or needed to be adapted, and meanwhile the world has sprung very nasty threats on our community and on all software users. So we need to update the GPL. We've known this actually for many years. We had some sessions about 4 years ago, working on updating the GPL. But then things went on, and we decided this year we're going to sit down and we're going to take a lot of time, and we're going to get it finished.

The biggest change we've made, is in the area of license compatibility. Helping to - well partly - removing an inconvenience, an obstacle, that has prevented combining code from various free software packages. There are some free software licenses that are compatible with version two, and people can mix the code, for example that's under the X11 license, people can copy that into GPL covered programs, and do. We've put in provisions to extend the range of compatible licenses, there are additional licenses now that will be compatible with the GPL, and it will be possible to copy the code or link it together in a combined larger program. This, we think, will help our community.

Aside from that, the biggest changes I believe concern DRM. Digital Restrictions Management threatens the freedom of every computer user. It's fundamentally based on denying users the freedom to control the software that they operate. DRM is an example of a malicious feature - a feature designed to hurt the user of the software, and therefore, it's something for which there can never be toleration, and DRM is fundamentally based on activities that cannot be done, with free software, that's it's goal: to make sure that there are things that users cannot do with free software. That's the direct opposite of our goal, which is to do everything with free software. Unfortunately some of that software is circulating only underground in the US because it's been forbidden. With the DMCA, the Digital Millennium Copyright Act.

[0h 03m 59s]

that imposed censorship of software in this country, and now Europe has a similar system. Although it doesn't have to be as harsh but most countries have made it even harsher. So this is free software whose development will have to go on underground. But what we can do with the GNU GPL is to prevent our software from being perverted or corrupted so that it doesn't really respect the user's freedom anymore. For instance, the Tivo is designed so that if you modify the program and install it, it won't run. We have written provisions designed to forbid that use of our software. We can't forbid people from making such devices, nasty as it is, but we can, we believe, forbid them to use GPL covered software in that corrupt way.

Other substantial changes relate to software patents. We've decided to put in an explicit patent license grant, following the lead of many other free software licenses that have come out over the last decade. We've also put in a very narrow kind of patent retaliation, and that is that if Person A makes a modified version of a GPL covered program and has a patent and says "if anyone else makes such a modified version and runs it, I'll sue him" - well, if he does sue someone, then he loses the right to make any further modifications. Which means he cannot maintain his program anymore, so commercially speaking it's not viable for him to do that. So this is a way of dealing with one particular danger that can occur when people make modified versions, and run them. They don't have to release their modified version, but they mustn't try to stop other people from writing similar modifications on their own.

[0h 06m 44s]

There are a bunch of other smaller changes, and Eben is going to be going through the whole license, explaining them step by step. So I don't think I need to say anymore right now. Have you noticed anything I didn't cover which I haven't?

There are a lot of changes in various places that are designed to say things in a way, that is more independent of possible variations of different countries copyright. In substance, these are almost insignificant, but they help the license do the same job more effectively. Oh, and there is one error in the draft that's been posted. In the joke, in the instructions at the end, a change was made that hadn't actually been cleared with me, and I'm not actually planning any change there. But that won't affect any of the substance of the license itself. So I will now turn things over to Eben Moglen.

[0h 08m 02s]

[back to top]

Eben Moglen (General Counsel of FSF, Chairman of SFLC):

Thanks Richard. Good morning. I'm glad to see you all. It's been a little lonely, and a little too secret, for the last several months, I like better the public practice of law, and it's a pleasure now to be in a position to talk about the work we have been doing. I started working with Richard thirteen years ago, and I hadn't been working with him, I think, for more than a couple of months when we started talking about what would follow GPL2. The last few months, we've worked together more closely on this license than in all the previous years put together and it's been a wonderful experience. Now, I want to share that work with you, at the beginning of an even better time, which is the larger and deeper collaboration.

I'm going to spend the next hour and a half or so walking through the license, you will note that we haven't given you pieces of paper to turn but at the close of these remarks, everybody here and everybody else in the world who cares, through gplv3-dot-fsf-dot-o-r-g, will be holding a copy of the first discussion draft.

As Richard has indicated, there are a few changes directed primarily at the preservation of principles. And many changes directed at the improvement of usability, clarity, compatibility, and the international reach of a movement which has gone, in the past fifteen years, world wide.

I think that there's little that I could say that would attract anybody's interest at this stage, and so I'll stop speaking my words and start speaking the words of the license.

[0h 10m 10s]

[back to top]

You see before you, the definitions in section 0 of the license, and I have highlighted one phrase about which I want to speak a little bit more in-depth.

"To 'propagate' a work means doing anything with it that requires permission under applicable copyright law, other than executing it on a computer or making private modifications."

This strategy, of using a new term of art, "to propagate software", not reflected in any particular copyright statute, reflects an overall drafting decision to attempt to cut the language of the license loose from any particular system's copyright law.

We now speak in terms that can be defined factually, in relation to the program, or in relation to the full set of exploitation rights, or use rights, distribution rights, that a particular territorial scheme of copyright may impose.

To propagate, then, is to take any action concerning the program which is not one of those, namely the right of execution and the right of private tinkering and modification, which we regard as fundamental and uncontrollable by law.

"The 'source code' for a work means the preferred form of the work for making modifications to it. 'Object code' means any non-source version of a work."

Again, our goal is to make simpler, factual determination possible, with respect to categories that may vary as systems of law are either more or less advanced in their assimilation of their computer science knowledge.

I have highlighted here, in our definition of complete corresponding source code, another phrase added to the license for the purpose of clarification.

You will note that the complete corresponding source code for a work in object code form, includes:

"any shared libraries and dynamically linked sub-programs that the work is designed to require"

We believe that this will lay the rest controversies which have occasionally arisen in past years concerning the nature of our intentions and the role of dynamic linking as opposed to static linking in the combining of code.

From our point of view this was always a question of fact: what had the licensor intended. And we believe that the matter is now clear. As Richard has said, one of the fundamental goals in the making of this license, is to indicate the nature of our relationship in the attempt to restrict users rights in copyrighted works. For which purpose, complete corresponding source code also includes:

"any encryption or authorisation codes necessary to install and/or execute the source code of the work, perhaps modified by you, in the recommended or principal context of use, such that its functioning in all circumstances is identical to that of the work, except as altered by your modifications."

I would translate that for vernacular use, into "plays all the same movies".

[0h 14m 00s]

[laughter]

Our goal is to make clear that GPL'd software may not to be used to create forms in which tinkered versions will not run or will not run for the same purposes and on the same data. It is fine, as Richard says, with us for people to use our software for purposes that do not attempt to turn the mechanisms of freedom against itself, but when the mechanisms of freedom are used to create unfreedom it goes further than the GPL can possibly be expected to follow and we will not go there.

[back to top]

On the screen at the moment, is our modified version of what came to be known in the past 15 years as "the system library exception". Dealing with the question: when source code need not be provided for components of combined works including GPL software because the components were already available as part of the operating system or operating environment and the user could be expected to have either the source code or as much access to the source code as the operating system or environment permitted.

That version of the exception, in GPL2, was both over- and under-inclusive in ways that created difficulties. Certain behaviour, such as combining the GCC compiler or other GPL'd applications, with the C libraries of proprietary operating systems, or operating systems under GPL-incompatible licenses, had been challenged as violations of GPL where we thought that they were reasonable and permissible uses of GPL'd works. Other modalities which we considered evasions of GPL had been claimed to qualify under the system library exception.

We have rewritten it in order to bring the rather tricky business of that exception to within what we believe is in perceptible tolerance of all important cases in both directions. Here and elsewhere we have had to accept some additional complexity in order to achieve precision in the protection of freedom. We look forward to discussing all such cases in the license with you over the next year. We have never elected for complexity for it's own sake, but we want to state at the outset that sometimes, in order to do the work we have to do, simplicity must give way to the protection of freedom. And in this instance, that is clear.

[interrupted]

Chris, I should just say in the beginning that I've got a lot of ground to cover in this initial presentation. We will be taking questions at the end and over the next two days. I hope to be responsive to everyone but I want to roll through this as best I can right now.

[back to top]

Basic permissions...

[A mobile phone rings. It's that of FSF's GPL compliance officer, David Turner]

Mr. Turner will now be resigning from the Free Software Foundation in the morning.

[laughter]

Richard Stallman:

If you have brought in a portable tracking and surveillance device, please switch it off and of course if you really want it to stop it reporting your movements you should take the batteries out.

The police have already tracked you here, and of course if they're interested in what we're saying, they are welcome to attend and I believe some of them are here.

Eben Moglen:

[0h 18m 16s]

We have, as you will see, at the close of the first paragraph, taken a step which we believed was always clear and is now explicit. That is that this license is meant to acknowledge and encourage the development of fair use doctrine, we're glad there is still some vestigial fair use doctrine in the United States, and we hope that there will be an increase rather than a decrease in fair use doctrine around the world in years to come. We thought this license made that clear but we wish to make that assurance doubly sure.

[back to top]

The highlighted passage reflects, as Richard told you, the one narrowly targeted form of direct patent retaliation we have elected to include in this license.

We are not grand theorists of patent retaliation. We have been saying for 20 years, for nearly 20 years, that patents would be a terrible problem threatening the very existence of software freedom. I hope that it is clear to all now that we were right.

None the less, we believe that broad patent retaliation clauses in licenses promise more to users than they can really deliver.

[0h 19m 39s]

Because the deterrent effect of denying the right to have and use and distribute free software is not enough in and of itself to break most patent aggression schemes. Where we have satisfied ourself that narrow targeted patent retaliation may have true deterrent affect, we have however incorporated it into the license as part of a general attempt to do everything we can about the patent problem. Here we believe that one narrow form of retaliation may actually have meaningful effect, so this license gives unlimited permission to privately modify and run the program provided that you do not bring suit for patent infringement against anyone for making, using, or distributing, their works based on the program. And as Richard has already told you, we believe the operative effect of this clause would be to deny continued opportunity to maintain privately modified versions on the part of any party who seeks to use its patent claims to prevent similar or equivalent modifications from being made by others. In this very narrow field we think retaliation may actually deter aggression and we wish therefore to include it.

Please note also the way in which the next paragraph makes use of our copyright-culture-free notation scheme.

"Propagation of covered works is permitted without limitation provided it does not enable parties other than you to make or receive copies. Propagation which does enable them to do so is permitted, as 'distribution', under the conditions of sections 4-6 below."

So let us, just for a moment, attend to the question of non-US statutory copyright schemes under the new license. If the copyright scheme relevant to a particular work, place, and time, speaks for example in terms of "making available", "public communication", "public display and performance" of software, then those activities are "propagation" because they require permission.

The question now again is a factual question. Does each of those particular modes of propagation enable others to make or receive copies? If so, then the license covers that activity by a permission maintained in the distribution provisions. We are not dependent on a local incorporation of a local statutory definition of "distribution". By which change, we hope to bring to clarity another subject which was often hotly debated under GPL2 and for which no definitive answer could be given.

We cannot, any more than any other license drafter can, achieve simultaneously coincident compliance with every statute in the world. It can't be done. The statutes give different lists, and those lists are differently exclusive. By delinking our terminology from anybody's particular statutory terminology, we believe that it will be possible to localise the license to particular circumstances and territorial copyright schemes without changing the license text itself.

[0h 23m 30s]

As a free software license, as Richard has told you, this license intrinsically disfavours technical attempts to restrict users freedom to copy, modify, and share copyrighted works. Each of it's provisions shall be interpreted in light of this specific declaration of the licensor's intent. We wish courts all over the world to understand that our intent is to maximise freedom, not to restrict it, and that everything should be so understood when effect is given to it's terms.

"Regardless of any other provision of this License, no permission is given to distribute covered works that illegally invade users' privacy, nor for modes of distribution that deny users that run covered works the full exercise of the legal rights granted by this License."

Our goal here is to make clear that acts with our software that violate local law are not permitted by the license. Thus allowing private enforcement for copyright infringement to assist local regulatory enforcement of laws against spyware or user disablement.

We are not hear ruling any particular conduct to be in violation of the license, we are only saying that what is forbidden by local regulatory or criminal law, is also not permitted by an act of the licensor's intent.

Our hope is that in some cases this will assist copyright holders and licensors to see that local laws against malware behaviour are fully enforced through use of private law as well as public law sanctions.

"No covered work constitutes part of an effective technical protection measure"

That is to say, distribution of a covered work as part of a system to generate or access certain data, constitutes general permission, at least, for development, distribution, and use, under this license, of other software capable of accessing the same data.

In the United States, this language, we believe, has specific consequences with respect to the Digital Millennium Copyrights Act. We wish to point out that no GPL'd program can be regarded as a measure in circumvention of any other GPL'd program's access protection schemes. We believe that this language will also provide some assistance in achieving similar results under statutory enforcement schemes in pursuance of the EUCD and other international regulation meant to assist disablement of users.

[0h 26m 38s]

Here again we are simply speaking to courts to explain how we understand the intent of licensors. We have no power to change local law, but we do have power by giving permission to make clear where our permissions should not be mis-read under local laws that presume user disablement from mere technological existence.

[back to top]

The distribution sections, four to six, and I am here presenting four, the verbatim copying section, have been modified only slightly, in this particular instance, only to take account of the new license compatibility provisions in sections seven which I will be working through in detail with you in a moment.

Note that we are not making any change in this license which affects any existing distribution system by placing it outside the Pale of GPL. Nothing we announce today, in this first discussion draft, breaks any legitimate freedom-respecting business model currently in existence. No one must come today to the conclusion that she or he must fight to remain in the community if what you had been doing was compliant with GPL version 2 and was not based upon disabling user's freedom in some DRM-ish way. No change that we here announced would put you out of the Pale.

We have made changes to include more parties in the community, we have made changes that exclude no legitimate member of our community.

[0h 28m 32s]

[back to top]

The fundamental copyleft provision of the GPL, which was in section 2(b) and is now in section 5(b) is here before you. It has been modified in a few slight ways designed to increase clarity. A reference to the absence of any license charge in GPLv2, was sometimes misunderstood, sometimes deliberately misunderstood, to suggest some conflict with the commmercial distribution of the software.

We have removed that phrase so as to avoid a trap for the unwary mind, and we have clarified that the obligation to provide source code to those who have binary versions is based, normatively, on their possession of a copy of the binary. Anyone who has a copy of the binary is entitled to a copy of the source, no matter how they came by it.

We have slightly generalised the question of notices and when you must preserve notices concerning copyright status, attribution, and absence of warranty.

In addition, because in GPL'd works, under our enhanced compatibility provision, portions of the work may bear additional terms, either permissions or requirements, we add a requirement that any additional terms on any portion of the work, be clearly stated in one central place in the work, so that mechanical, as well as human means, of reviewing source code can immediately and unambiguously locate all additional terms that may be borne by any piece of a GPL'd work and to make clear which pieces those are.

We believe that such a scheme is administrable in the twenty-first century, as it would not have been in 1991 because sophisticated automated source-code handling reviewing and evaluation systems are already in wide use, and many members of this community, both commercial and non-commercial, are working to improve such facilities all the time.

[0h 31m 14s]

We have made a few slight changes concerning the treatment of portions of a GPL'd work which could stand on their own as separate works and which are subject to GPL'd terms, and only to GPL'd terms, when despite their possible separate existence they are distributed as part of a larger GPL'd whole.

These changes are solely for clarity, and to take account of our expanded compatibility provision. We see no operative change in the nature of our language on this point and we believe that, except with regard to expanded compatibility, no change, in fact, occurs.

[back to top]

I would call your attention here to a definition of aggregation, so as to avoid certain discussions and confusions which we saw occurring over the last decade.

"A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, in or on a volume of a storage or distribution medium, is called an 'aggregate' if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit."

And then, the phrase which became familiar in GPL version 2

"mere inclusion of a covered work in an aggregate does not cause this license to apply."

This, we believe, will allow courts and parties seeking commercial certainty, to know for sure, what aggregates are and to avoid certain edge cases which have arisen in the past and caused confusion or doubt.

[0h 33m 20s]

We wish to make clear, with respect to the problem of binary distribution accompanied by source, and which is now "non-source distribution", given our definitions of object code and source code, that we expect source code to be available on durable, physical media as an option. We have no intention to preclude continuing and expanded reliance of electronic distribution of source code, but we wish to make clear that we believe the obligation is to provide, at the users option, durable physical versions of source code verified by the distributor to make the non-source version distributed.

Given the increasingly embedding of GPL'd code in end-user consumer products, we have made one other slight change highlighted here.

[back to top]

The written offer for source code, valid for at least three years, was a sensible approach to the term of offer of source when software distribution was only software distribution. We now believe that it is reasonable to say that if you distribute a consumer product, containing GPL'd software, that you should be prepared to offer source code for that product for as long as you also offer either spare parts or other customer support, that it is not acceptable to delay the date of other spare part or service beyond a date in which you are also in a position to help people to exercise their rights as to the software embedded in the devices.

We have taken one additional measure of clarification, designed to ease a restriction in GPL version 2. If you:

[back to top]

"Distribute the Object Code by offering access to copy it from a designated place, and offer equivalent access to copy the Corresponding Source in the same way through the same place"

I am sorry to make meaning depend on a preposition, but the goal here is to prevent those cases in which it appeared that the very same server needed to be the server distributing the source code that was also distributing the non-source version of the work. A single "portal", though which the user can gain access to both the server for the source, and a server for the non-source, is sufficient, which will include pointing upstream at an upstream source supplier, provided that the source available upstream is the complete and corresponding source, and that it is guaranteed to be available for the relevant period of time. But we did not want to give the impression that in an age of web distribution and complex multi-layered, multi-meta distribution structures, that all source always had to be located on the same physical server as the non-source version being distributed.

[0h 36m 50s]

We have taken a step that we had hoped would be unnecessary, but time has proved that it is necessary, to say that obfuscation of the source provided is not permitted.

It may not be distributed encrypted. It may not be distributed packed without the packing tool, and etc. We regret that it was necessary to take that step, we should not have needed to spend those words, but there have been a few bad actors out there and they should receive no safe harbour in the license.

[back to top]

Now, I want to turn our attention to the question of enhanced compatibility. GPL version 2 was as strict a copyleft as a copyleft can be. It said you must distributed derivative works and modified versions under this license. None the less, some additional terms could be added even to the strict copyleft of GPL2. We called them exceptions. They were additional permissions.

GPL version 3, in our first discussion draft, formalises that exceptions process, as well as the imposition of certain kinds of additional requirements, on code, with the attempt to permit mixing GPL'd code with code bearing additional permissions and requirements that may come from other licenses.

The case of permissions is the simpler case, and our drafting starts there.

"When you release a work based on the Program, you may include your own terms covering added parts for which you have, or can give, appropriate copyright permission, as long as those terms clearly permit all the activities that this License permits, or permit usage or relicensing under this License."

That, in effect, recapitulates the situation under GPL2, but does so explicitly.

"Your terms may be written separately or may be this License plus additional written permission."

I wish to point out that we now make clear that we believe that permissions additional to GPL should be in writing. I am not talking to any particular development project under GPL when I say that we believe that unwritten permissions have caused a certain amount of grief because people didn't know what the terms really were, and we think that's a practice which is no longer desirable to renew.

"If you so license your own added parts, those parts may be used separately under your terms, but the entire work remains under this License. Those who copy the work, or works based on it, must preserve your terms just as they must preserve this License [...] Aside from additional permissions, your terms may add limited kinds of additional requirements on your added parts, [...]"

That is to say, if GPLv3 represented by our discussion draft, would permit sub-parts added to GPL'd works to bear requirements beyond the requirements of the GPL in certain narrow areas.

[back to top]

The three you see before you on the slide, concerning preservation of copyright and legal notices, attributions, prohibitions of misrepresentation of origins, requirements of markings: those will achieve compatibility with permissive licenses that contain various kinds of advertising restrictions or notice clauses. The goal here is to secure total compatibility with licenses which we had, previously, insignificant but none the less preventive incompatibilities.

[back to top]

"b) They may state a disclaimer of warranty and liability in terms different from those used in this License."

Our goal is precisely to permit code to acquire disclaimers which are based upon territorial laws of warranty or of representation of fitness other than those characteristic of the United States. We therefore believe that it will be possible for code to bear appropriate national or territorial disclaimers without raising needs for nationalised licenses or some additional scheme to permit amendments. All such licenses will be compatible, and the additional requirements of warranty disclaimer will simply additively apply to code as it moves around the world. And, c, additional requirements may:

[back to top]

"prohibit or limit the use for publicity purposes of specified names of contributors, and they may require that certain specified trademarks be used for publicity purposes only in the ways that are fair use under trademark law except with express permission."

These three terms put together will put to rest, we believe, incompatibilities with all the generally permissive free software licenses with which GPL2 was incompatible for reasons it was not our intention to see long term as barriers to the sharing of collaboration of code and projects.

Two more classes of restrictions additional are also permitted, and these are classed as more complex and require more discussion.

[back to top]

The requirements added to additional parts of the work may require

"that the work contain functioning facilities that allow users to immediately obtain copies of its Complete Corresponding Source Code."

This is a generalisation of an experiment that we tried in the Affero GPL.

[0h 43m 13s]

It is the only step that we take, in this license, towards dealing with the question of modified versions of software performing remote services. Our position is that if you develop code under GPL, that performs remote services, you may include in your code, a facility that allows the client side receiving such services to request immediate transmission of the server-side code.

You can require, in your terms, that that facility not be removed. We have not added such a term to GPL, we do not plan to add such a term to GPL. We merely say that the GPL will be compatible with the imposition of those terms by so many developers as wish to do so, and therefore those who wish to develop such code, and protect against others offering similar remote services on the basis of modified versions may do so. GPL does not enforce such a restriction, nor does it prohibit mixture of code bearing such a restriction, and we believe that balance is appropriate given the division of opinion in the community and the diversity of models of use of our code, commercial and non-commercial, at this time.

[back to top]

Part (e), which is phrased with some complexity, unfortunately, but it is necessary, states again a position on a subject of great controversy on which we wish to secure flexibility. Part (e) contains a two-part definition of what we consider defensive patent retaliation, and we say that you may put defensive patent retaliation additional requirements on your parts of a GPL'd work, if you wish to, and those parts will bear that requirement but can be ad-mixed with other GPL'd code.

Again, we do not enforce those requirements, but we do not prohibit code bearing such requirements to be mixed with GPL'd code. The definition we have offered is a meta-language definition of defensive patent retaliation terms. We have worked it very carefully, we have subjected it to formal verification process, and we believe that it correctly describes all of the cases that it is our intention to include, and none of the cases that it was our intention to exclude. I will say here about those conclusions that the patent retaliation provisions of the ASL 2 and the patent retaliation provisions of the Eclipse license, in our working of this example, meet this standard.

Accordingly, we believe that without further alteration, were this discussion draft to be GPL3 it would have attained full compatibility with both ASL 2 and the Eclipse license, which are presently separated from compatibility with GPL version 2 by their patent retaliation terms and those alone.

[0h 46m 55s]

"No other additional conditions are permitted in your terms;"

...beyond additional permissions, and the requirements delineated in this exclusive list A through E...

"therefore, no other conditions can be present on any work that uses this License. This License does not attempt to enforce your terms, or assert that they are valid or enforceable by you; it simply does not prohibit you from employing them."

Therefore no other conditions can be present on any work that uses this license. This license does not attempt to enforce those additional terms, or assert they are valid or enforceable, it simply does not prohibit one from employing them in ad-mixture with GPL'd code.

This system of enhanced compatibility requires some administrative provisions in section 7.

When others modify the work, if they modify your parts of it, they may release such parts of their version under this license without additional permissions by including notice to that effect or by deleting notice that gives specific permissions in addition to this license.

This implements a term which was found in many of the formalised GPL exceptions that were built up over the last fifteen years including those authored or edited by the Free Software Foundation itself.

Additional permissions placed on code from which you derive are explicitly optional, and as you modify those parts, if you wish to remove the permissions, you can. It is clear, however, that additional requirements such as those about remote services or those about patent retaliation, cannot be removed when you modify the code from which you derive whatever you make because nobody has the power to remove those requirements but the party who placed them on its code in the first place.

[0h 48m 52s]

"Unless the work also permits distribution under a previous version of this License, all the other terms included in the work under this section must be listed, together, in a central list in the work."

As I said, we believe that this provision, requiring a single central list of all additional terms, will facilitate automated compliance activity to ascertain easily and quickly all the terms that apply to particular code within a larger GPL'd work. The first part of that sentence is an example of a general drafting requirement.

We have many programs in the world that are presently circulating under a GPL2 "or any later version" and will therefore be subject to the activity of the automatic reversioning clause in GPL2. We have been sure in our drafting that no such program ceases to be in compliance with GPL3 if it was in compliance with GPL2. A property of the current discussion draft which we must preserve as we work on this license in the coming year. It is not acceptable for us to wind up with a final draft in which GPL2 compliant programs in current use and circulation are not able to make the version transition to GPL3 by virtue of something that's already true of them which would suddenly make their distribution, as currently undertaken, license violating.

[back to top]

Richard Stallman:

I'd like to add a few things to that. That's true about the parts of the license that concern how things should be labelled, and so on, that is, bureaucratic requirements. We're trying to make sure that no bureaucratic requirements that we add cause trouble for the existing, or theoretically future, GPL "version 2 or later" programs.

In some cases we've made substantive changes in requirements such as in the exception for certain libraries from the complete corresponding source code, and that substantive change might, in fact, cause certain ways, well not the actual source code of GPL'd programs, but certain ways of distributing them as executables might be left out.

It's the bureaucratic kinds of requirements which we're trying to make sure doesn't cause any problem for them. Now, we've done our best, but we may have overlooked something, and that's one of the specific kinds of things that we hope people will check.

If you see anything in there, with some kind of requirement for how to do things right, might cause trouble for programs that are already out there, that are fine under GPL version 2 and say "GPL version 2 or later". Please tell us about them, those, we really need to fix, if there are any mistakes there.

[back to top]

Eben Moglen:

You see before you a slightly modified version of the termination clause. The verbal change is slight but it's effect is somewhat more substantial.

"You may not propagate, modify or sublicense the Program except as expressly provided under this License. Any attempt otherwise to propagate, modify or sublicense the Program is void, and any copyright holder may terminate your rights under this License at any time after having notified you of the violation by any reasonable means within 60 days of any occurrence."

And then, as in GPL2:

"parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as they remain in full compliance."

The automatic termination provision of GPL version 2 was crucial to the enforcement of the license in the state of affairs that prevailed for us in the 1990s. We had a very slim compliance staff available, and we were, at the Free Software Foundation, the only party in the world full-time recurrently engaged in enforcing the license.

Automatic termination meant that nothing depended on our notification and it allowed us to work to get parties back into compliance by beginning from the proposition that they had already lost their right to distribute by the act of violation.

[0h 54m 03s]

We live in a different world at present where far more people are far more surveillant of the possibility of infringement of the license and where world-wide commercial and non-commercial use of the software has burgeoned to the point at which automatic termination, though still beneficial to compliance, raises too many other costs and difficulties. Particularly for parties engaged in what we think of as whole-distribution inadvertent violation situations, where unintentional violation of the license left the party vulnerable to compliance activity including injunctions or damages claims from a very large number of complainants.

The Free Software Foundation historically acted as an aggregater of claims under those circumstances. We tried to contact all parties who might conceivably have claims so as to be able to assure a party in non-compliance, that if they got into compliance and worked matters out with us, that they could achieve peace in a practical way from everybody.

It is now a better system, for all parties, we believe, to move to a regime in which if you cure a violation promptly and hear no complaint for 60 days after-cure, you know that you have brought any theoretical liability to a conclusion.

The stress therefore is upon the deterrent effect of an opportunity for prompt cure followed by a responsibility to deal with those parties who promptly notified you that you were outside of compliance.

This, we believe, is a system which will not inhibit any of the ongoing compliance activities of the foundation, or others around the world, who have begun also to act in defence of freedom, and which will provide a much more effective environment for dealing with the large number of claims potentially arising from a non-compliant whole-distribution situation.

[0h 56m 15s]

[back to top]

This would not be a presentation about the GPL by me if emphasis was not placed on what you see before you now. This license is

"9. Not a Contract.

You are not required to accept this License in order to receive a copy of the Program."

We have not argued now, nor will we, nor can anyone argue, who reads the text of the language, that the receipt of the code is some quid-pro-quo for the acceptance of some terms. If you are existing in a legal system in which that wasn't what made it a contract, then ...go with God, but arguments based on the contractual exchange of the code for promises of compliance have nothing to do with us. We give permissions here and the enforcement weight of our license lies in the fact that you have no permission to propagate, that is, you have no permission to do what copyright law requires permission to do, but through this license. That's our legal theory and we are sticking to it.

The reason that's our legal theory and are sticking to it remains the one we gave before. There are 168 or 183 contract law schemes in the world and the more you depend upon them, the more variability you will have. Berne is good, the harmonisation of copyright is good, for us. Our rules will use a toolset that is as close to global standard as we can get.

[back to top]

Richard Stallman:

[0h 58m 15s]

That doesn't mean that we are in favour of copyright law as a general matter.

[laughter]

We're not totally against copyright law, in a simple or blanket sense either, but we're not defending the global copyright system that has mostly been imposed on the world merely because we use it because it's there. And that has to be very clear.

We are not endorsing the Berne plus WTO system of copyright law as it stands as a good thing, but it exists and whatever harm it may do in other areas, we're trying to do some good with it when we can.

Eben Moglen:

Richard would also agree, I think, that the copyright law of 1897 was better than the copyright law of 2006.

The automatic licensing of downstream users provision that you see before you is modified solely to take account of expanded compatibility provisions.

What was a straight forward proposition under pure copyleft, that every downstream user receives from every upstream modifier or other licensor an automatic license under GPL requires a little additional rephrasing when terms both permissive and requirement based may be added to sub-parts of the code.

[back to top]

Now, in section 11, we reach, as Richard told you in his opening, the next major area of change under the license. These two paragraphs point in different directions and I want to take them separately.

The first paragraph is simply a grant of patent claims that every distributor, licensor, modifier makes in the act of propagation that allows others to receive copies.

"When you distribute a covered work, you grant a patent license to the recipient, and to anyone that receives any version of the work, permitting, for any and all versions of the covered work, all activities allowed or contemplated [...] This patent license is non-exclusive, royalty-free and worldwide, and covers all patent claims you control or have the right to sublicense, at the time you distribute the covered work or in the future, that would be infringed or violated by the covered work or any reasonably contemplated use of the covered work."

GPL version 2 depended on the implicit patent license in US patent law which is assumed to burden any manufacturer who distributes any product practising its own claims. That implicit patent license, in US law, had the protection of obscurity, and we appreciated that. Unfortunately, we can no longer afford any obscurity with respect to patents and it was a creature of US patent law, absent in most of the World's patent systems, and actively disclaimed by some. It was therefore clear to us that a deliberate and explicit grant of patent rights would be necessary in the license, and this is it.

[1h 01m 51s]

Those who have fun making patent licenses -- a sub-group of a sub-group of a sub-group in this room -- may be able to improve on that one, and we certainly encourage the attempt.

The last sentence is a different kettle of fish altogether.

Here, we face a problem that we all, or at least those of us steeped in the patent problem as it presently exists, know is there but which everybody has been reluctant to deal with and we now serve notice that something must be done.

"If you distribute a covered work knowingly relying on a patent license, you must act to shield downstream users against the possible patent infringement claims from which your license protects you."

This is not about restrictions upon you put by that patent license. That remains covered by the, used to be section 7, now section 12, that I'm about to show you. This is not about what happens if your license contains terms incompatible with GPL, that's a separate question. This question is: what to do to prevent patent distributors from in-succinctly putting their customers or beneficiaries in a position of a danger from which they themselves are exempt by non-sublicenseable licenses.

We recognise that for parties who have extensive portfolios that are extensively cross-licensed, what we are saying here for the first time creates questions concerning their cross-licenses in relation to their distribution.

We recognise also that to say that you must "act to shield" is not explicit enough. We recognise that this is a very hard problem and though we have worked long at it we have no unique solution to offer you, even as a beginning for conversation.

In this coming year, those of us within this group who care about this problem, who are affected by the question, who have deep knowledge of this issue, who bear many patents as a badge of ...well, whatever it is that bearing many patents is a badge of, will have to work at it together, but we believe that the community must now face that question: how to prevent people from being deliberately endangered by those who are not suffering with them a common fate.

Note that the words are "if you knowingly rely on a patent license". We are not speaking about what happens if you have many 10s of thousands of patents and cross-license for many 100s of thousands more and have no idea whether a particular claim that you may have cross-licensed might read on some code you might be distributing.

[1h 05m 12s]

And the question of what constitutes reliance on a license is also open for discussion but the basic principal is one we believe we must now deal with, that parties should act with recognition of the danger that patents pose to their customers, their colleagues, their distributees, and that we should demand of people that they affirmatively act to do what they can as part of a community to constrain the harm that patents are doing to that community at large.

[back to top]

The Patrick Henry provision:

"12. Liberty or Death for the Program.

If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License."

We always thought that was pretty obvious and straight forward but it's implications aren't quite so simple.

"If you cannot distribute the Program, or other covered work, so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute it at all."

Again, we always thought that this was straight forward. We wish to point out, both in that language and in the illustration, that an agreement which imposes obligations on you, like a court order or other judgement, raises the problem which we used to call a section 7 problem and we shall now find ourselves calling a section 12 problem, ah, raises a section 12 problem because those condition because those conditions are imposed on you. Whether you have self-imposed them or they have been externally imposed, it's the fact that you have conflicting obligations that prevents you from distributing. It's not a punishment, it's the observations of a fact. It's not good enough to say "I have to violate the license", you just can't.

This has always been seen as being about the patent problem, and in some sense it is. It wasn't the only way you could get into section 12 trouble, but it was the way which was most commonly understood in the course of the last few years as the patent problem became ever more severe.

[1h 07m 45s]

However, there were also cases in recent years where people seemed to want to use section 7 as a device of explosion -- an improvised explosive device if you please -- inside the GPL. Some people seemed to have come to the conclusion that merely by yelling "patent", or by offering a license incompatible with GPL, that they could somehow prevent GPL'd distribution of works. We knew that that was bogus, and we thought that it was important to make it clear in this license. If you impose conditions on yourself, or if conditions are imposed on you, then this clause has effect. If you are threatened, or if bloviation occurs in your neighbourhood, that has no effect, and we hope it will continue to have no effect in the future.

[back to top]

Richard Stallman:

The need for this provision was underlined by a recent article talking about a GStreamer plug-in which includes source code distributed under an X11 license, or so it says, but then when you read further, you see that in fact, that's not the whole of the license, there's a patent license involved also, and that in fact it's not free software at all.

And this was presented as a way of making things better for our community, so if you believe that a non-free program can make things better for people, that it's a step forward, as the author of the article I read did, then you might think what they did was great. But if your goal is to defend user's freedom, to establish a community of freedom, to spread the idea that freedom is important, then you cannot accept the idea that such a thing is a positive step, it's a surrender, not an amelioration. And so, the liberty "liberty or death" article of the GPL is just as important as it ever was.

[1h 10m 13]

[back to top]

Eben Moglen:

I have always thought of this as a "truth in labelling" provision, that code labelled "GPL'd", and therefore free, had to be, in fact, what it said it was, and that anybody who couldn't produce the freedom under which they were labelling the software oughtn't to be able to apply the label, and if the only terms on which you could distribute were by applying the label of freedom then you couldn't distribute at all.

But whether it is or is not about truth in labelling, it is, as Richard said, about protecting liberty, and therefore I withdraw my dissent from the title.

[back to top]

Richard Stallman:

The reason I wouldn't call it "truth in labelling", is that it applies to people who are redistributing software. If you could choose any label, and we only insisted "well, don't call it GPL covered", that would be truth in labelling.

That supposedly X11 licensed program that isn't really, that's an example of dishonest labelling, but since we say that modified versions of GPL-covered programs can only be released under the GPL, we're not offering them the option to label it differently, so we shouldn't describe this as "truth in labelling".

Eben Moglen:

Now you know how we have spent September, October, November, and December of 2005, though it was noisier sometimes.

[laughter]

[back to top]

GPL version 2 contained in section 8 a provision concerning geographical limitation. In 1991, encryption regulation in the United States had not yet given away to reason and there were many reasons to think, including the looming patent problem, that it might be necessary to permit licensors of GPL'd code to rule certain parts of the Earth out while still distributing under GPL in other places.

[1h 12m 15s]

There was some very limited use of section 8, but we believe that it is not necessary to include in the license, and we have included it in the current discussion draft of version 3 as a section slated for removal. Unless, in the coming year's conversation, parties can show reason for why it ought to remain in the license, we propose to remove it from GPL3.

[back to top]

We have not altered the revision clause of GPL, but I would like to remind you of it because it bears closely on what will happen at the other end of the conversation we are about to undertake. We have said in GPL2, as we say in the current draft of GPL3, that FSF:

"may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns."

A statement in GPL2 which we believe the draft we submit for your consideration and discussion today fully bears out.

[1h 13m 35s]

Under the effective provision following, it will be possible automatically to reversion each "GPLv2 or any later version" program for any party who modifies or redistributes the code after the effective date of GPL3.

Some projects have chosen to distribute code under GPLv2 only, and those projects will make a direct and deliberate decision whether or not to relicense their code under GPL version 3.

We have no power over those projects decision making though we hope that by making a better license, they will be convinced that it is wise to change versions.

There are many projects that are "GPLv2 only", though there are comparatively few of significance in current commercial and non-commercial widespread use, but for those developers, some present here and some not present here today we are after all in the position of offering a license.

For all the code, the vast bulk of GPL'd code, which was released under "version 2 or any later version", what we do in the course of our conversation leading to adoption in the license will involve automatic reversioning. Decentralised, in every hand which redistributes, or modifies and redistributes, code.

I remind you of this in order to remind you that most of the version transition at the other end of our process will be smooth, quick, and automatic. And some projects, in which some developers here, and many developers elsewhere around the world participate, will make a relicensing decision of a kind more traditionally associated with how copyright licenses are changed.

We will interact with every such developer who cares to come into the process to discuss his, her, or its needs and desires for the license. And we wish them the best in making their decision, but we are not attempting to coerce any decision by any such project. They reserve choice, waiting to see what the future held, and we will simply go about the business of making the best license that we can.

[1h 16m 19s]

[back to top]

Richard Stallman:

I do want to say, though, that projects that do that, that distribute only under a certain version of the GPL, should take steps to make sure they're really in a position to consider moving to the next version. If they don't do that, they're likely to be stuck, and that would be rather unfortunate.

[back to top]

Eben Moglen:

The warranty exclusions that were in GPL2 have not been changed saving one way: I took them out of all uppercase.

[laughter]

I've wanted to do that for a very long time. I've wanted to do that for a very long time because no lawyer on Earth knows what they aren't in mixed case and everybody seems to think that everybody else knows and that he's the only one that doesn't know and he was absent that day in law school.

Sometimes, you just gotta do what you gotta do. Of course, it's also the case that most lawyers in the world don't live in the United States, or even in the United States and the UK, and they don't know about the mill wheel that broke and the shaft that wasn't delivered, and they didn't understand what we were talking about anyway and we have tried to address that problem in a different way, but at least we're no longer shouting.

Richard Stallman:

Is it really true that most lawyers don't live in the US? I thought we had far more lawyers per capita.

Eben Moglen:

Richard has met so many lawyers in the United States that it hasn't actually sunk in yet that even that is only a small part of all the lawyers there are.

[1h 18m 05s]

We have added one last statement to the collection of statements about warranty. There were no ABS braking systems containing embedded free software in 1991, nobody was running railroad trains or flying airplanes with guidance systems with embedded GPL software in them and the question of use of freely modifiable software in safety critical applications was not then on our minds.

It is now necessary, I fear, to disclaim one additional matter with respect to liability, and we assume that those who do provide free software under GPL in safety critical systems will exercise their right to add a warranty for a fee as provided for by the license, but as-received, GPL software is not warranted to perform correctly in conditions where correct performance is necessary to save lives.

[back to top]

[end of slides, giving conclusion]

That's a quick run through of the text of this license. You may think to yourself "it should have been shorter". "how could it have taken 28 slides?"

The answer is, protecting freedom is hard work. We know, we've been doing it a long time, and it's not as simple as it looks at the beginning. We share with you the wish that the license were shorter, and we've got a year to figure out how to do it. But I will tell you this: that the requirement that you know what the consequences are of what you do and that you can verify, as best humanly possible, that the unintended consequences won't wear away what you had in mind have worn very heavily on us.

We've spent hours marching up and down and waving chalk and arms and bellowing in order to keep bad things from happening with consequences that somebody hadn't foreseen.

I look forward to a lot of conversations with a lot of people who have a shorter GPL3 in their back pockets and want me to read how neatly they got it to fit on the back of a matchbook.

I look forward to it in much the same way that those patent office examiners look forward to the next perpetual motion machine that wanders in. I don't want to declare that it can't be true, there's no second law of thermodynamics that says this is the shortest possible GPL3, but I fear that doing it short and sweet, though many people will be itching to try, as early as lunchtime, is tougher than it looks.

[1h 20m 58s]

We look forward to hearing that we can do what we have done in fewer words, or even that something we have done could be done more simply and just as safely, but safety first has to be our goal, and we believe that the complexity incident to the license is the complexity necessary to achieve safety.

[back to top]

Richard Stallman:

By the way, I don't think we were using any chalk. We were using computers to write things down.

Eben Moglen:

Yes, I was using the chalk after you went home at night. Sometimes I had ...chew it.

Richard Stallman:

Did you eat it?

Eben Moglen:

You see how it is. There was chalk involved, he just wasn't around for it.

Yeh, it was curing my indigestion actually.

Some rumours necessarily flew while we were working. Secrecy was not our goal for it's own sake. I'm glad that we got here without leaks. We needed quiet to hear ourselves think. But it wasn't to exclude anybody. It isn't that the hard work's been done and now it's over and there's nothing to be done but clean up the cupcake crumbs.

We've got a lot of work to do. The work we have to do is the work of collaborating. It's "many eyes make bugs shallow", it's "new ideas bring new opportunities, new applications, and new promises". This is free software we are making.

We wanted to start the conversation in the right place. To pitch the conversation on ground we knew was safe and informative to avoid unnecessary disputes about matters that we didn't think in the end would be realistic to put in the license and to be flexible where flexibility would be desirable from the outset.

We weren't trying to be argued into flexibility, we were trying to engineer flexibility in where it could safely be used from the beginning. We believe that by enhancing the licenses compatibility with other licenses, from the outset, in this draft, we eliminate the need for contestation over the One Right Way where there is no one right way.

[1h 23m 15s]

And we believe that by not promising more in certain areas than a license-giving mission can deliver, as for example by not resting too much hope on patent retaliation to cure the patent mess, that we avoid breaking our fundamental promise to users that the license offers them a freedom which is real. Not nominal, not merely a promise, but something on which the system in which were are all a part can really deliver for them.

We hope that everyone will approach the forthcoming conversation in the same spirit. We don't need to foreclose options where compatibility will do. We don't need to insist on unique answers where freedom doesn't require a uniqueness of outcome. We are still in the business of giving permission, not in the business of constraining outcomes.

No one on Earth, not Richard, not me, not any of you in this audience could have foreseen accurately in 1991 all of the ways in that free software would be in use in 2006, nor all the business models, research projects, firms, aggregations, distributions, live CDs and all the rest that were coming about.

The flexibility of the license made it possible to do what was done, and the strength of copyleft kept it from all winding up in some one guy's pocket.

We need to preserve both those characteristics for the next few years. It is just as important to remain flexible because everything that can be done with computers is being done with free software and more things can be done all the time and it is just as important to make sure that freedom doesn't wind up in anybody's sack, because the sacks are still there, the hunters are still hunting, the idea that every device on earth ought to run all the same thing and "i ought to own it" is still an idea in far too many brains. And freedom still means what it meant before: the right to use, the right to copy, the right to modify, and the right to share.

[1h 25m 45s]

We think that we have put the conversation where it ought to start. We think that we're getting off on the right foot, we think we've put the issues out where we can see them, but we are sure that there are issues we haven't seen. So the process that begins after this conference is a process of illiciting comments, and making issues, and finding the arguments, and resolving the issues with opinions based on reasons.

I'll talk, this afternoon, in more detail about the process itself and how all of us, in committees, out of committees, on websites, in our follow-up international conferences, can participate in those activities. Making comments, finding issues, evolving arguments, and assessing reasons given for outcomes. But right now, what I want to say is I'm really glad it's all about to be your problem.

[laughter]

There's been a lot of trying to make it your problem while we weren't telling you what we were up to. There's been a lot of figuring out how to make a process and how to make a discussion draft that would maximise your power to contribute.

I take that seriously, as I know Richard does, as the fulfilment of the commitment in GPL2 that the licenses to come would obey the same spirit. That word, "spirit", appears once in the license and about the spirit of the license and I think it's appropriate to close this presentation by reminding ourselves of what that spirit is.

It's the spirit of tinkering. It's the spirit of hacking. It's the spirit of making the unexpected invention out of the materials lying around to hand.

"You mean you can make a resonating antenna for wifi from a potato crisp tin?" Yes.

"You mean you can make freedom from a copyright condition that's not a contract?" Yes.

[1h 28m 09s]

What we have is an achievement that we all made over a decade and a half. What we do now is to keep it safe, to make it bigger, to add more people with more expertise -- and I don't know how Richard feels about it, but I will say right now at the outset -- so we make it possible for the Alte Cockers to retire and somebody else to do this next time around.

With that, I want to close the formal part of the presentation. I know there will be more questions than I can take, but I'd like to take a few.

[back to top]

Richard Stallman:

I'd like to say a couple of words first. When I give a short speech I tend to forget some points. I'd like to apologise to people for the difficulties occasioned by holding this event in the United States. I'm sure for some of you here this caused a certain amount of nastiness, and for others a fair amount of inconvenience. Some people refused to even try to come.

Someone said that the nasty treatment he expected wouldn't end with going to the US consulate. Some people tried to come here and couldn't. One was not allowed onto the plane. Something was inadequate about his passport, he was told by the airline.

Others got no response from the US consulates, even though fees were paid to expedite their visas.

We looked at the possibility of holding the event elsewhere, or of holding parallel events, seeing if we could arrange communication between them. It didn't seem to be possible and ultimately, we decided to hold it here, and that means all we can do is apologise.

[The question and answers session is begun]

Eben Moglen:

Who wants the honour of throwing the first tomato.

[laughter]

[1h 30m 26s]

...