LWN.net Logo

LWN.net Weekly Edition for May 23, 2013

Google releases a draft VP8 patent cross-license

By Nathan Willis
May 22, 2013

Two months after its surprise announcement that it had reached an agreement with the MPEG Licensing Authority (MPEG LA) over the VP8 video codec, Google has posted the first public draft of the patent license underpinning the agreement. The terms of the license allow free access to any patents asserted against VP8 from MPEG LA or its eleven co-signatories, subject to certain restrictions. Not everyone is happy with the terms as written; Open Source Initiative (OSI) president Simon Phipps, for instance, argues that the terms pose several specific problems for open source projects. A draft agreement may still change, of course, and Google still insists that VP8 is usable even without a patent license.

License to bill

The VP8 agreement between Google and MPEG LA was announced in March. Its terms were not revealed in detail, but MPEG LA and eleven other patent owners granted licenses to Google on all of the patents "essential" to VP8 (or its successor VP9), and granted Google the right to sublicense those patents on a royalty-free basis to anyone developing an implementation of VP8—whether based on Google's code or not. At the time, there was a lot of speculation about what changed hands behind the scenes (primarily if what changed hands was cash), as well as about the identities of the eleven entities joining MPEG LA's side of the agreement.

Google promised to post the terms of the resulting VP8 sublicense agreement shortly, and its draft incarnation was posted on the WebM project site (WebM uses VP8 for video, of course) during the company's Google I/O developer conference in May. This sublicense agreement is a patent cross-license only; it is separate from the software license for WebM code itself (namely the libvpx library) and from Google's WebM Intellectual Property Rights Grant, which grants a perpetual, worldwide, royalty-free license to all of Google's patents on VP8.

The overall terms of the draft cross-license agreement are that a licensee gets access to all of the essential patents on VP8 owned by MPEG LA and the eleven other participants, on a royalty-free basis. In exchange, the licensee agrees to cross-license all of its VP8-essential patents to Google and every other VP8 licensee. Google's grant is retroactive as well, so that licensees are released from any past infringements on the patents covered; there is also a defensive termination clause nullifying the agreement for any licensee that sues Google or another VP8 licensee on patent infringement grounds over VP8. The text, interestingly enough, always refers to VP8; whether the final version will address VP9 as well or whether there will be separate terms for the new codec remains to be seen.

However nice the broad strokes may sound, the agreement also includes several key limitations. First, accepting the license requires action on the licensee's part: either signing and mailing a copy of the agreement to Google, or clicking on an "Accept" button on the web form (although at the moment this web form is not yet available). Licensees must also provide their name and other as–yet unspecified information, and agree to let Google publicly disclose the fact that they are parties to the agreement. Perhaps more troublingly, the agreement must be accepted by every legal entity wishing to take advantage of it—in other words, licensees cannot sublicense their participation to downstream users or customers. Finally, there are specific "field of use" restrictions on the circumstances in which the cross-licensed patents can be used:

“Licensed Field of Use” means (and is limited to) encoding, decoding, transcoding, and/or playing VP8 Video. For the avoidance of doubt, any other function that might be performed, used or enabled by a Licensed Product (such as encoding, decoding, transcoding or playing video in any format other than the VP8 Format) is beyond the Licensed Field of Use; accordingly, Exploitation of a Licensed Product would fall outside of the Licensed Field of Use (and therefore would not be covered by any of the licenses or releases granted under this VP8 Patent Cross- License Agreement) to the extent of such other function.

Fine print

Phipps wrote about the draft agreement at InfoWorld, highlighting the field of use restrictions, lack of sublicensability, and the need to sign and return the agreement to Google as problems that make the draft run contrary to the Open Source Definition, not to mention causing practical problems for open source projects. On the field-of-use restriction, he pointed out that multi-purpose code falls outside of the licensed uses, as does extending VP8 beyond the codec's "normal" functionality. "For open source, that chills innovation and leads to uncertainty over whether a specific program is covered."

But the more significant issue, Phipps said, is the requirement that each party participating in the agreement must sign it. The legal indemnity the agreement grants cannot be inherited by derivative works, which could be problematic for open source projects, but there are also many open source projects without a legal entity that can sign the agreement on behalf of the contributor community. Thus, he said, "Google is erecting a barrier that at the very least will provoke suspicion from open source projects."

