By Jake Edge
July 21, 2010
In light of the recent GPL compliance complaint made by the Free Software
Foundation against Apple's App Store, which sells and distributes software
for Apple gadgets, it was probably inevitable that other problem
applications would surface.
While there are various opinions on whether the App Store can legally
distribute GPL-covered binaries—along with diverging opinions on what
benefits, if any, the App Store provides to free software projects—it
is clear that some people object to their GPL-licensed code appearing in
the App Store. So it shouldn't come as a huge surprise that the
port of the The Battle for Wesnoth
for the iPhone/iPad, which was released
last November, has
run into some resistance.
As is usual for the
wesnoth-dev mailing list, the discussion was largely polite and respectful,
but there was clear disagreement. Rusty Russell raised the issue after a friend showed him
Wesnoth running on an iPad: "That's great, except that it came
via the Apple App Store. I didn't think that was allowed under the
GPL?". He pointed to the FSF's blog post about
GNU Go, and noted that he was "uncomfortable with Apple's restrictions on the devices after they sell
them".
Wesnoth lead developer David White responded that, unlike GNU Go, Wesnoth had
been ported to Apple's devices with the explicit endorsement of the
development community. He and the other developers, including Kyle Poole
who did the port, believed that the port was "acting within the
GPL" because the source was available and:
It is entirely permissible for anyone to compile the game from source
and distribute it using their own distribution mechanism to people with an
iPhone device. There may be some barriers to distribution but these
barriers are entirely technical due to the "walled garden" nature of the
iPhone.
White went on to describe the benefits that he saw from
putting the application into the App Store: revenue for the project, which
is being used to fund art development, and
raising the profile of FLOSS gaming. He noted that it helped users become
more aware of FLOSS games, but also made other free software game projects
aware of the App Store as a distribution platform. Russell didn't find
those to be particularly compelling arguments in favor of distributing
Wesnoth in the App Store, in fact he found the opposite to be true.
Because the App Store EULA imposes restrictions on what users can
do with the binaries they download, the FSF and others believe that it runs
afoul of the "further restrictions" clause in section 6 of the GPL. As Russell points out, the "walled garden" that Apple is
creating violates his understanding of users' rights under the GPL:
I want recipients of my software to receive all the benefits that I have
received. I want them to be able to mod, share and experiment with the
software, and this is reflected in my preference for the GPL.
It's not really relevant *how* people are prevented from doing so, except
to the questions "Does it matter?" and "Can I do anything to prevent it?".
So, does it matter? As a software developer, a machine on which the owner
cannot choose what software to create and run is anathema. As a free
software developer, a machine which restricts free software is particularly
disturbing.
In addition, Russell is skeptical that users are really being exposed to
free software gaming, instead they are just finding "a great game for $5". He
also believes it's "self-defeating" to strengthen the Apple
platform by putting more free software on it. But others clearly
disagree. Patrick Parker noted that it was
not a secret that an iPhone port was taking place, as it had been discussed
on the forums and on IRC, and that
a complaint at this late date was "selfish". Furthermore, he
was unhappy seeing Wesnoth used as a weapon:
You
essentially are saying that you want Battle for Wesnoth to be used as a
tool in the "Freeness" war against Apple, regardless of the wishes of the
Lead Developer of Wesnoth, the active developers of Wesnoth, or
the Wesnoth userbase itself. To me that seems selfish, not selfless. If
you have a low opinion of Apple and their restrictive licenses, which I
know I certainly do, there are plenty of other ways to go about expressing
it.
Russell agreed with some of that, saying
that he worked on Wesnoth because it aligned with his selfish goals: "I want to encourage Freeness,
and helping Wesnoth seemed like a good way to do that. Or, if you prefer,
'a tool in the "Freeness" war'." But he also acknowledged that
others had different goals, which is where the license comes into play: "that's why we have a
license, and a common understanding of what it means".
The FSF's complaint, which raised the license issue for the first time,
came well after the Wesnoth port was completed after some eight months of
work by Poole. That puts the project, and White in particular, in an
uncomfortable position. His "main concern" when Poole
approached him about porting the code was to ensure that the full source
code would be available. The source is available,
but White is, to some extent, stuck between a rock and a hard place:
On one hand I feel an obligation to Kyle [Poole] since I told
him I felt he could distribute Wesnoth on the app store if he undertook
the substantial effort to complete the port. On the other hand, I am of
course obliged to all of the Wesnoth developers who have contributed
content under the terms of the GPL, and specifically those ones who feel
strongly that source code availability and other measures are not
sufficient to meet the terms of the GPL and thus that Wesnoth being
distributed on the app store is a very serious violation of the GPL.
Poole describes the port as having an
impact that is very much in keeping with the ideas behind the GPL, even if
Apple's EULA tries to hinder it:
As a direct result of me spending more than 8 months fulltime working
on the iPhone port and publishing the source code, many other iPhone
projects have benefited from my work, not to mention improvements
which can be used for other Wesnoth branches such as Android, or
backported to the trunk. I think the spirit of GPL very much comes
through in the iPhone port.
But the power grab enabled by Apple's EULA is sweeping, which is what concerns Russell: "AFAICT, the device is designed
not to allow the freedoms the GPL tried to guarantee." By not
allowing Wesnoth binaries to be redistributed, Apple has gone further than
others, he said:
But disallowing independent distribution is... breathtaking. None of the
platforms I've ever coded for have done that, and it really scares me. I'm
sure you've thought about this far more that I have: am I overreacting?
His question remains unanswered, at least directly, but certainly some see
the arguments made by Russell and the FSF as too rigidly interpreting the
GPL. For example, Richard Kettering resolutely defends what he perceives to be the
interests of the artists and musicians in the project:
We do not see a
conflict between the GPL and the iOS, and we'd be outraged if you take
wesnoth away from us in order to strive for a slightly more
fundamentalist interpretation of the GPL. Removing our ability to run
the software we have built, on the platform we want, just because you
dislike the platform, flies in the face of everything the GPL has ever
stood for.
The irony of that last sentence seems to have escaped Kettering, but Russell
is quick to point it out: "Generalize the words 'just because you dislike the platform' to 'for any
reason' and you've summed up the problem with these devices very well :("
White has suggested that a list of Wesnoth contributors be created from the
Subversion logs, and that each be contacted to be made aware of the
situation. Any that are willing can make a licensing exception to allow
their contribution to be used in an application distributed through the App
Store.
Those that aren't willing, and Russell and others may well be in that camp,
would have their contributions removed from the App Store version.
Exactly what form that exception would take is up in the air. Paul
Ebermann is concerned that wording it will
be difficult, but White disagrees as he
thinks a specific App Store exception can be made. Currently, the plan is
to convene an IRC meeting of all concerned project members to discuss the
problem. Decisions on license exception wording, as well as a plan to
remove any content from contributors unwilling to agree, will presumably be
worked on as part of that meeting.
Apple does provide the means for applications to present their own custom
EULA, so Poole looked into the possibility of using the GPL as Wesnoth's
EULA. But, Apple has closed off that
potential remedy as well: "Apple states that any custom EULA must meet their
'minimum terms' which can't be more permissive than their default."
But, as Gabriel Morin pointed out, there
are even worse terms in the Apple's iPhone Developer Program License, which
Poole was required to sign, but he "probably didn't
mention it since the agreement prohibits making public statements about
it". Morin doesn't see how it is at all possible to reconcile the
GPL and that agreement.
This is clearly a clash between a license intended to ensure user freedoms
and a company hell-bent on ensuring that it is in complete control of what
can run on the devices it sells. There may be ways to remove code or
content from the Wesnoth codebase, such that all that remains has some kind
of license exception to allow it to run on iPhones and iPads, but the
question will still remain: does working around Apple's draconian
requirements really help the cause of free software? Opinions clearly
vary, but it is something our communities will continue to struggle with.
One clear lesson from all of this was noted
by Parker: "However, if I ever
start my own open source project, I will probably require copyright
removal or assignment as a precondition to inclusion (much like the FSF
does with its own programs)". Had a copyright
assignment to a Wesnoth non-profit been required for all contributions, all
of the App Store licensing problems could have been avoided, as the
copyright owner could have
issued a separate license. Whether as vibrant a community would have arisen
around this hypothetical "Wesnoth with copyright assignment" project is an open
question.
Apple is unlikely to change its terms regardless of what Wesnoth decides.
Its walled garden is working very well for it and few, if any, of its
customers are clamoring for a change. While it is very cool to see a free
software game like Wesnoth running on these über-trendy gadgets, it
is a bit hard to see how it brings more folks into the free software
world. On the other hand, it's hard to see how denying the iPhone/iPad
universe access to Wesnoth is going to make a difference either. It's
really up to consumers to recognize—and clamor for—devices that
respect their freedoms. So far, that just hasn't happened.
(
Log in to post comments)