Posted
by
Soulskill
on Saturday August 01, 2009 @11:23AM
from the should-vs-does dept.

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). 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 it."
Read on for the rest of Sean's question.

"That left us in a terrible spot. We'd thought we were contributing to the community and the legacy of this game by reviving it, not stealing from them by charging for it — and we 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-beer 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' should allow 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, and we'd like to hear opinions on this. 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 for 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."

+1. GPL'd software can be ethically sold if the source is available. Head out to Fry's and check out the shelves of Linux distributions and OpenOffice packages available for sale even though they are free to download.

Not only that, but anyone who has a problem with the price is free to download the code and put it up for a lower price, free, whatever they want. Which is, of course, the spirit of the GPL.

Even better, this GPL'd code can be used as a basis for other GPL apps. The barrier to get more software up there is lowered. I say, thanks for putting this up there! Online games that can be played over 3G are sadly rare, hopefully this makes it a little easier to put more of them up and I can finally get some excitement on the crapper.

I don't think you understand the appstore. I can not download the source, recompile it, package it and put it up on the app store as it exactly is. If the appstore wasn't governed then maybe what you are saying would be true.

the code is available for download from their project site. that's where your can get the code, not from apple's appstore. there's no requirement that the source be distributed along each and every excutable, only that it be "available", which it is.

I disagree on the ethics. They've made the source code available, and as many other commenters here have mentioned, anyone is free to jump through the very same hoops that these developers did to publish the software, or they're free to make it available gratis via one of the jailbreak sources.

You are applying an ethical argument against the platform to the developers who are writing software for it...and developers who are bending over backwards to help the community.

We are not free to jump the hoops, we are free to try... with no guarantee of success and with a substantial monetary cost.

Platforms which don't allow modified GPL software to run are inherently problematic, I do feel it goes against the spirit of the GPL to even distribute software on such platforms. I'm not really the only one, it was a major impetus behind GPL v3 after all.

This is an example of tivoization. It's legal with GPLv2. It is illegal with GPLv3. You can argue back and forth if it is moral, but I think you find that it's a very grey area under the circumstances.

It is quite usable with the full freedoms of the GPL. Though it would most likely take a decent amount of porting to convert Objective-C to Java*, I could take the code they provide, modify it, and re-release it for the Android Marketplace, and I could release it for free or for a price. A Windows Mobile programmer could port it to their platform. A Palm Pre programmer could port it to their platform. They could do it all without even the slightest restriction from Apple or the iPhone. Another iPhone p

How are you defining "usable" here? If I download the "normal" XPilot source I cannot do f all with it either unless I have GCC, make and X11. Should the makers of the original XPilot be required to come to my home and install all of these

You get the source. What you actually can or cannot do with it is not their problem, and never has been. That you then need a Mac and XCode to build the iPhone version does NOT restrict any freedoms. There is no virality in the GPL that says that you need to use GPL-ed compilers, editors or operating systems to build from the source.

Imagine if you had an app on the iPhone which you could use to visit ordinary web pages and download the source.....and another which you could use to electronically send the source to other people. That would be cool....

The GPL gives the end user the right to the source if that end user pays for the app/product. It doesn't guarantee the end user any rights wrt re-deployment on specific commercial platforms beyond the right to the source code. Any issues that arise wrt re-deployment are the end user's to deal with, not the distributing developer. As long as the developer is making the source available to purchasers, then the developer is in compliance.

Read the GPL itself; it is very instructive. Nowhere does it require that the developer/distributor make any sorts of guarantees to the buyer/end user about how easy it will be for the end user to redistribute a re-compilation beyond the requirement that the source be provided in "the preferred form of the work for making modifications to it."

The important bit here is that "The 'Corresponding Source' for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities." [emphasis added]

Note that this is not "all the developer permissions from Apple needed to run the object code," just "all the source code." Think about it; if devs were required to provide everything needed to run a GPL program, then they would have to provide a Windows license for every GPL program written to run on Windows.

The best part about the GPL is that it allows code to be modified and run anywhere, closed platform, obscure platform, new platform, etc. As long as code is properly released, they can sell it without moral implications. If you do not like it, repackage it yourself, eat the costs and make the game better or worse as you see fit. These men did spend time on developing it for a new platform and should be able to be paid for their efforts, assuming the market wants their product.

That's absurd. So you are saying I can't sell my App on Fry's because the day you go there it may be closed, the parking lot may be full or, heavens forbid, they might deny you access to their store (which they are in their full right to do).

I don't understand this reasoning. The source is freely available. If you don't like it, compile it for whatever platform you like. If there is effort involved, perhaps you won't feel the need to give it away free, perhaps you will, but anyone else can also do the same. There is no issue if the source is available (it is). Just because they ported it through their own work to iPhone doesn't make it any less free, it just means that someone was nice enough to take the time to port it.

The spirit of GPL is not to prevent someone for profiting for their time. As someone already pointed out, there are many distributions of Linux where they charge for the media, support, etc. This is no different as these guys will most certainly have support issues, as well as costs to get it into the app store, and personal time spent porting it. If you don't like the price or the platform, then download the source and compile it for something else.

Because A) It restricts you to an -expensive- platform, x86 Mac OS X B) I believe you need to pay Apple I think like $99 to get it on the app store

