By Jake Edge
July 28, 2010
Longtime GNOME developer and community member Luis Villa kicked off the GNOME users' and
developers' European conference (GUADEC) with a challenge to the
project to "embrace the web" as a way for the project to
remain relevant. The web has won the battle to produce a "robust,
libre platform" over various desktop efforts like GNOME, but there
is still time for the project to find a seat at that table. It is a
"big scary step" to take, Villa said, but one that he thinks
is ultimately the right direction for the project.
While he is currently working for Mozilla, which might have colored his
thinking some, Villa certainly disclaimed (in true lawyerly fashion) that
he was representing anyone's views but his own. He was taking vacation
time to attend the conference and wore a shirt from a company (Ximian) that
"no one can be pissed at any more". He was there because
"I love GNOME", he said.
Villa was speaking from "the other side", referring back to a
talk he gave at GUADEC in 2006 when he was "vanishing into the bowels
of law school" and told the project members that he would see them
on the other side. That historical perspective was a major element of
Villa's talk; one theme revolved around a picture of a party on a Paris
boat at the first GUADEC in 2000. He considered what one would tell the
folks in that picture about the progress that has been made in the ten
years since.
Today there is a free and open platform that runs on all PCs and laptops,
but which also runs on phones and televisions, a fact which would likely
surprise
the crowd from 2000. Most people using that platform also use Linux every
day;
the licensing of the platform is generally LGPL or more permissive. Even
Microsoft has an implementation. There are some 400 million users. High
school kids are learning to program for this platform partially by using a
"View Source" button. Unfortunately Villa would have to tell those folks
that this platform isn't GNOME, it is, instead, the web.
So the question is: what should GNOME do about that? Villa described
"one possible answer", which is for GNOME to join forces with
the web development community and bring its strengths, in terms of
technical ability, culture, user focus, and hacker mentality, to that
party. GNOME should figure out how to deliver the best combination of
desktop and web applications to users.
Basically, the web won because it "co-opted our message", he
said. He pointed to the famous Gandhi quote
("First they ignore you ...") but noted that things don't always work out
that way. "Sometimes your ideas win without you", he said.
But, the web didn't win because it is perfect for either developers or
users. There are problems with proprietary applications as well as control
and privacy issues. It delivers sophisticated, powerful applications,
though, which are run by someone else, freeing users from that burden.
It's not a fad, and not going away, as it will only get better, he said.
He also said that he had pointed the audience to an EtherPad site as a way
to send questions, rather than to a Gobby instance, because he could be
sure that all the attendees had web browsers while many would not have Gobby
installed.
He noted that Apple and others brag about a thousand new "apps" this week,
but said that there are a thousand new web applications every hour.
Developers have already embraced the web in a big way; GNOME needs to
get on board. It is extremely easy to develop a web application by putting
some HTML and JavaScript up on a site somewhere; GNOME needs to be
thinking about making development that easy for the GNOME platform.
His suggestion was to start with "baby steps" by
reimplementing the web's ideas for the desktop.
The web should be treated as a first-class object and various desktop
applications should integrate with web services, he said. He pointed to
the GNOME
background image chooser which now allows picking images from Flickr or
other web photo sites as an example. Though he noted that Zeitgeist hadn't
made the cut for GNOME 3.0, he saw that as a step in the right direction
because it treats the web as just another object.
Beyond that, the project should be thinking about even bolder strategies
that would not just copy what the web is doing. It will be bigger and
harder step, but he suggested that GNOME start writing code for the
browsers to provide any needed functionality. "Bring our ideas,
bring our code" to fix areas that don't work for GNOME. As a
concrete proposal, he thought the Desktop Summit being planned for next
year (combining GUADEC and KDE's Akademy conference) should be renamed to
the "Free User Software Summit" and include browser developers from Mozilla
and Google.
Further out, GNOME should "burn the boats" by writing all of
its applications in HTML and JavaScript first. Only when that doesn't
work should there be a fall back to GTK. According to Villa, GNOME needs
to start thinking that way because "that's how our users and
developers are thinking". Instead of pointing developers at C and GTK or
PyGTK, GNOME should provide a first-class toolkit for HTML and JavaScript. It
should also be made easier to run the same code on the desktop or the web, he
said.
He allowed as to how this would be a major upheaval;
"I told you this would be hard."
While it is going to require lots of new code, and potentially
abandoning lots of old code, it is still an embodiment of "our old
culture".
Bringing that culture of freedom and user-focus to the web is Villa's
prescription.
For his part, Villa "welcomes skepticism". Maybe folks think
the web isn't free enough or they hate JavaScript, but if so, they need a
counter-narrative: "Maybe my answer isn't right, but what is?"
Maybe there are those that think the web is a fad, but they need an
argument to back that up.
He is optimistic about the future because of the people that make up
GNOME. "We are the right people" to do this job, but need the
right code.
The clear indication from the talk is that he's convinced that the GNOME
project's current
direction isn't right and that a radical shift in focus is needed.
"Whether you agree or disagree or think
I'm crazy", the challenge is to identify the right direction and
"go out and do it". Villa has presented his idea of what that
direction should be, and he clearly thinks others should do the same.
Comments (35 posted)
July 28, 2010
This article was contributed by Nathan Willis
The WordPress community witnessed the
end of a high-profile war of words last week when the distributor of a
popular commercial theme for the blogging platform agreed to license some
of his work under the GPL. Prior to last week, Chris Pearson had argued
fiercely that WordPress themes are not derivative works of WordPress itself
— as the project has long claimed — and thus he was free to
sell his Thesis theme under his own
restrictive licensing terms.
The stand-off between the projects erupted in a live argument on the Mixergy podcast between Pearson and WordPress founder Matt Mullenweg, one that ended with Pearson essentially challenging Mullenweg to bring a lawsuit against him. With Pearson's change of heart, the issue appears to be resolved. Pearson announced on his Twitter account that Thesis was now available under a "split" license, with the GPL applying to executable portions, and a separate license covering the images, CSS rules, and client-side JavaScript — the formula insisted upon by the WordPress project.
What's in a theme?
The disagreement hinged on a question that will sound familiar to free
software enthusiasts: what constitutes a derivative work under the
GPL? The WordPress project has long taken the position
that both plugins and themes are derivatives of the WordPress application
itself, and thus must inherit its license, the GPL v2.
Pearson disagreed, claiming that Thesis was his creation and that he could select a license for it at will. As he said during the interview:
I think the license, the GPL, is at odds with how I want to distribute my software and what I want it to be. I don't think that it necessarily should inherit WordPress' license when over 99% of the code within Thesis is Thesis code based on the actual process of building a website. Certain processes that occur in nature can be [described] mathematically by code. I am trying to describe it with code. I am describing a process that exists separate from WordPress or from any piece of software that deals with website development for that matter. It's its own thing.
Many commenters on the blog coverage of the fight seemed to be of the same mind, asserting that the WordPress license was irrelevant to "original work" written by a theme creator. Underlying that position, however, seems to be the belief that a WordPress theme is a layer "above" the WordPress application, which happens to call APIs exposed by WordPress.
[PULL QUOTE:
Perhaps WordPress's use of the term
theme is itself misleading, because it suggests something
cosmetic.
END QUOTE]
Considering that belief, perhaps WordPress's use of the term
theme is itself misleading, because it suggests something
cosmetic, like a static template or a set of look-and-feel rules
implemented in HTML and CSS. But that is not what WordPress themes are.
Rather, themes in WordPress are a collection of PHP scripts that implement
the entire outward-facing user interface of the site (the dashboard
functionality is implemented elsewhere).
WordPress themes are executables that create all of the elements
displayed in the browser: pulling the content of posts, comments, user information, category, tag, archive, and navigation links, even search functionality, all by calling WordPress functions. To put it another way, a WordPress theme is the interface component of the application; without a theme installed, WordPress does not serve up any pages, and when not installed in a WordPress site, a theme cannot even execute.
The debate over the GPL inheritance of themes and plugins has been around for several years, prompting Mullenweg to seek legal analysis. According to the Mixergy interview, he first consulted with Mozilla's attorney Heather Meeker, but it is the Software Freedom Law Center's (SFLC) official opinion that he refers to as conclusive proof.
The SFLC analysis states that "the PHP elements, taken together, are clearly derivative of WordPress code," citing the fact that they are loaded into the WordPress PHP application with include(), combined in memory with the rest of the WordPress code, and executed by PHP as part of a single executable program. On the other hand, SFLC noted, some elements of a theme, such as CSS rules, image files, and JavaScript, reside on the system only to be served by the web server as data delivered to the client. These elements could be distributed under the same license, but because they are not combined with WordPress itself, do not have to inherit the GPL.
This reading of the situation is essentially the same as the Free
Software Foundation's (FSF) take on the licensing requirements for plugins.
The GPL FAQ states:
If the program dynamically links plug-ins, and they make function
calls to each other and share data structures, we believe they form a
single program, which must be treated as an extension of both the main
program and the plug-ins.
The status of JavaScript components was not explicitly addressed in the
SFLC's analysis. The lone discussion of
JavaScript in the GPL FAQ deals with web page templates, by which it seems
to mean static templates that "assemble" a page, in contrast to the
executable definition of "plugin" explored above.
Code reuse and other considerations
During the Mixergy debate, Pearson referenced a 2009 blog post by Florida attorney Michael Wasylik, who asserted that WordPress themes did not inherit the GPL from the WordPress application, based largely on the "running on top of" WordPress argument. Mullenweg and others observed that Wasylik is a real estate, not a copyright, attorney, and that the court cases he references in his blog post are about hardware devices, not software.
But Wasylik also said that "actual incorporation of code" makes
the work "probably derivative, and the GPL probably applies."
Drew Blas subsequently analyzed the Thesis source code and concluded
that the theme incorporates code lifted from WordPress itself.
Furthermore, WordPress core developer Mark Jaquith, in a longer analysis of the problem, observed that a former Thesis developer openly admitted that code from WordPress was copied into Thesis, and Andrew Nacin noted that the Thesis documentation commented on such inclusions: "This function is mostly copy pasta from WP (wp-includes/media.php), but with minor alteration to play more nicely with our styling."
Perhaps it was in the face of this evidence that Pearson changed his mind and switched over to a "split" license for Thesis — his only public comments on the decision have been made through his Twitter account.
Whatever the reasoning, Mullenweg seemed relieved to hear the news. During the podcast debate, Mullenweg repeatedly told Pearson that switching to the GPL would help, not hurt, his sales, observing that there are many other commercial theme developers who sell their works while complying with the requirements of WordPress's license. He said that, should Pearson come into compliance, he would add Thesis to the list of commercially-available themes promoted on the official WordPress site (although the addition does not appear to have happened yet).
It is always better for the community surrounding a free software
project when disputes such as these reach an amicable solution. In another
sense, though, Pearson's decision to relicense Thesis without comment
leaves open — in some people's minds — the original question
over when themes and plugins are rightfully considered derivative
works.
WordPress is not alone in its position; the Drupal project also states that plugins and themes must inherit the GPL from Drupal. Joomla makes the same claim about Joomla extensions, although it admits that it may also be possible to create Joomla extensions that are not derivative works.
There may never be a simple black-and-white test to determine unambiguously when a theme is a derivative of the application that it themes. Fortunately, for the determined professional themer, it makes little difference. As the list maintained at the WordPress site demonstrates, there are quite few talented individuals who can make a living producing and selling GPL-licensed themes.
Comments (44 posted)
Think that your Android smartphone is fully open? Aaron Williamson
delivered some bad news to the audience at OSCON with his presentation Your
Smartphone May Not Be as Open as You Think. Williamson, counsel for the
Software Freedom Law Center,
explained to the audience what components were still proprietary, and the
problems with replacing those with open source components. Unfortunately,
it doesn't look like a fully open phone is likely in the very near
future.
Many LWN readers are already aware that Android phones contain
proprietary components. However, the larger open source community, and
certainly the consumer public that is not well-informed about goings on in
open source development, are usually not aware how much proprietary
software the Android phones depend on.
So what's open and what's not? Everything that's shipped by the Android Project is fine, but Williamson
pointed out that manufacturers ship more than just Android with their
phones. The phone manufacturers, companies like HTC, Motorola, and Samsung,
produce the software to meld Android to the hardware it's shipping on. So
it's not possible to ship an Android distribution that's completely open
source that will work on any specific phone.
Some packagers do ship Android distributions, but they're not likely to have
permission to ship all of the software that they include. For instance,
there's CyanogenMod, which adds
features not found in Android, but it's hard to ship such a distribution
and stay on the right side of all the proprietary licenses. As a result, a
typical
CyanogenMod installation requires saving the proprietary code shipped with
the phone
to the side at the beginning, then reinstalling that software as one of the
final steps.
What do you get if you remove most of the proprietary software?
Williamson has done the research and managed to compile
Android for an HTC Dream with as little proprietary software as
possible. He kept three components necessary for making phone calls, and
left the rest out. Without the proprietary components, the HTC Dream isn't
quite a brick, but it might as well be. It's unable to take pictures or
record video, connect to WiFi, connect to Bluetooth devices, or use
GPS. This also leaves out the accelerometer, so the landscape mode doesn't
work.
Of course that leaves plenty of functionality as well, but the phone is
hardly as functional without the software as with. Unless a user is deeply
committed to software freedom, they're unlikely to go to that extreme. So
the goal should be to convince companies to open the software as much as
possible.
Why They're Closed
Williamson pointed out that this problem is unlikely to be specific to
Android, and when MeeGo or open source Symbian devices ship, they're likely
to have the same problems. He also gave Google credit
for working with the manufacturers and trying to get as much software
available as open source as possible.
For the most part, Williamson says that mobile component manufacturers
largely give the same reasons for proprietary licensing that PC component
manufacturers used to avoid providing free drivers for video cards, sound
cards, etc. The manufacturers are concerned that they'll lose the edge
against competitors or will give away intellectual property. Manufacturers
see little competitive value in being open. They don't want to use licenses
(like the GPLv3) that would harm their ability to pursue patent
infringement suits.
There's also the issue of regulatory agencies and their influence on
radio components for Bluetooth, GSM, and WiFi. Whether that's a legitimate issue is
debatable, but it does seem to concern quite a few parties. The result
of these regulatory concerns isn't debatable, however: You're unlikely to find
open source drivers for most of the radio components of phones, which makes
it difficult to operate a phone with 100% open source
software.
Williamson also said he didn't see it likely that the community could
keep up with maintaining open source drivers without the cooperation of the
hardware manufacturers. The device updates tend to move so quickly, and the
skills required to develop and maintain the drivers without assistance,
make it unlikely that the community would be able to maintain a 100% free
Android system with drivers. Of course, Linux developers, who have managed
to keep up with a lot of fast-changing hardware over the years, might just
disagree.
What to Do?
For users who are concerned with software freedom, what can be done to
acquire fully (or more) open phones or inspire vendors to sell them?
Williamson said that it requires educating the vendors and, more or less,
walking through the same process that the community went through with
Intel, ATI, and other hardware vendors that have come a long way towards
supporting software freedom.
He pointed out that the community can reward vendors that are relatively
open. For instance he pointed out that enthusiasts should be avoiding
Motorola phones as long as the company continues trying to block mods as it
does with the Droid X. Aside from that, Williamson says there's not much
for end users to do. The good news is that Williamson thinks we can move
faster than with PC hardware, because we've been down the road before and
the community knows how to talk to vendors.
When I spoke to Williamson after OSCON, he indicated that tablets are likely
to have the same problems as handsets, and some additional issues as
well. Because most of the tablet manufacturers to date are not working
directly with Google or as part of the Android community, they are not only
shipping a lot of proprietary software, but also likely to produce lower
quality products and violate licenses. The last is almost certainly true as
shipping
tablets are rarely found to be in compliance with the GPL. Even though
most of Android's licensing doesn't require much in the way of compliance,
few vendors seem to be living up to the GPL'ed components.
For now, a truly open smartphone seems elusive, but the prospects over
time look positive. Until then, users have to decide between seriously
crippled devices or devices that are only largely free.
Comments (12 posted)
Page editor: Jonathan Corbet
Inside this week's LWN.net Weekly Edition
- Security: On comment spam; New vulnerabilities in bind, bogofilter, firefox, gnupg, ...
- Kernel: File creation times; zcache; Realtime Linux: academia v. reality.
- Distributions: T2 SDE 8.0; Debian, FreeBSD, Fedora, ...
- Development: Building communities; GNOME census and 3.0, EuroPython thoughts, Sphinx 1.0, ...
- Announcements: LiMo and GNOME; GENIVI goes with MeeGo; DMCA; Android, Sony, Novell, ...
Next page:
Security>>