Ask Slashdot: Where Do You Draw the Line On GPL V2 Derived Works and Fees?
First time accepted submitter Shifuimam writes "I downloaded a DOSBox port for Android recently to get back into all the games of my childhood. Turns out that the only free distribution available hasn't been updated in nearly two years, so I looked for alternatives. There are two on Google Play — DOSBox Turbo and "DOSBot". Both charge a fee — DOSBox Turbo is $3.99; DOSBot is $0.99. The developer of DOSBot says on his Google Play entry that he will not release the source code of his application because it's not GPL, even though it's derived from source released under GPL v2 — this is definitely a violation of the license. The developer of DOSBox Turbo is refusing to release the source for his application unless you pay the $3.99 to "buy" a license of it. The same developer explicitly states that the "small" fee (although one might argue that $3.99 is pretty expensive for an OSS Android app) is to cover the cost of development. Unless I'm misreading the text of GPL v2, a fee can only be charged to cover the cost of the distribution of a program or derived work, not the cost of development. And, of course, it doesn't cost the developer anything for someone to log in to Google Play and download their app. In fact, from what I can tell, there's a one-time $25 fee to register for Google Checkout, after which releasing apps is free. Where do you draw the line on this? What do you do in this kind of situation?"
If you have to pay $3.99 to get the DOSBox Turbo binary, and then you get the source free along with it, then that's definitely not a violation of the license. (If you don't give someone the binary, then you don't have to give them the source either.) It's also definitely open to someone following the AC's suggestion.
What about the rights of the people who worked on it in the past, with the understanding that their "compensation" would be in the form of others donating their time to continue improvements?
From what I understand, the "heavy lifting" of getting a MSDOS emulator working has been done under these terms. DOSBot and DOSBox Turbo can replace the GPLed code that OTHER PEOPLE HAVE WRITTEN AND DESERVE TO BE COMPENSATED FOR with code they've written themselves if they don't agree to those terms.
A restriction is only as binding as its enforcement mechanism. If the developers behind DOSBox aren't going to hold other developers accountable who are trading on their name, and nobody else is willing to take them to court over it (and obviously nobody will over $3.99), then the restrictions are meaningless.
Another incident which comes to mind is that of DD-WRT - there are several articles on this, but I'll just link to the first on Google's listings - where they derived their product from open source code (OpenWRT), then closed source key parts and refuse to release the code in workable form.
It seems to me that this is the fundamental problem with GPL, and some other, open source licenses; it all depends on the honor system. Sure, they are technically legally binding, but if nobody holds anybody's feet to the fire, that means nothing.
As it pertains to you if you really care that much about it, I suppose you have three choices: (1) Swallow it, and pay the price they are demanding; (2) Go without, and refuse to give developers like this your money; (3) Buy a license of the source code, and then release it publicly out of principle. Since this stemmed from wanting to play games from your childhood, the pragmatist in me says to choose option two and move on.
The GPL doesn't prohibit you from charging for your software. It does require you to give the source to anyone who gets the binary and charge only the cost of distribution, but failing to do so is a license violation against the copyright holder, not against the user who wants the source.
So you need to convince a copyright holder of the original GPL2 version to go after the individual who isn't releasing source.
And you need to pay the $3.99 before you can get the source from the other guy.
I thought you could charge any amount you want for distribution...
Yes and no.
1. If you sell a binary that contains GPLv2 code, you must also make available the source code , and for distributing that source code, you can only charge a reasonable fee to cover costs.
But...
2. The binary you may charge whatever you want - 1 cent or $1000 or whatever.
If you want news from today, you have to come back tomorrow.
The GPL doesn't mandate that the software/source code be released for free, it mandates that the source code MUST accompany the binary if (and only if) the binary is distributed.
For example, I work for Random Fortune 500 Co. and take a copy of DOSBox, heavily modify it and deploy it to all the workstations in my organization. At no point am I publicly distributing a binary, thus nobody has the right to demand I release my source code.
Example 2: I decide to take the DOSBox source code and make an Android port. I put this port in the app store and sell it for $5. Unless you purchase the application, again you have no right to request the source code. If 100 people purchase my application, they have the right to request the modified source code. If you buy it, you can request the source code.
Once you get the source code, you can do whatever you want with it, within the bounds of the GPL. You can give it away for free, package it up and resell it (modified or unmodified), or never give it away to anyone!
everyday is another shooter.
Wrong.
Pay the 3.99
request the source
make a small improvement.
post a version for 1.35 on play
Sell the app 3 times.
Profit!!!!
put a ad supported version of in the store. More profit.
FUD much?
You took clause 3(b) completely out of context. Here is the full context from GPL-v2:
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:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
What emurphy42 said was correct. Clause 3(b) is an option, not an absolute requirement like you made it seem. The suggestion by emurphy42 is an equally viable option.
We don't see the world as it is, we see it as we are.
-- Anais Nin
"If you don't give someone the binary"
I believe the intent of the parent poster was using give as in "provide" not "give" as in make a gift of.
You are absolutely allowed to sell the binary for any price the market will bear, and then for compliance with the GPL you must either have a written offer as you describe or include the source code with the binary distribution. It isn't clear from the facts whether the distributor of DosBox Turbo is in compliance or not, it would depend entirely on whether there is a written offer for how to get source at a minimal expense included in the help text of the app or in the app description. Without that, then it seems to me to be in violation, but it doesn't hinge on the cost of the binary.
One critical fact is that anybody who does get the source has full GPL rights to it, and can redistribute it should they choose. This ability to compete is what limits the pricing, not the GPL.
The AC had it right -- one must choose one of 3(a), 3(b) or 3(c) when one distributes a binary form of the work. It seems clear that the "DOSBox Turbo" distributor is not using 3(a) and is not eligible to use 3(c). If he wishes to comply with GPLv2, then, he must choose 3(b), and his written offer to provide source code must be valid for any third party. $3.99 is clearly not the distributor's cost to perform source distribution.
distribute the source on demand to ANYBODY requesting it for the price of materials
Not anybody -- any third party. That's a specific legal term and the specific meaning of the third party is not defined. The GPL v3 clarified it as to mean that the first party (distributor) only has to provide source code to a third party if the third party received a GPL-licensed work from the first party. If it came down to it, a judge and jury would probably use the GPL v3 rules for an ambiguous v2 license dispute.
No. If the binary doesn't come with the source, he does have to give the source to anyone in the world who got a binary, even if it wasn't him who gave them the copy. From the GPLv2 FAQ:
What does this âoewritten offer valid for any third partyâ mean? Does that mean everyone in the world can get the source to any GPL'ed program no matter what?
If you choose to provide source through a written offer, then anybody who requests the source from you is entitled to receive it.
If you commercially distribute binaries not accompanied with source code, the GPL says you must provide a written offer to distribute the source code later. When users non-commercially redistribute the binaries they received from you, they must pass along a copy of this written offer. This means that people who did not get the binaries directly from you can still receive copies of the source code, along with the written offer.
The reason we require the offer to be valid for any third party is so that people who receive the binaries indirectly in that way can order the source code from you.
https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#WhatDoesWrittenOfferValid
Dilbert RSS feed
I don't think so. "Third party" is, as you say, a specific legal term, but it is well-defined in law. The GPL doesn't provide any other definition, so the standard definition would be used in interpreting that language in the GPL.
And no, the GPL v3 doesn't allow distributing only to people who got the software directly from the distributor. Section 6 paragraph B (which applies here) says you have to provide the code to anyone who possesses the binaries. If Harry gets the program from you, and then Harry passes a copy along to me, I have a right to get the source code from you (Harry received the software under 6b, I received it under 6c, I possess the binaries thus can invoke 6b against you).
One thing's remained constant for a long time: the only option that permits you to give source code only to people who received the software directly from you is 3A (GPLv2) or 6A (GPLv3): distributing the source code along with the binaries.
-- http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#WhatDoesWrittenOfferValid
Which makes sense, since the first two parties are the two involved in the license, "any third party" is anyone else.
"National Security is the chief cause of national insecurity." - Celine's First Law
This is correct, and for the DOSBox Turbo, the OP got it completely wrong
The person possessing the GPLed software can charge anything he likes for the binaries. It's only to the source code that there is a limit to whatever the distribution cost is. But DOSBox Turbo has every right to charge what it likes. The fact that the OP is bitching about $3.99 - less then the cost of a happy meal - shows exactly what's wrong w/ the 'free software' movement, and why companies are right to avoid them like the plague.
Also, the source code only has to accompany the binaries - it doesn't have to be given for free to just about anybody or everybody. Personally, I think that clause 3b is ridiculous - nobody should have to support a third party, who only got that software due to a license, and not anything else. But the way around it is for anybody selling GPL software to go w/ option 3a - once they are paid, provide both the binaries and source in the same download, and leave the responsibility of re-distributing the source to the customer. That way, any Billy Joe Blow turns up asking for the source code, he can be told to GFY, unless he happened to buy it from him.
That way, that'll be all there is to it.
Stop with the apologetics for GPL violations!
What violation? There is no evidence of any GPL violation here. Falsely charging someone with violating the GPL when they are not is a common anti-GPL FUD tactic. You have even gone so far as to claim they violate the spirit of the GPL because they choose to charge for their software and don't also have a spiel about "free as in freedom".
When I said DOSBox Turbo was following the spirit of the GPL it was in regard to their offer to send the source code after you buy the app. Instead of conceding this point, you switched topics to the fact that they charge money for the app, saying that violated the spirit of the GPL. When I countered your new argument you switched back to your original unfounded claims that they are violating the GPL even after you tacitly admitted there is no evidence of a violation besides conjecture on your part.
There are plenty of people who are clearly violating both the letter and the spirit of the GPL. If you are truly a friend of the GPL and Free Software then go after them instead of defending AC FUD here.
We don't see the world as it is, we see it as we are.
-- Anais Nin
Thanks for the very lively and interesting discussion. The OP e-mailed a few days ago asking for the source code for DosBox Turbo. I informed him that I make available the source code to my users whom I've distributed a binary to and that the GPL specifically allows for this. I also make available the source code to the upsteam DosBox devs, and forwarded them copies not too long ago. Furthermore, I've contacted the aDosBox devs and offered to port many of my improvements into the free aDosBox software for everyone to benefit. I've never heard back from the aDosBox devs, and I am assuming it is a dead project, as there has been no activity in over a year and no response to my messages in over 4 months.
While I respect the OP's opinion that (actual price on Google play is $3.49) is too much to pay (don't forget Google takes 30% off the top), the reality is, a majority of my time is spent providing user support, fixing bugs in various Android devices that my users have, and implementing new features and suggestions from my user-base. I've amassed a collection of no less than 8 different Android devices, so that I can reproduce a wide range of reported bugs.
The OP and I may disagree on what my time is worth; however, we did have a constructive discussion about perhaps moving to a model of charging for the value add-ons (which I currently provide for free), although, I'm not sure how easy that would be within the Google Play framework. I also suggested to him that there were numerous avenues for him to obtain a copy of the binary free of charge if price was a factor (one only has to search the various Android warez sites) and that I had no problems with him going that route.
While the OP may disagree with me, I believe that being able to charge for GPL software (and comply with the GPL) allows for development of better software with features and bug fixes that would normally never occur. Believe me, it is very time-consuming to sit around for hours answering user e-mails, or spending hours to fix hard to reproduce bugs that occur only on a specific version of Android or a specific device. Few, if any people, would do that kind of tedious work for free.
So, I did pay the $3.99 for DOSBox Turbo, installed it on my phone, and moved it to the SD card. When mounting that as a disk drive, the only thing I can see related to "dosbox" is .../.android_secure/com.fishstix.dosbox-1.asec, an 8.5 MB binary file that is apparently encrypted. When I run the application itself, it does not include anything that looks like a link or other offer to the corresponding source code. My conclusion: This is a clear and blatant violation of both the letter and the spirit of the GPL. Now will you admit that you're wrong?
So, I did pay the $3.99 for DOSBox Turbo, installed it on my phone, and moved it to the SD card. When mounting that as a disk drive, the only thing I can see related to "dosbox" is .../.android_secure/com.fishstix.dosbox-1.asec, an 8.5 MB binary file that is apparently encrypted. When I run the application itself, it does not include anything that looks like a link or other offer to the corresponding source code. My conclusion: This is a clear and blatant violation of both the letter and the spirit of the GPL. Now will you admit that you're wrong?
If you purchased DosBox Turbo from the Google Play store, click on the link next to the app icon and send me a request for the source (if you haven't already done so). I'm currently away from my main desk; however, I will get your request processed within 24 hours.
The GPLv2 is not deficient in the manner you claim, at least in this case. This is a commercial distribution in a binary form, which means section 3(c) cannot apply. If installing the binary form also installs the complete corresponding source code, then the distributor satisfies section 3(a). If it does not, he must comply with section 3(b), which allows any third party to request the (complete corresponding) source code. The implication from the article summary is that 3(b) does apply, and that $3.99 is more than the "cost of physically performing source distribution" -- a blank CD plus US postage for same is certainly less than that.
I, for one, am not willing to pay $3.99 for an experiment where the outcome seems so likely to be unrewarding. I would guess that the source code would be incomplete and/or would not correspond to the version that one can get through Google Play, and that the distributor would also claim a GPLv2-incompatible license for some of the Android-specific bits. Because I do not hold a copyright that would be infringed in such a case, it is not worth my time or money to confirm my guess. Even if that guess were wrong, I would not get $3.99 worth of value from either the source or binary form of the app.
The source I've distributed to my end users includes all the necessary Android-specific bits to compile a working executable just like the one in the Google play store.