I might be completely incorrect or misinformed, but I would also imagine that if someone were to submit a duplicate of an existing app for free, even if it were perfectly legal, that Apple would not allow it. Stranger things have happened.

Because A) It restricts you to an -expensive- platform, x86 Mac OS X B) I believe you need to pay Apple I think like $99 to get it on the app store

A) $199: Apple Mac Mini Intel Core Duo Processor 1.66 Ghz 607LLA on aBay, free shipping. [ebay.com]
B) True, but GPL is about Freedom, not freebeer, nor a free redistribution and marketing channel. I know you were just referring to a barrier for putting it on the app store as a free app, but I think a lot of people are confusing "Freedom" with "it shouldn't cost me any money for things that are completely out of the software developer's control."

I don't think you understand the appstore. I can not download the source, recompile it, package it and put it up on the app store as it exactly is. If the appstore wasn't governed then maybe what you are saying would be true.

Sure you can - you just have to have a Mac to do the compilation, pay the $99 developer fee for your certificate and submit it for whatever price you deem fit. The point of this whole discussion is that the code is still free and this team is following the letter as well as the spirit o

His point was that the app store is governed - you have no idea whether Apple will ever let your app make it into the actual store (see Google Voice). They might perfectly well say that it is an exact duplicate of a for-pay app, and it is therefore rejected. Remember, Apple takes 30%, so it's in their best interest to put more apps behind the pay wall. And we already know that Apple can reject any app for any reason (FCC inquiries notwithstanding).

More specifically, I think he was pointing out that Apple might treat forks as duplicates, leaving the initial submitters the only ones able to earn money for the software on that platform, regardless of the source being available. That said, I think what they're doing is all right, as they are keeping the source available.

One thing to add: if the original author had said "That's great, nice work!" when it first came up, this wouldn't have been an issue for this project. I recommend not putting too much (if

Also, I'm not too familiar with how the iPhone SDK works, but if if involves dynamically linking your application to close-source libraries provided by Apple, lots of people would consider it to be violating the spirit (if not the letter) of the GPL.

This is an honest question, not FUD or anything. Can you link binary made from GPL'd code dynamically to non-GPL'd library? I would guess yes.

And another question. If you need iPhone SDK (or whatever) from Apple to compile your GPL'd code to binary, are you link

Under the GPLv2 you are obliged to provide the source code to anyone that asks for them

FUD. under GPLv2, if you distribute binaries, you are given three options as to providing source code. One of those options is to provide source code with the binary. Another option is to provide a written offer to provide source to anyone who asks. The third option is an obscure case that is irrelevant here.

If you go with the first option, and distribute the source with the binary, you do NOT have to provide source to third parties who ask for it.

Parent makes an important point. This is especially relevant for companies that are writing customized software for a single client. You can use GPL and still keep the software secret from third parties. The GPL does not force distribution, it allows it.

It is FUD like that in the grandparent post that puts small companies off using the GPL (because they don't have in-house lawyers to wade through the scaremongering), and instead use restrictive 'contracts'. In turn, this means customers of these small companies are often left without control of source code for software that is vital to the customer's business.

---
I am not a lawyer, so yes, my advice does apply to your specific circumstances, but you would be foolish to take my word for it...

Agreed, If you've provided the link to your site in the released game with the information that the source is available, then you've complied with the GPL. If you're really bothered, then donate the profits to an Open Source game development. But personally, I think $2 is a perfectly reasonable fee for a decent game. If I don't want to pay the fee, I can grab the source and compile it for myself.

Not only is it reasonable, but it's almost expected to be asked for compensation for porting the game to a new platform. It sounds like he's not charging for the game itself, he's charging for the work in porting it if you want to play it on the iPhone. That sounds completely reasonable to me.

I believe you can download the iPhone SDK and run it on the included emulator without paying anything.

But I mean, you could make the same sort of argument about GPL'd software for Windows. You need to pay for the Windows license before you can run it. The application code is free; the platform is another matter entirely.

Well, yes. But you can't install it on your iPhone unless you jailbreaked the device or you pay the yearly $99 developer fee.

So what?

I'm going to go out on a limb here and say that if you really cared about the "spirit of the GPL" and free software in the first place, that you wouldn't have given Apple your money for their extremely closed device. If the choice is between iPhone and Android, I think it's abundantly clear to anyone that cares about free software that Android is already a much, much more open platform than the iPhone will ever be.

All of this whining over the "ethics" of selling GPL software for the iPhone is just

While I do understand the worries, taking this to it's logical conclusion would be to dictate what platforms developers can make GPL software for, and make it much dependant on the manufacturers.There are GPL apps that are exclusively for Windows, and for.NET, which of course have restrictions by Microsoft.

On a related note, it's also absolutely fine for someone else with an iPhone developer license to download the source code and put it on the app store for free.

Apple does not allow "duplication of functionality" and they would surely reject such resubmissions.

So the first person to submit a binary to Apple gets control of that software on the appstore, can charge for it, and can prevent anyone else from doing the same including the software's copyright-holder. Legality aside, this is bad, bad chemistry between the GPL and the appstore.

By the way, at the time I looked into iphone development, there was a non disclosure agreement that prevented you from publishing your sources. Is it still active?
How are you supposed to comply with the GPL under NDA? Does that preclude you from using any GPL code?

By the way, at the time I looked into iphone development, there was a non disclosure agreement that prevented you from publishing your sources. Is it still active? How are you supposed to comply with the GPL under NDA? Does that preclude you from using any GPL code?

It has been quite some time since this NDA has been lifted, which is why there are plenty of books and tutorials readily available for anyone to buy/read (this wasn't the case when the SDK was first released). These publications generally contain a healthy dose of source code, so obviously it's fine to share. The only significant NDA that still exists regarding the iPhone SDK only covers beta releases of the SDK, which are only available to people who have signed up for the paid developer program.

If you feel bad about getting filthy rich, use the money to hire coders (prolly yourself) to port more stuff and maybe even develop new stuff.
GPL is all about win-win business, if someone think it's too expensive they fork.

Would the original developer prefer his work stay dead forever? Why didn't the original developer do something with it himself? Why doesn't he do something with it now? Why is he complaining, and why are you talking about it?

This is a retarded issue, there is nothing in the GPL to prohibit charging whatever the fuck you want as as long as the code freely available.There's no "spirit of the GPL", that is just a made up construct, like saying the Constitution is "living document".It either violates the terms or it doesn't.

Remember when TiVo went by the letter of the GPL (v2) but not the apparent spirit? A new section of GPL v3 was born.

I'm not saying that in the future, a GPLvN -will- exist that includes terms regarding sale of GPL(vN)'ed software - but in the given case, why wouldn't there be.

Sure, the source to this game is available. Hooray for every other iPhone developer. However, if you're not a developer, you can't just install it on your device even if you compile it.

In addition, -if- a developer were to pick up the code and compile it.. they, in turn, can't distribute it outside of the iTunes store. ( I seem to recall Apple being okay with source code distribution when it concerns GPL - but a Google search seems to bring up lots of (old) blog posts about it being prohibited. )

On top of that, there's probably little chance that it would be accepted into the iTunes store, seeing as it's a 1:1 duplicate of an existing app.

Remember when TiVo went by the letter of the GPL (v2) but not the apparent spirit? A new section of GPL v3 was born.

And do you remember the huge, long, debate over whether what Tivo did really *did* violate the "spirit"? I don't think it did, and I think the GPLv3 is an overreaction to a complete non-issue. Even if you do acknowledge there is such a thing as a "spirit" to the contract, you still have to recognize that there are as many different interpretations of that "spirit" as their are users of it.

Even if you do acknowledge there is such a thing as a "spirit" to the contract, you still have to recognize that there are as many different interpretations of that "spirit" as their are users of it.

However, the only valid interpretation of the "spirit" of the GPL is that of the FSF. They wrote it, thus they know what they intended. Any differing interpretations are just misinterpretations - just like this original xpilot author's mistaken belief that GPLv2 means a price of zero.

'Remember when TiVo went by the letter of the GPL (v2) but not the apparent spirit? A new section of GPL v3 was born.'

This is actually the most relevant point in the entire discussion. The iPhone app store falls foul of exactly this clause in GPL3, created to address a very similar issue. John Sullivan at the FSF addresses the problem here:

"Apple's approach runs headlong into an important part of the GPL's copyleft approach -- the principle that anytime someone shares a copy of a GPL-covered program with another person, she also needs to provide that person with the installable, human-readable source code for that program. This ensures that everyone who gets a copy of a program also gets the raw material needed for any study and modification. This freedom is not meaningful if the computer on which the software is meant to run arbitrarily rejects any potentially changed version installed by the user simply because it has not been signed or approved by a "higher" authority. The latest version of the GPL (GPLv3) includes a provision to address the threat posed by this tivoization and put a stop to this method of depriving users of freedom."

So the problem is not that the app is being charged for (this is fine), but that it's on the app store at all. This violates the spirit of the GPL in general (as it makes one of its fundamental freedoms 'not meaningful') and the letter of GPL3. The letter of GPL2 would not be violated (it's a situation the original GPL authors had simply not considered), provided that the app is accompanied by its source code or a written offer to supply it (presumably the source is not included in the app store download, but is the written offer? - it's not enough just to have the source on the personal site of the iPhone version's authors).

Of course there's a spirit of the licence. You don't think that lawyerspeak is the most important value in life do you? Or that ethics consists of doing the maximum that you can get away with while still squeezing within the letter of the law? In fact, according to its author, the letter of the GPL is less important than its spirit, which is expressed in the preamble:

Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

Now, is this spirit being upheld when you buy the app from the App Store? Do you have freedom to distribute copies of it to other iPhone users? Can you change the software and run your changed version? It's pretty clear that people who buy it from the App Store don't have these freedoms; even if they can get the source code from some web site, that's about as much use to them as the printed copies of source code that used to be supplied with IBM mainframes instead of a real online copy you can rebuild and run. So I think the original author had a point; he and his fellow contributors made the software with the expectation that everyone who gets it can freely share and modify it, but here most users cannot.

On the other hand, there are those who don't think this is what the GPL is about. For example Linus has said it's quite okay to distribute locked-down Linux installations that the user can't modify, despite the language about 'freedom' in the GPLv2 licence. So there is certainly room for interpretation.

Now, is this spirit being upheld when you buy the app from the App Store? Do you have freedom to distribute copies of it to other iPhone users? Can you change the software and run your changed version? It's pretty clear that people who buy it from the App Store don't have these freedoms;

Where does it specify in the GPL that you must redistribute on the exact device and channel you receive it on? I do not see that. Redistributing simulator binaries is the freedom to distribute the program, just on a differen

So if you find a loophole in the law that lets you get away with murder you'd have no problem doing it? There's something to be said for respecting the wishes of the people licensing you the software even if they've not been able to craft a perfect, no-loopholes legal document to describe them.

A man with a lethal weapon (gun) comes into my house. He threatens to kill me. I kill him first. At trial, I plead self-defense. I killed someone, but I had no problem doing it. I defended my life, the lives of my family, and my property. I don't even think I'd feel bad.

http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC2 [gnu.org]
Preamble...When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC3 [gnu.org]
"1. 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 that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may 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."

It's not a loophole, it is deliberately, specifically granted by the terms of the licence that you have the right to sell copies. Not only that, but:
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC3 [gnu.org]
"6.... You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

As such, it is the original author who is attempting to violate the GPL by attempting to impose further restrictions. If they didn't like ALL the terms of the licence, they shouldn't have used the GPLv2 to release their work.

The US Constitution was ratified through the proper channels to rectify this. It wasn't just a matter of some one saying "it's a living document, so we'll just interpret it to mean whatever we want it to say".

"All persons born or naturalized in the United States, and subject to the jurisdiction thereof, are citizens of the United States and of the State wherein they reside. No State shall make or enforce any law which shall abridge the privileges or immunities of citizens of the United States; nor shall any State deprive any person of life, liberty, or property, without due process of law; nor deny to any person within its jurisdiction the equal protection of the laws." - 14th Amendment.

You're not doing anything wrong. You've not in violation of any licenses. By choosing the GPL, the pissy developer:1) Already answered the question of whether people can charge for it (the answer: yes)2) Gave up control of the project; you could just call yours a "fork" and he'd have to shut up anyway

