DMC - Copy/pasted latest version of the Notes Simon and I made from his blog as he's been doing typo corrections in real time.
Using the miracle that is SubEthaEdit, Danese Cooper and Simon Phipps collaborated to produce the notes below during this morning's plenary session at the GPL v3 conference here in Cambridge, MA during the launch of the draft of GPL v3. Apologies for any errors - let one of us know what we got wrong.
Update: Fixed a number of typos and non-critical stuff in the Q and A.
Notes on Eben Moglen's presentation discussing GPL v3
- Instead of distribution, used "to propagate" - trigger not in any existing copyright statute.
- New language to tackle DRM - complete corresponding sourcecode also includes any encryption or authorization codes necessary to install or execute the source code of the work, Eben calls this "plays all the same movies"
- New "system library exception" - handled in a "special restriction" - aimed to clarify that many previously disputed combinations of code were actually within the spirit of the GPL.
- Patent Peace - no private use if you've started patent infringement against anyone within the scope of the license.
- Manifesto down to two paragraphs - includes statements on loss of freedom which may suffer from further interpretation...
- Language to assert that no GPL program can be a "circumvention device" for any other GPL program, by definition. Intent to ensure that the world of GPL cannot be impacted by DMCA & equivalents.
- Emphasised that the new wording seeks to ensure that there is no new exclusion of any "legitimate member of the community"
- Language covering embedded notices (copyright status, attribution, right of warranty). Portions of the work can carry additional terms. Each user interface must include a means to display copyright & warranty statements. One place to set those notifications for "machine readable" methods.
- "Separate works": although they stand separately under other licenses, may be distributed as part of a larger GPL whole. This is a clarity change not substantive change according to Eben.
- Aggregate work concept allows use of software in compilations without triggering GPL by inclusion of extra language.
- New requirement forces physical media availability...'for as long as you offer spare parts or other customer support". Still the option to provide online source as long as it is offered in the same place as the binary. (main change was extension of 3 year obligation)
- Obfuscation not allowed
- Add your terms section - permissions additional to GPL should be "in writing".
Compatibilities - Apache and others: limited types of additional
requirements may be added (add-on clauses permissible)
to preserve certain notices or author attributions
disclaimer of warrunty (trying to reduce national licenses)
limit use of trademarks and specific names use
allow users to obtain copies of code
allow additional defensive patent retaliation - ASL and EPL meet
this standard according to Eben.
Removal of notices: remote services or patent requirements must be on
a single aggregated list "unless the work permits distribution under a
previous version of this license"
60 days notification prior to termination...auto-termination gone
(justification in prior time was "not enough staff"). Now if you cure
a "violation" promptly (60 days) and get no additional notification
you can consider yourself "cured". FSF will continue to do compliance.
Not required to accept the license in order to receive a copy of the
program (no contract is created, still) 183 contract law schemes in
the world...can't standardize globally...RMS statement against global
copyright system. "We use it because its there. BERN + WTO not a good
"You are not responsible for enforcing compliance"
When you distribute a covered work, you grant a non-exclusive,
worldwide and royalty free patent license (no essential claims
Prescribes what to do to prevent distributors from putting their
downstream customers in danger from which they themselves are exempt.
You must cascade protection you have to those receiving source from
you. Request for help from patent holders and those who care about
patents to work on this together.
"Patrick Henry provision": If you can't distribute legally due to
external conditions then you can't do so at all. G-Streamer plug-in
under X11 license + patents and others (sum effect making it
non-free). RMS calls the "Liberty or Death" and Eben calls it "Truth
Geographical restrictions clause to go, rarely used.
Revision clause of GPL...up to copyright holder to decide w/ each
version (btw, the software written by Bradley Kuhn's team at SFLC and
used to support public comments is licensed under GPLv3, so it will be
the first software to use the license). SFLC will interact with every
project that requests information. Not coercing anyone to pick it up.
RMS says projects using earlier GPLs should "take steps to make sure
they are in a position to move to GPLv3".
Warranty exclusions not in all uppercase anymore. Added separate
liability disclaimer for safety critical systems...can add warranty
for a fee.
Hoping to "shorten" the license, length of this preso notwithstanding
Keen to avoid language that deals with disputes that E & R regarded as
In the business of giving permission, not constraining outcomes...glad
its up to the GPL community now :-)
RMS closing remarks - United States not optimal venue for some participants so apologizing...
Notes from the subsequent audience Q&A session
- Chris DiBona:
- Safety clause...are they allowing additional clauses? Possible RTOS problems.
- No, just outlining risk and need to pay for separate warranty. Andy Wilson: Add-on clauses (compilers for example) - are additional permissions such as those used by Classpath permitted? Eben: yes, they are additional permissions in the scope of section 7.
- Intent behind patent protection language? IBM and Microsoft: Microsoft recieves or authors GPL code and distributes, knowing that it infringes on IBM patent...does Microsoft need to protect me from downstream patent risk?
- Yes..if you don't have sublicense to protect downstream sublicensees, then you must take other precautions
- Knowledge (of the existence of patent issue) is the key?
- Yes...we are not asking people to be more diligent in discovery.
- In the event of patent claim unrelated to distributed work?
- Not involved in this. We will not abate the patent problem until everybody realizes we are all in it together.
- Henry Poole:
- 60 days to cure? What if they were violating 120 days ago?
- The goal is not to "catch" people who were violating for 5 days, 80 days ago, but have now cured the violation. If you didn't complain within 60 days then they are off the hook if they've cured...the goal is not to give a short statute of limitations, its to close the set of possible claimants. Most problematic situation: someone is distributing a large collection of free software packages and they fix it once we contact them? How do we help them now that they are liable to potentially hundreds of claimants? We used to help them round up all possible claimants but it wasn't workable. Now that class will be closed quickly. Don't believe it will hobble enforcement.
- Compatibility provisions are a good thing. Which licenses remain incompatible? Old BSD or OpenSSL?
- BSD Advertising clause not allowed. Don't want to make GPL compatible with things we are campaigning against.
- Goal of permission side is to take existing permissive Free Software licenses and make them compatible. Repugnant terms still not accepted, and there are still a bunch of existing licenses with patent retaliation clauses not compatible with GPLv3. Overbroad retaliation will still be a problem.
- Jeremy Allison:
- [Call for round of applause as there was no opportunity after the session. Audience responds warmly] DRM provision: with a proprietary chip that runs a particular signed version of GPL'd code...how does the new version compat that?
- Take an OS (the Hurd) and say you sell boxes that run Hurd from boot if and only if it is a signed copy. Signature codes will have to ship with your distribution. Tommy in his bedroom will be able to sign, boot and run or the distributor will be in violation.
- Promise to protect (warranty)...what is the effect on small developers?
- If you were relying on a patent license (not normally affecting small developers, but more large businesses). This is spoken to about 8 gentlemen in this room...they know who they are :-) Need to get a little more skin in the patent game.
- Yidong Chong:
- v2.2 project that hasn't aggregated copyright...do they need to get permission?
- Each distributor gets to make decision. Up to legal structure of project. SFLC is here to answer those questions.
- Most projects have no legal structure, so this is a problem, especially if code is licensed as "GPL v2 only" and has not stated "or any later version".
- Yidong Chong:
- Can you delete the previous version of the license when you implement the new one?
- Chris DiBona:
- Has a number of developers who work on GCC. Interface with patent covered libraries language makes him worry that GCC changes might not be able to run on Windows or Solaris for instance. Morale difficulties.
- Which is why we changed the provisions...is it inappropriate to link GCC? v2.2 didn't make it clear (although Eben & Richard believed it was clear), FSF thinks it should be permitted explicitly, hence the clearer OS exception.
- Chris DiBona:
- Looked like it said if a patent license is required, then you can't link. When someone uses licensed interface (Bruce Perens: TCPA)
- There is a problem. Not acceptable to put patented enhancements in userland. Patent claims that read on general interfaces are not an issue...OpenSolaris example therefore not a problem, but there are some similar sitations that might be a problem.
- Warren Togami:
- What about cases where binaries are signed for authentication rather than for restriction of use?
- In general, if the user has control of the keys then you are okay...its when you take away control from the user that incompatibility happens.
- So what if its a "one-time key"?
- Yes that would work as long as the user can control
- Please submit as a comment, it seems to need clarification.