SeanCier writes: "We're a small (two-person) iPhone app developer whose first game has recently been released in the app store. In the process, we've inadvertently stepped in it, bringing up a question of the GPL and free software ethics that I'm hoping the Slashdot community can help us clear up, one way or the other.

XPilot, a unique and groundbreaking UNIX-based game from the early/mid nineties, was a classic in its day but was forgotten and has been dead for years, both in terms of use and development. My college roommate and I were addicted to it at the time, even running game servers and publishing custom maps. As it's fully open source (GPLv2), and the iPhone has well over twice the graphics power of the SGI workstations we'd used in college, we decided it was a moral imperative to port it to our cellphones. In the process, we hoped, we could breathe life back into this forgotten classic (not to mention turning a years-old joke into reality). So we did so, and the result was more playable than we'd hoped, despite the physical limitations of the phone. We priced it at $2.99 on the app store (we don't expect it to become the Next Big Thing, but hoped to recoup our costs — such as server charges and Apple's annual $99 developer fee), released the source on our web page, then enthusiastically tracked down every member of the original community we could find to let them know of the hoped-for renaissance.

Which is where things got muddy. After it hit the app store, one of the original developers of XPilot told us he feels adamantly that we're betraying the spirit of the GPL by charging for the app (hopefully he'll chime in with a comment below; I'll leave him anonymous for now to avoid further stepping on toes).

That left us in a terrible spot. We'd thought we were contributing to the community and legacy of this game by reviving it, not stealing from them by charging for it — and didn't think $2.99 was unreasonable (and, again, the source is available for free from our page). It never occurred to us that one of the original creators would feel that we were betraying their contribution. We've discussed the philosophical fine points of free-as-in-speech vs. free-as-in-freedom with him, and have suggested a number of remedies — such as reducing the price (it's now $1.99), profit-sharing with previous contributors, making the game free at some point in the future (once we'd at least recouped our costs), or going "freemium" (offering a fully-functional free version plus a paid version with enhancements we added ourselves, with both GPLed of course). But in each case, the bottom line is that this developer feels the app should be free-as-in-beer period, and anything less is a sleazy betrayal of anybody that made contributions under that license. Which is a shame, because we deeply respect his work on this game and would love for him to be on board with the port — but at the same time this was months' worth of work and we honestly believe we're going about this in a reasonable way.

Obviously one of us has a non-mainstream understanding of open source ethos, but it's become clear we can't come to a consensus on which of us it is, and whether the "spirit of the GPL" allows selling GPLed software (especially when one wasn't the original creator of the software but a more recent contributor). The only way to determine that, it seems, is to poll the open source community itself.

We're determined to do the right thing by the GPL and the community. So here's our plan: we'd like anybody with an opinion on this to vote, and if the community feels that ethically this should be free-as-in-beer, we'll fix it by making it free, end of story. In order to make the vote clear and transparent to all participants, we'll use twitter. Remember, we're not talking about whether it's practical to base a business on GPLed software, nor the best business model for doing so, and certainly not whether the source must be distributed for free (obviously it must be), but just whether charging the binary version of an enhanced/ported version of a GPLed app (while releasing the corresponding source for free) is an ethically defensible thing to do.

If you feel that, ethically, any GPLed app must be given away for $0, include "#xpilot #freeasinbeer" in a tweet.

If you believe a binary version of a GPLed app may be sold with a clear conscience (as long as the source is distributed free of charge), include "#xpilot #freeasinspeech" in a tweet.

We'll count the tweets from unique accounts in one week and behave accordingly."

This discussion was created for logged-in users only, but now has been archived.
No new comments can be posted.

Not only does it not say you can't charge, it actually specifically says you can "charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee". Which means that that original developer doesn't understand (didn't read?) the license he was using. Which unfortunately seems rather common, so "spirit of the license" and "preference of the community" might well not be the same.

If you're having a disagreement with the copyright holder, just make sure you ALWAYS comply with EVERYTHING the GPL requires, since GPLv2 is terminated when violated, and the copyright holder might not be willing to forgive you. In particular, one oft-forgotten requirement is that "you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other r

Yes, people can run modified versions, with a caveat (which isn't under our control). Apply doesn't allow/anybody/ to deploy code to any non-jailbroken iPhones unless they're a registered developer. So, any registered developer can run modified copies of our code on their phone, and anybody else can run a modified version in the iPhone simulator.

Very true -- I believe we do comply, but I'd be appreciative if anybody points out problems. The clause you quote in particular is referring to distributing the GPL as part of the source code (rather than the binary), and we definitely do that."You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices

3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following . ..

I have to say that *usually*, when something is GPL'd, I think the binaries should be provided for the same cost as the code itself. If you're selling a product, the code should only be available to the people who purchased it (at least, from you directly). I dislike people who take code that isn't theirs, compile it, and charge people for their "service". The whole X-Chat Win32 binary thing comes back to mind...

Now, I certainly know the license well enough to admit that it isn't required to give binaries f

Becuase your corresponding source cannot be run on the platform for which the binaries are distributed, you are engaging in tivoization (made famous by TiVo), which means that the device (iPhone) won't allow people to use modified copies, even though, legally, they are allowed to. In order for a modified copy to run, it must be approved by Apple.
While this does not technically violate the letter of GPLv2 (though I would argue it violates the spirit of it), it does violate the GPLv3 -- the GPLv3 has a cla

This gets into interesting philosophical discussions about whether the "spirit" of a license is determined by the content of the license itself or by the pronouncements of the organization that wrote the license.

and the letter of the GPLv3 not by charging (that's allowed and encouraged), but by publishing on a platform that does not allow modifications.

Hmm...

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regard