He's not obligated to provide the SDK license, nor is he obligated to provide access to the AppStore. He's obligated to redistribute the GPL'd source code which he is. Hell, he could charge another $2.99 for the ability to download the source code if he wanted and that's all perfectly fine. Also, you are seriously confusing the concept of the why GPL'd source code is free. It's not free as in there is no cost. It's free in that you will always have access to the source and the ability to modify it as you see fit, so long as you also extend that freedom on to others.

Just because it's GPL does not mean it's also $0.00.

The submitter has done absolutely nothing wrong, and the original dev shouldn't have released the source under the GPL if he felt that the app should never be charged for. He should have released it under a non commercial license that explicitly restricted the sale of the software.

It's fine to charge for a product that is based on a GPL'd project as long as you are contributing back to GPL'd project. That is what the GPL is about. Nothing says you can't make money. Redhat does it every day and no one complains. And CentOS came along and created a free version of Redhat but it really didn't impact Redhats business model.

As for CentOS, it is probably core to Redhat's business, as no body is going to develop an app on Fedora, and deploy on RHEL as you would have to retest everything, may as well use Ubuntu as RHEL if you are moving off Fedora, Ubuntu might even be easier to move to.

CentOS is what people that think they might have to deploy on RHEL for production use for skunkworks projects.

Does the GPL allow me to charge a fee for downloading the program from my site?

Yes. You can charge any fee you wish for distributing a copy of the program. If you distribute binaries by download, you must provide âoeequivalent accessâ to download the sourceâ"therefore, the fee to download source may not be greater than the fee to download the binary.

You did everything right, and nothing wrong. I am more thinking that the people who are angry are jealous that they did not think of it first.

I think that section is more to cover "transport fees". That is, the fee to actually download it, not to buy it.

Besides, they're not downloading it from his site, they're downloading it from Apple's site. So Apple's 30% cut is covered by this section, not the developer's 70%.

I personally am quite certain this situation is equivalent to the one that brought about the GPLv3. In this case, the source is given out but it's useless to most people in terms of recreating the actual binaries (because you cannot mak

I can see where your arguments are coming from and I think your opinion makes sense.

However anyone can download the code from their website and compile it on the iphone simulator (which, together with XCode is a free download from Apple). You could argue that you still need a non-free os to run it which won't make RMS happy, but then again on a PC you more often than not have a non free BIOS that's needed to run the OS. And pretty much any computer has a non-free hardware.

Because of this, and other reasons, in my opinion there's nothing wrong with selling a GPL program on the Itunes store as long as anyone who bought it can get the source code.

'You did everything right, and nothing wrong. I am more thinking that the people who are angry are jealous that they did not think of it first.

Agreed.

' I am more thinking that the people who are angry are jealous that they did not think of it first.'...or, another possibility: the author of the original XPilot appears to have a legitimate (but not legally protected) vision of the legacy of his work, and is trying to protect it/disguise it behind his (clearly flawed) interpretation of the GPL.

It would be much better if the author just communicated that his wish would be to have software based on his own be free-as-in-beer, acknowleding that the new authors are under no legal obligation to do so. The authors of this new software are legally free to do whatever they want, including telling the original author to piss off. Would they feel morally comfortable about doing so, is the real question? This is really a moral and/or friendship dispute, not a legal one.

I completely agree with most of your points here except the bit about 'I am more thinking that the people who are angry are jealous that they did not think of it first'. A lot of people who work on GPL software are strongly against vendor lock in, and the iPhone platform is kind of providing an end run against GPL provisions and I think it does allow effects that the authors of GPL were probably trying to avoid. The original poster's conciliatory tone leads me to believe he would like to fit in with the s

Sour grapes are what that man is feeling. He wishes either that he could have done what you have done or that is probably hoping you ask if you can mollify him by giving him some money. No matter the case, he is wrong. There's absolutely nothing wrong with making money from GPL'd software... but you have to offer up the code. So:

Offer up the code. Where can I download it? Your code, BTW. The Apple app code.

Also looking at the videos from that web-page it seems to me that the developers have contributed significantly to the project, especially in coming up with innovative controls for the game suiting the iphone.

To me the whole thing also seems pretty clear, they are not doing anything wrong at all.

one of the original developers of XPilot told us he feels adamantly that we're betraying the spirit of the GPL by charging for it

No, you're not.

You're betraying what he feels is the spirit of the GPL. However, the GPL was specifically designed to allow for such charging. If he didn't like the GPL, he and the other "original" developers should have chosen a different license. The fact that he didn't understand what rights he was transferring by choosing the GPL is his own fault.

I appreciate that this developer is put off by your fees. However, he is free to take your efforts (the GPL'd code you've published) and release the application for free.

I think you've gone above and beyond by hearing the guy out and expressing your concerns. However, you're following the rules HE set out.

Yes, the GPL allows everyone to do this. The right to sell copies [gnu.org] is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge. (The one exception is the required written offer to provide source code that must accompany binary-only release.)

Why was this posted on Slashdot anyway. They may call programmers rude, but this is clearly a case to RTFM before asking.

If you don't want other people making money from your work, then you shouldn't release anything under the GPL. That's easy...

But is it legal to release any iPhone application under the GPL? Apple puts restrictions on what you can do with the application once you've downloaded it - i.e. you're not allowed to redistribute or modify it. Unless all of the copyright holders of the GPL code give their permission to release it under these more restrictive terms, that be a violation wouldn't it?

If the original developer wants the iPhone app to be free, he can take your source, pay Apple the $99 SDK nuisance fee and list the app for free at the app store. The GPL permits this and such undercutting is the main deterrent to trying to sell GPL'd apps. No scarcity = no leverage to maintain your prices.

Step 1: Port game
Step 2: General controversy over game
Step 3: Profit!

IMHO this post was scored incorrectly....
this is not just "Funny" but is also just plain smart/insightful. this may have been a clever move, but it was more than that...this was just plain smart. creating controversy (especially among this community) is advertising. i imagine that sales for this game has gone up (and will continue to go up) since this post. i for one will probably pick this game up when i finish this post. like i said, many times controversy => advertisement...and a lot of that advertisement ends up being positive...i mean geeze....look at the tone of this thread...
-ryan

Did you know that the FSF charges for GPL software if you buy a copy from them? (Yes, you can also get it for nothing. That's not the point.) So don't feel bad about charging. Yes, give the source away too; if someone else decides to put a version built from the same source in the App Store, they can (assuming they get it past Apple's asinine guardianship, of course).

IMHO, Ethics isn't the issue here. Someone either misunderstood or doesn't want to accept that GPL'd software can have a price put on it... So long as the source is available for free or less than the cost of the binary (I prefer free of course ^_^).

I checked out the authors site and lo! There was the source code and I even downloaded a copy for good measure.

There really isn't any reason that someone who has put a lot of work and money into building/porting/developing/fixing a GPL application can't charge for the complied binary other than having to listen to those who don't wish to pay and are far too lazy/technically lacking to compile their own from the source.

The only person "in the wrong" here was the one complaining.

I own a copy of XPilot for the iPhone as I couldn't resist the classical goodness. The author put a LOT of work into making it exceptionally polished and playable on a platform that it wasn't intended for. Not to mention (as the author did) the cost of development.

That was $3 gladly spent. As much as I rely on free apps, I don't much mind spending >10 on REALLY good portable device apps and >20 on desktop apps here and there. The thing is, they need to be significantly better than average to be "worth buying" in my mind. This is why I actually donate to authors of apps that are one, two or even three cuts above.

Show them some love people and perhaps fewer developers would charge you for the pleasure of initially using it in the first place!

The GPL, as many have commented, does not preclude or even discourage charging money for the software. The primary ethical thrust of the GPL is that your users must have unbridled freedom to use, modify, and redistribute the software you have provided to them. You appear to have met that cleanly.

But, as a considerate human being, you've also taken the time to consider the original authors personal wishes. That's a gracious thing to do, but obviously it's now landed you in an awkward position. Candidly, I'm with you; I'm rather biased, and think that folks deserve to receive compensation for their work on Free Software. However, it's up to you to decide how far to go in satisfying their personal wishes. So, it remains an interesting ethical dilemma, but I think it has nothing to do with the GPL.

Of course, if this is all a clever marketing stunt, and you're in cahoots with the original developer to create a fake controversy,
then my hat is off to you, sir.:-).

The use of the app store and a locked down (in the case of users without developer licenses!) platform somewhat undermines the usual assumption that by providing the source code anyone has the power to modify the program running on their device. Which is unfortunate and alters the conditions from those that GPL software is usually distributed under, since it's harder for someone to take advantage of that source to modify the app's behaviour or to undercut your price. But that's really a problem with the platform and the app store, which you haven't created. And, at the end of the day, anybody else is still free to pay for the developer license - like you did - then put the resulting work onto app store for free.

Arguably the really question is whether you ought to "compensate" for the deficiencies of the app store (cost as a barrier to entry, devices locked down) by distributing your app for free. I don't see that that's necessary.You have running costs on the server, right? So you're providing a service and it's right that you feel justified in charging for it. Not to mention the understandable wish to make back the money you paid for developer kits and to get compensation for your time.

Also, it's not against the spirit of the GPL to charge for the software, by the FSF / RMS's definition. It might be against the spirit that the original developers intended their contributions to be under but then they should have chosen a different license. Arguably the developer who got in contact with you is - though presumably acting in good faith - the one who truly is violating the spirit of the GPL. Why? Because he's trying to apply additional restrictions which all the other contributors explicitly disallowed when they used the GPL for their own code. He probably doesn't see it that way and I certainly don't think there's any reason to think he's being *bad*. But he is not correct in his reasoning, IMO.

If you really wanted to make a gesture over this issue (though neither the GPL nor ethics would seem to require you to) you could try some of the following:a) donating more code to the original project, ensuring its merged upstream, if you haven't alreadyb) donating money to the projectc) provide an alternate apps store download that is free but cannot connect to your Xpilot-iPhone server (then if other people want to provide the service for free they can, whilst your paying customers get to use the service you're providing)d) lower the price (or make it free) when your developer licenses (and, optionally, your time) have been paid for. Making this somewhat like a bounty system, which gets used in OSS anyhow.

c) feels quite impure in some ways, so I'd think a) and b) are probably the appropriate way to go, with d) if you feel extra generous!

Since the original XPilot is GPLv2 the case is quite clear-cut, as everyone already answered. Perhaps the original developer is confused by comments pertining to v3, such as the following?

Published at http://www.fsf.org/blogs/community/why-free-software-and-apples-iphone-dont-mix [fsf.org], "Why free software and Apple's iPhone don't mix" is one of a series of articles detailing the threats posed by Apple's iPhone to the free software community. It focuses specifically on Apple's "tivoization" model of requiring every application installed on the iPhone to have an approved cryptographic signature, a restriction which is incompatible with version 3 of the GNU General Public License and with user freedoms to share and modify free software in general. (emphasis added)

The URL referred to makes this case based on a quote of the GPLv3 "Installation Information" clause,

"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

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 (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).

Even then, I wonder if "incompatible" is not overstating the case. 1) Does conveying here "occu[r] as part of a transaction in which..."? 2) Who exactly is "retain[ing] the ability to install modified object code..."?

The GPL is quite clear on this. If the original publishers didn't want it to be charged for, they should have created their own license. 15 years ago they didn't cover their bases, and have since abandoned the code? You're fine. If they want a complete free on available, let them release one. After all, it is the GPL. THAT is the spirit of the license, and by my reckoning you have done an admirable job of honoring it. Thank you for your contribution.

Technically speaking, you're not doing anything wrong.Morally speaking, you are. Apple iPhone is a fenced product in complete control of Apple. There is nothing free about it. Releasing GPL software for iPhone is in direct contradiction of GPL spirit.

Note that this is different from windows. There anybody is free to just pay for the OS and then download any compilers, any code, anything and therefore it is not ideal but OK from the perspective of GPL. iPhone on the other hand is a piece of hardware that is effectively owned by Apple and not the person who bought it.

Well, I'm that disgruntled original developer, and I'll let other developers chime in if they feel like it, though most of the conversations with Sean and Michael (SM) have been with me. I'm incredibly torn:

On the one hand, SM have put some life back into a project that's dear to my heart, and I'm really thrilled about that. They deserve thanks.

On the other hand, SM are trying to unfairly profit from the man-years of development work that went into XPilot, and that just rubs me (and the other developers that I asked) the wrong way.

FREE AS IN BEER
Why is XPilot not free? "Covering distribution costs" is a joke. They are negligible ($99 per year amortized across all their projects) and I (and I'm sure tons of other people too) is willing to put the game up for free. This wouldn't be very nice to SM, so I was hoping to avoid that.

I even suggested to SM that they make it free after they recouped their distribution costs (which should be about now considering the PR it's getting), but that made them go ballistic.

FREE AS IN FREEDOM
Is the source is freely available? Well...

1) They haven't checked in any of their source since June (more than a month), though the latest release is from a few days ago.

2) The availability of the source code isn't clearly (or at all) advertised in the game, and until I complained about it, wasn't even advertised on the app store page.

It's pretty clear to me that they did this port wanting to make money from their development time, which is no different from a commercial venture, but quite different from the expectations of every other contributor of XPilot (and other open source projects). I would even say it's against the spirit of the GPL.

There are a number of other issues with selling open source software:

Fair compensation - Even if you could sell it, there's just no way to fairly price the development contributions of everyone in open source projects, and SM probably wouldn't be the right arbiters.

No sustainable competitive advantage - Though they drag their feet advertising and releasing it, the source is free, so there's unfortunately no way to sustain this as a business. It doesn't make sense to try to sell it.

Alienation of contributors - Charging for the game will severely restrict the number of developers that are willing to contribute. It just doesn't feel as altruistic anymore.

Limited user base - Making it free would probably increase the user base 10-100 fold, so if they cared about seeing the user base grow, that's what they would do.

The only thing that might make sense charging for, as far as I can see, is the running of the servers, as that is a per-user cost someone will have to bear.

(I won't even get into the argument that it's against the GPL to even distribute through the app store, but I'll stay away from that since I think that's sad and better dealt with by lawyers and Apple.)

The answer to this is simple: If you don't like the terms of the GPL V2, you should not have released your code under those terms. To quote the GPL "You may 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."

Provided they are in compliance with every other part of the GPL, the fact that you don't think they are the appropriate vendor is irrelevant; get over yourself.

Please moderate up the parent. I very much appreciate Bjorn chiming in on this with his side of the story -- and again, I can't emphasize enough just how much we respect his contribution; without Bjorn, there would have been no XPilot to begin with.

I'd like to clarify a few points.

The source is current. The git repository available on the page is exactly the source that we've built each release from, and is in fact the only way the two of use share code with each other; when it's not updated, it's because we haven't changed anything that day.

The message you're referring to where we "went ballistic" was very much an over simplification. If anybody is interested in the actual email he's talking about, I'll be happy to provide it, but this is a mischaracterization. In particular, Bjorn responded to our extending an olive branch by providing a deadline for us to make the game free, and yes, that rubbed me the wrong way; and Bjorn, I apologize for letting my frustration become so evident.

Your points about whether this was fair or not, and the issues of selling OSS, are perfectly valid -- and in fact trying to determine which of our views reflected the majority perspective of expectations when contributing to GPLed software was, in fact, the reason we wished to have this open discussion.

I'm interested in getting clarification on some of the points you've raised.

On the other hand, SM are trying to unfairly profit from the man-years of development work that went into XPilot, and that just rubs me (and the other developers that I asked) the wrong way.

How is this significantly different from Red Hat selling RHEL? RH are also trying to profit from the man-years of development work that went into the Linux kernel, associated binaries, tools, environments and configuration efforts.

FREE AS IN BEER
Why is XPilot not free? "Covering distribution costs" is a joke. They are negligible ($99 per year amortized across all their projects) and I (and I'm sure tons of other people too) is willing to put the game up for free. This wouldn't be very nice to SM, so I was hoping to avoid that.

I see only the XPilot game on the site linked in the summary, but I did find other sites publicising XPilot for the iPhone so I'm not sure whether they have 1 project or many. Regardless, are you suggesting that all GPL projects on the iPhone must have their registration costs and time paid for by an original non-GPL application? They have to purchase bandwidth and computing resources, maintain the web site - why can they not continue to recover those costs too?

Is the source is freely available? Well...

1) They haven't checked in any of their source since June (more than a month), though the latest release is from a few days ago.

2) The availability of the source code isn't clearly (or at all) advertised in the game, and until I complained about it, wasn't even advertised on the app store page.

It's pretty clear to me that they did this port wanting to make money from their development time, which is no different from a commercial venture, but quite different from the expectations of every other contributor of XPilot (and other open source projects). I would even say it's against the spirit of the GPL.

I agree the offer of the source needs to be prominent - I see this has been fixed. But charging for the software is not, and has never been, against the spirit of the GPL. Witness RMS himself charging for EMACS on tape, before online distribution was viable. The GPL itself says you can charge for the act of transferring a copy (what else would you characterise the App Store installation as doing?) What if the charge represents only their own contributions?

As for the source being older than the binary - I'd raise two points.

By definition the source is older than the object code it generates, merely by virtue of needing to write before compilation.

Perhaps it was recompiled with an updated compiler? Against an updated library for the new 3.01 iPhone core? And/or the updated version took weeks to be reviewed and published?

There are a number of other issues with selling open source software:

Fair compensation - Even if you could sell it, there's just no way to fairly price the development contributions of everyone in open source projects, and SM probably wouldn't be the right arbiters.

No sustainable competitive advantage - Though they drag their feet advertising and releasing it, the source is free, so there's unfortunately no way to sustain this as a business. It doesn't make sense to try to sell it.

Alienation of contributors - Charging for the game will severely restrict the number of developers that are willing to contribute. It just doesn't feel as altruistic anymore.

Limited user base - Making it free would probably increase the user base 10-100 fold, so if they cared about seeing the user base grow, that's what they would do.

The only thing that might make sense charging for, as far as I can see, is the running of the servers, as that is a per-user cost some

I went and looked at the source [7b5labs.com], and it directly contradicts your statement (GP) that it was only committed in June. The last commits I see on the client were 11 days ago. The newest version on iTunes was submitted 11 or so days ago [7b5labs.com] - 2009.07.22 on that page - and published 2-3 days ago. That seems eminently reasonable.