Beyond such suspicion, Phipps also argued that the terms of the draft agreement would be incompatible with a license meeting OSI's Open Source Definition (OSD). "Specifically, the license appears to conflict with OSD 6 (no field-of-use restrictions), OSD 7 (no registrations), and OSD 5 (no discrimination against persons unwilling to be identified). It's arguable it also conflicts with OSD 3 since it is not sublicensable." By not meeting the terms of the OSD, he said, the agreement is likely to be negatively received.

Moot or not?

Then again, whether or not signing the agreement is necessary to implement VP8 is still less than crystal clear. Google has long asserted that the existing VP8 IP Rights Grant is all that is needed to implement VP8 (a position it reinforces in the cross-license agreement FAQ, among other places). In fact, the company has never agreed that MPEG LA or anyone else even has patents essential to VP8. If that is true, then no one needs to sign the cross-license agreement, ever, and its precise wording makes no difference whatsoever. But no one really knows whether that is the case; the agreement with MPEG LA and its cohorts did not disclose any patents essential to VP8, nor does the draft cross-license agreement. But a big part of the patent playbook is to not disclose a patent until one's competitor releases a tempting target for litigation. Perhaps the cross-license agreement would suddenly become important in such circumstances, but they are by their very nature impossible to foresee. For commercial parties implementing VP8 support, at least the agreement would take the patents of MPEG LA and its eleven partners out of the equation.

Phipps argued that the fog of uncertainty about the need for the patent grants in the cross-license agreement is it own problem. It creates a disruption by muddying the waters, just when Google is pushing for wider VP8 adoption in web standards like WebRTC. Perhaps further revision of the terms (and public discussion of the topic) will un-muddy the waters a bit in the coming weeks and months. In the meantime, however, there is at least one concrete benefit to the newly-published agreement: the world finally has its look at the eleven companies joining MPEG LA in the agreement. They are the usual suspects in codec patents, for the most part—Mitsubishi, Siemens, Fujitsu, etc.—but at least knowing the names brings the overall story into sharper focus. They are not small firms with small patent arsenals, so having them participate in the agreement could make it a more appealing option for a company interested in VP8, but with its own patent portfolio to worry about. Whether that offers anything meaningful to open source projects, however, may have to wait until the next episode.

Comments (21 posted)

Moodle 2.5 brings Badges and Bootstrap

By Nathan Willis
May 22, 2013

Version 2.5 of the Moodle open source courseware suite has been released. In some ways, the update brings with it many of the same sort of feature enhancements one might expect of any content management system (CMS), but there are some improvements tailored to the education environment as well.

They're the dot in .edu

The release announcement was posted on May 15 in the Moodle discussion forum. The first feature mentioned is support for badges: criteria-based awards given to students, based on guidelines established by the teachers or site administrators. Moodle's badge implementation is compatible with the Open Badges specification created by Mozilla, and earned badges can be displayed outside of Moodle itself. That makes them a potential certification tool for a variety if organizations that use Moodle for online training (outside of, say, the traditional school and college deployments). The release notes observe that Moodle is believed to be the first courseware system to implement Open Badges support.

The other new features of interest to educators include expanded settings for assignment "workflow"—specifically, the ability to set whether or not an assignment can be re-submitted by the student, and whether or not it must be re-submitted until it passes. There are also several new options for setting assignment feedback—for example, whether an assignment should be recorded in an offline spreadsheet, gets a file in reply (which could be anything from a text file to a video), or simply gets brief comments from the teacher. In quizzes, teachers can now include a "template" for essay questions, prompting what the student needs to write rather than presenting a blank text entry field. That might sound like a trivial change, but consider how valuable such a template is in a bug reporting form; such a brief outline can prevent students from accidentally leaving out a vital portion of their answer, and makes asking for multi-part responses simpler. It is also now possible to search the database of students enrolled for a course, which may not be a common occurrence in classroom situations, but could prove useful in online training courses with their potential for unlimited enrollment.

The usables

