|
|
Subscribe / Log in / New account

Wesnoth struggles with App Store's GPL incompatibilities

Wesnoth struggles with App Store's GPL incompatibilities

Posted Jul 22, 2010 9:00 UTC (Thu) by Aissen (subscriber, #59976)
Parent article: Wesnoth struggles with App Store's GPL incompatibilities

IANAL, so some things aren't clearÂ…

Because the App Store EULA imposes restrictions on what users can do with the binaries they download, the FSF and others believe that it runs afoul of the "further restrictions" clause in section 6 of the GPL. As Russell points out, the "walled garden" that Apple is creating violates his understanding of users' rights under the GPL

It's no secret that Apple is using (and sponsoring) open source projects. The most active of those might be WebKit, which is released under the LGPL. But section 10 of the LGPL looks to have the same terms as the supposedly violated section 6 of the GPL. Yet Apple doesn't allow you to replace you libWebKit.so on your iPhone/iPad. So isn't this a violation of the (L)GPL as well ?

Also, another point of GPL contention, that was brought by Bradley M. Kuhn in one of his latest blog post, linked by LWN and agreed on by Harald Welte:
I'm specifically interested in the installation issue because GPLv2 requires that any binary distribution of Linux (such as one on telephone hardware) include both the source code itself and the scripts to control compilation and installation of the executable. So, if Motorola wrote any helper programs or other software that installs Linux onto the phones, then such software, under GPLv2, is a required part of the complete and corresponding source code of Linux and must be distributed to each buyer of a Motorola Android/Linux phone.

The same could be applied to Apple, which doesn't release its WebKit flashing tools. This is in section 0 of the (L)GPL.


to post comments

There are subtle difference...

Posted Jul 22, 2010 10:22 UTC (Thu) by khim (subscriber, #9252) [Link] (4 responses)

Yet Apple doesn't allow you to replace you libWebKit.so on your iPhone/iPad. So isn't this a violation of the (L)GPL as well ?

Well, no. This is tivoization: you are free to change libWebKit.so in any way you want. You just can not actually use the modified libWebKit.so on the iPhone.

If you'll read the actual terms you'll see this little passage: You may not copy (except as expressly permitted by this license and the Usage Rules), decompile, reverse engineer, disassemble, attempt to derive the source code of, modify, or create derivative works of the Licensed Application, any updates, or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by the licensing terms governing use of any open sourced components included with the Licensed Application). This exception is there to make it possible to use LGPL components which allow you to distribute them as long as terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. Again: you can tweak the LGPL libraries to your heart's content - you just can not install modified versions on iPhone...

Everything is fixed in (L)GPLv3, but as long as people are caught in RDF and think Microsoft is vile villain because it finds and exploits loopholes in (L)GPLv2 but Apple it little darling so it's Ok for it do to the same nothing will change.

There are subtle difference...

Posted Jul 22, 2010 10:31 UTC (Thu) by Aissen (subscriber, #59976) [Link] (3 responses)

It seems you didn't read my comment at all, nor the linked posts.

Again: you can tweak the LGPL libraries to your heart's content - you just can not install modified versions on iPhone...
There you have it.

What we are talking about are the scripts to control compilation and installation of the executable

But you cannot install a modified version, because those tools aren't available. That's what Harald and Kuhn are arguing about.

GPLv3 just made things (much) clearer on this matter. But GPLv2 was indeed addressing the issue (in a much more abstract manner).

Please read my links too...

Posted Jul 22, 2010 15:23 UTC (Thu) by khim (subscriber, #9252) [Link] (2 responses)

Again: you can tweak the LGPL libraries to your heart's content - you just can not install modified versions on iPhone...
There you have it.

Yup.

What we are talking about are the scripts to control compilation and installation of the executable.

Nope. We are talking about scripts used to control compilation and installation of the library. And, more importantly, these scripts don't include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. You'll get the required tools when you'll buy the iPhone SDK - situation is more-or-less the same as with Solaris and Sun's compiler. Emacs was distributed for years pre-compiled for Solaris with Sun's compiler and linked with proprietary library (Motif) and it was never considered a problem - what's so different in the iPhone case?

But you cannot install a modified version, because those tools aren't available. That's what Harald and Kuhn are arguing about.

Sorry, but situation is very different there. They were talking about DroidX, we are talking about iPhone. Tools are available: sign the license and NDA, get the SDK - and off we go. This excuse does not work in DroidX case because that component itself accompanies the executable, but iPhone applications are distributed without iPhone SDK...

GPLv3 just made things (much) clearer on this matter. But GPLv2 was indeed addressing the issue (in a much more abstract manner).

It also included few loopholes and Apple (ab)used them to lock down the device - that's all. The fact that the same people who complained about similar abuse in case of Microsoft<->Novell agreement are content with iOS makes me sick but this says more about our community then about Apple.

Please read my links too...

Posted Jul 22, 2010 16:08 UTC (Thu) by Aissen (subscriber, #59976) [Link] (1 responses)

You'll get the required tools when you'll buy the iPhone SDK - situation is more-or-less the same as with Solaris and Sun's compiler. Emacs was distributed for years pre-compiled for Solaris with Sun's compiler and linked with proprietary library (Motif) and it was never considered a problem - what's so different in the iPhone case?

Because nothing prevented you to install a modified Emacs binary on Solaris, compiled with Sun's compiler and linked with Motif.
In the iPhone case, you could include a modified WebKit created with the iPhone SDK in your app (even if you risk violating the EULA if your app can interpret external scriptsÂ…), but you can't install a system-wide libWebKit.so, even if you have the iPhone SDK.
So I'm not sure that applies here.

Again, IANAL, and I'm sure there are real loopholes here (hence the decision of the FSF to write a third version).

Also, I fail to see how the argument brought up in the article (section 6 of GPL) doesn't apply to WebKit (section 10 of the LGPL)

The fact that the same people who complained about similar abuse in case of Microsoft<->Novell agreement are content with iOS makes me sick but this says more about our community then about Apple.
Indeed.

There are explicit exception...

Posted Jul 22, 2010 17:22 UTC (Thu) by khim (subscriber, #9252) [Link]

Also, I fail to see how the argument brought up in the article (section 6 of GPL) doesn't apply to WebKit (section 10 of the LGPL).

It does. You can pull WebKit from iOS image and do what you want with it. You have all the sources, all the scripts, etc. You can even replace WebKit in your image of iOS (I think open-sources LLVM is enough to recompile WebKit but I may be wrong - and it's not really relevant anyway). You just can not install such image on iPhone without jailbreaking it first - but LGPL does not include such requirements, it explicitly gives your right to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. Apple's license gives you such permissions - albeit in roundabout form: You may not and you agree not to, or to enable others to, copy (except as expressly permitted by this License), decompile, reverse engineer, disassemble, attempt to derive the source code of, decrypt, modify, or create derivative works of the iPhone Software or any services provided by the iPhone Software, or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by licensing terms governing use of open-sourced components included with the iPhone Software).

Basically Apple says: if you believe LGPL gives you some rights then we are not removing them, just remember that you'll be forced to prove you have these rights: our lawyers are happy to discuss the matter in court any time and if you are wrong... well, there are severe penalties, you know...


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds