Hacker News new | ask | show | jobs
by zppx 5612 days ago
BeTrains is a GPL software, and the iOS version is in the App Store.

In my opinion GPL software is incompatible with the App Store in general, for paid applications it's even more explicit, the GPL gives you the right to distribute the compiled software as you wish, a paid app cannot be distributed for more than 5 devices as far as I understand.

Of course there's exceptions, if every copyright holders do agree, they can give GPL exceptions for distributors, such as Apple, another situation like that exists if the software contain copyrighted artwork that's not under the GPL, then you can distribute the code freely but not the artwork (and as such any binary that contains this artwork), there's various complications, I think a lawyer can give more explanation about this situation.

EDIT: I'm not sure but I think the GPL contain terms that regulates non-source forms, there are also terms that complicates distributors from limiting user's freedoms, as the GPL define freedoms, although I believe the last case is void if the copyright holders give exceptions to the distributor.

EDIT2: Correction for BeTrains.

1 comments

You're correct. GPL regulates non-source forms (section 6--Conveying Non-Source Forms). However, I think in this case it's the anti-TiVoization clauses that interfere with the App Store DRM.
I don't see how the anti-Tivoication clause is incompatible with DRM in general. It only seems to be incompatible with DRM on bundled software:

    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).
Optional add-ons for a device sold in separate transactions after the sale of the device on which they run would not be transactions "in which the right of possession and use of the User Product is transferred".
An iOS device running a third-party download does not constitute a User Product. Otherwise, I don't understand what you're getting at. Yes, there are DRM exceptions in the GPL (mostly to allow use in things like medical devices).

Even if we assume an App by itself constitutes a User Product, then when you purchase an App Store app, you're allowed to install it on your phone (possession) and run it (use)? But that's a big stretch. I'm just trying to understand your point.

The point is that the anti-tivoization provision does not appear to be relevant to IOS devices. The anti-tivoization provision is to stop manufacturers of devices that ship with GPL code from using DRM to prevent use of modifications to that code. It does not seem to prohibit using DRM to lock down GPL code that does not ship with the device.
That's what I thought you were trying to argue and I don't think you're right. Even software that does not ship with the device is covered by the GPL. Because of the new anti-DRM features of GPLv3, there is a new "loophole" that allows a limited locked down for software shipped with the device--essentially protecting some actions that were allowed under GPLv2 from the new anti-DRM provisions present inf GPLv3. While I agree that the loophole does not apply here, that does not at all mean that the rest of the GPL is not in force.

You should read the FSF's position on the App Store. They have stated that it is sufficient to rely on the "no additional restrictions" provisions in deciding that both GPLv2 and GPLv3 software cannot be distributed there. However, sufficiency is not equivalent to necessity and the FSF also mentions that GPLv3 provides additional conflicts specifically related to the App Store DRM.

Anti-Tivoization is only in GPLv3 but most people are still using GPLv2. The problem with the App Store and GPLv2 is its ban on additional restrictions.
Most of GNU is now GPLv3+. BeTrains is GPLv3