Not that I could find the source easily... Sean - you might want to link to the source on the Links page of the site, or from the XPilot page.

They shouldn't have released it under a licence that would allow you to do what you did. I would put the price back up to $2.99 and tell the to like it or lump it.

You can't support open source software and then get in a mood because someone does something with your code that you may not necessarily like but follows the licence and especially if they go out of their way to be helpful and kind to the original community/developers.

The original developers are just being dicks and trying to guilt trip you into doing things their way. You might as well stick with closed source, Microsoft, solutions if you want to be bullied into doing things one way.

The usual moronic nonsense. As long as the source is available from the developers, it's fine. Charging for the software is also fine according to the GPL. This "spirit of the GPL" crap comes from morons who can't read the license, or from FSF fanatics who want everything to be free as in beer regardless.

As for whether you can download the source from Apple, that's totally irrelevant. As to why you can't compile and distribute the same app via Apple's store, WHAT THE HELL DOES THAT HAVE TO DO WITH THE ORIGINAL DEVELOPERS OR THE GPL? Go talk to Apple, you morons.

Morons. Idiots trying to start a flame war because they have nothing better to do with their time - the bane of the OSS movement (not to mention the rest of the world).

I haven't read the comments posted yet, and i'm sure there's many posts that say the same thing as this, but....

Yes, its fine.

You are allowed to sell GPL'd software for a price, as long as the source is available. Even the insanely pedantic Richard Stallman won't argue against what you did.

You put in the effort to port it to the iPhone and in doing so along with putting it on the App Store you are required to pay for the Apple Developer License.

There is absolutely NO reason why you can't charge for the binary you compiled and made available via the App Store. AS LONG AS THE SOURCE IS AVAILABLE.

If people don't want to pay, that's fine, they can use the source to compile their own binary and put it on their jailbroke iPhone for free or whatever. Who cares. At this point it is no longer your problem.

Your coded changes are still freely available under the GPL; it's just your packaged, signed, and apple approved binary that is not.

The "UK Government" didn't confiscate anything. It's not clear that any confiscation actually happened. It's not some dimwitted action of central government. If you read the letter in the linked Times article [timesonline.co.uk]:

'They had encountered businesses which were selling copies of Firefox, and wanted to confirm that this was in violation of our licence agreements before taking action against them.'.

BEFORE. The only mention of confiscation is: "we would like her to return any confiscated CDs".

It was one trading standards officer. There are thousands of them all around the country. It was an honest misapplication of a policy which stops pirated software/DVDs/music being sold at town markets and small stores around the country, and it was confusion that was corrected. No lid was flipped, she just got a bit over-official. The officer in question was just doing her job and experiencing some confusion when encountering a new (to her) business model. The problem was resolved.

That's a slightly muddy area, because the app store is not a web site. Question 1 of the FSF's GPL quiz is about distributing the source online when distributing binary on CD and the correct answer that putting a download the source URL on the CD is a violation. The App Store is not a web site, it is accessible either through the iPhone or through iTunes, not via a web browser. That means that placing a download link would not be distributing the source along side the binary, especially since the iPhone's web browser does not allow downloading files, meaning that if you download the app from the store on its target platform you can not get the source the same way.

It's only muddy if you think "internet site" or "internet server" are synonyms for "web site", and if you think "link or cross-reference" means "clickable link on a web page". They are satisfying all of the conditions spelled out in the FAQ answer. Binary on an internet site. Check. Source on a different internet site. Check. Cross reference on first site to second site. Check.

Furthermore, you have ignored the fact that downloading via the iPhone is not the only way to get apps. You can download them throug

Apple changed this with I believe 2.2 so that their beta releases were under NDA, but standard releases are not. Previous to this change you are correct, but the situation has changed for the better now. So as long as they aren't currently releasing 3.1 beta specific code I believe they are fine. That's my understanding as an iPhone developer myself.

Nonsense. It was GPL. It belonged to everyone, to do what they want with it, as long as they abide by the GPL. The only thing wrong that happened here is that some bully and crybaby wanted to control what other people did because of something he did in the past, and, of course, the mistake of trying to appease him.

The right thing to do, would have been to contact the original designers and ask for their permission in the first place.

They already gave him permission when they released the code under GPL. Personally, I'd be annoyed if people were contacting me to ask if they can do things that I already covered by releasing my code under a free software license. Maybe I'd be OK with it if it was some very tricky edge case, but "charge money for GPL code" is not a tricky edge case.

From the GPL "You may 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." You're charging a fee for something else.

You can charge whatever you want. RMS was charging people $150 for copies of Emacs, which is far more than the cost of the "physical act" of copying.

For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable." Notice that last part, "installation of the executable?"

Notice the penultimate part, "scripts to control". That would be the Xcode project files, which he's including.

So, YOU have to give me the right to put an app in the App Store (you can't unless you're Apple) or the right to use the iPhone SDK (you can't unless you're Apple).

No. If that were the case, there could be no GPL software for OS X or Windows. It's your responsibility to get your build environment set up, and the GPL makes no promises that that will be free or easy.

I do understand why some people are uneasy about this; in the case of the iPhone there's a completely artificial barrier to development, as opposed to the inherent "barriers" of needing access to a computer and compiler and so forth, but as far as I can tell that makes no difference for the GPL.