Several other changes in this release have been classified as usability or accessibility improvements in the release notes, which noted that these are a continuation of "our incremental usability improvement made in every version, and is difficult but very important work that we will continue to focus on in every release." Several of these usability improvements amount to the ability to hide or switch off portions of Moodle's sometimes-dizzying assortment of options. The majority of web forms in the interface have now been reconfigured to hide the less-frequently-used options under a toggle-able "Advanced" switch. Similarly, teachers can switch off the rich-text editor component for quizzes and forms where simple text will suffice.

But there are other usability improvements as well. Folders containing course content can now be displayed in several ways, including a new tree-style navigator akin to the one found in almost all OS file managers. Teachers can now drag-and-drop content directly into course pages, which is a new feature. A returning feature is the addition of a "Jump to section" drop-down list for reading course pages. The bug report suggests this feature disappeared sometime between Moodle 2.2 and 2.3. Without it, the only ways to get to a specific section in course materials were to either to click through the sections one by one with "Next" or to back up to the table of contents.

They're also the M in CMS

As Moodle has evolved, it has found plenty of uses outside of traditional educational institutions, from certification programs at government offices to training for open source applications like Blender. As a result, it has grown into a somewhat more general-purpose CMS; there are plugins and add-ons that enhance functionality and themes that allow administrators to fit Moodle into the established look-and-feel of a site.

Both of these aspects have been improved in 2.5. First, add-ons and plugins can be both installed and upgraded from within the Moodle web interface, rather than requiring shell access to the Moodle server. Second, Moodle now supports creating themes with the open source Bootstrap framework. The release notes caution that version 2.5 does not yet "fully take advantage of" Bootstrap, but say it is already usable for creating themes that automatically work well on desktops and on mobile devices (both with small displays and with touch-screens). Both of these updates are changes that do not alter the fundamental feature set of Moodle, but show its progress as a project—Wordpress adopted similar features when it was growing out of the traditional "blog" use case and into wider CMS adoption as well.

There is also an updated Moodle app for iOS, which allows users to upload photos and videos directly from a mobile device to the course (there are similar apps for Android, but they are unofficial work from third-party developers). There are additional management features, too, such as the ability to switch off new self-enrollments for a course (thus allowing self-enrollments for a time, but also enabling teachers to decide when the time for enrollment is up), there is a new "scheduled maintenance" mode, and support has been restored for enrolling in a paid course with a PayPal payment.

Moodle has had its share of security vulnerabilities in the past (not an uncommon affliction for PHP applications), and version 2.5 also closes several important holes. LDAP password expiration is fixed, information leaks in the built-in gradebook and in site registration have been closed, and passwords are now saved in bcrypt format rather than as MD5 hashes. The site can also be configured to lock out an account if too many failed login attempts are made (with an adjustable threshold value). Finally, this release rolls in all of the security fixes made in point releases of Moodle 2.4 as well.

Moodle is one of those interesting projects that has a large and vibrant user community, but a community that is comparatively self-contained. That is to say, people who run large Moodle installations often do so because they are motivated by the subject matter that they teach, so they may not be particularly interested in open source software as a movement. Still, it is encouraging to see how much momentum the online courseware community has, Moodle in particular, and it looks like version 2.5 is poised to refresh the package in ways that help student and teacher alike.

Comments (none posted)

Next week's edition will be published on May 31

May 27 is the Memorial Day holiday in the US. Normally, LWN staff would take that day off for the usual festivities, most of which usually involve barbecues and beer. This year, instead, some of us will be in Japan for the 2013 LinuxCon Japan event. Either way, the normal holiday schedule applies: publication of the LWN Weekly Edition will be delayed one day to May 31. We will return to our usual Thursday schedule the following week.

Comments (1 posted)

Page editor: Jonathan Corbet

Inside this week's LWN.net Weekly Edition

  • Security: DeadDrop and Strongbox; New vulnerabilities in kernel, openswan, openvpn, thunderbird, ...
  • Kernel: Ktap; Low-latency Ethernet device polling; An unexpected perf feature.
  • Distributions: Empty symlinks and full POSIX compliance; Debian GNU/Hurd, Mageia, NetBSD, Pidora, ...
  • Development: An "enum" for Python 3; Python and implicit string concatenation; QEMU 1.5.0; Blender for 3D printing; ...
  • Announcements: Ten years of Groklaw, Sony opens up the Xperia Tablet Z, events...
Next page: Security>>

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds