LWN.net Logo

LGPL and app store

LGPL and app store

Posted Nov 22, 2012 13:26 UTC (Thu) by epa (subscriber, #39769)
Parent article: Relicensing VLC from GPL to LGPL

If a library is distributed under LGPL, then you have to allow the user to replace that library with his own modified version (even if your proprietary application code linked to it remains unchangeable). It would seem that distributing VLC in a locked-down app store, where users cannot replace any part of the code once installed, still violates the spirit of the licence, if perhaps not the letter. It's not clear how a move from GPL to LGPL makes things any better here.

If I downloaded VLC onto an iPhone, and then wanted to exercise my right to modify the LGPLed code, how would I do that? And how is this any different to plain old GPL?


(Log in to post comments)

LGPL and app store

Posted Nov 22, 2012 17:46 UTC (Thu) by khim (subscriber, #9252) [Link]

It would seem that distributing VLC in a locked-down app store, where users cannot replace any part of the code once installed, still violates the spirit of the licence, if perhaps not the letter.

LGPL2.1 only talks about use of a suitable shared library mechanism for linking with the Library. It does not give you the ability to replace said library. LGPL3 is different, but that's another story, we are talking about LGPL2.1+ here.

If I downloaded VLC onto an iPhone, and then wanted to exercise my right to modify the LGPLed code, how would I do that?

It's your problem, really.

And how is this any different to plain old GPL?

That part is easy: any application distributed from Appstore includes proprietary Apple's DRM components - and thus such distribution is incompatible with GPL2 (but obviously compatible with LGPL2.1). Note that there are some Android devices which are Apple-style locked down and will only accept applications from one fixed source. That's fine: as long as application itself is not copy-protected GPL is not violated.

LGPL and app store

Posted Nov 23, 2012 8:28 UTC (Fri) by epa (subscriber, #39769) [Link]

Have a look at section 6 of LGPL 2.1. If you distribute a program that uses the library you must provide a way for the user to relink it with a modified version of the library.

LGPL and app store

Posted Nov 23, 2012 14:54 UTC (Fri) by khim (subscriber, #9252) [Link]

Have you looked on said part?

You must do one of these things:

Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.

If user can somehow install library then it must be used. If user have no means to install the library, then it's user's problem, not a developer's problem. That's why I've said "it's your problem, really": LGPL2.1 does not cover this case at all.

LGPL and app store

Posted Nov 23, 2012 16:15 UTC (Fri) by epa (subscriber, #39769) [Link]

Yup, it says that if the user installs a modified library then it must be used. You can argue that the letter of the licence doesn't exclude technological measures to stop the user from installing a modified library, so you can ship the code on a locked-down device to prevent the user from having freedom to change the library despite what the licence says. This is the problem that newer GPL and LGPL versions address.

However I think the spirit and intent of the licence is that the user has freedom to modify the library (as explained in the LGPL's preamble). This is why I wrote in my original post still violates the spirit of the licence, if perhaps not the letter.

Licensing VLC under LGPL rather than GPL doesn't avoid this problem. You are still going against the intent of the licence by distributing via a locked-down app store. You mentioned linking against Apple's proprietary DRM components, which is more likely to be the reason they did it.

LGPL doesn't help with app stores, anyway.

Posted Nov 22, 2012 19:47 UTC (Thu) by bkuhn (subscriber, #58642) [Link]

I've studied the terms of both Apple's and Google's application store, and neither permits LGPL-covered applications any more easily than GPL-covered ones. I'm left baffled why VLC has done this. I've written more about this issue on my blog.

LGPL doesn't help with app stores, anyway.

Posted Nov 23, 2012 18:38 UTC (Fri) by DonDiego (subscriber, #24141) [Link]

This was not about app stores, much less Apple ones, why do you and others keep assuming that it was? Note that I'm not pulling this statement out of thin air, I talk to the VLC people regularly.

LGPL doesn't help with app stores, anyway.

Posted Nov 23, 2012 23:17 UTC (Fri) by DonDiego (subscriber, #24141) [Link]

Note that the iOS / OS X version of VLC is still GPL as it uses components that are still GPL, c.f. what j-b said on his blog.

LGPL doesn't help with app stores, anyway.

Posted Nov 24, 2012 0:25 UTC (Sat) by giraffedata (subscriber, #1954) [Link]

This was not about app stores, much less Apple ones, why do you and others keep assuming that it was? Note that I'm not pulling this statement out of thin air, I talk to the VLC people regularly.

It sounds like this is a great opportunity for you to say what this undertaking is about. The only example the article came up with of the purposes of the relicensing has to do with an Apple application store, which you have reason to know is false; do you accordingly know what the real reasons are?

LGPL doesn't help with app stores, anyway.

Posted Nov 24, 2012 14:01 UTC (Sat) by mathstuf (subscriber, #69389) [Link]

From the article:

> Other modules, including scripting and visualization, will remain GPL-licensed at least for the time being, because they do not impede the ability of third-party developers to write non-GPL playback applications, which was the leading use-case motivating the change.

LGPL doesn't help with app stores, anyway.

Posted Nov 25, 2012 12:27 UTC (Sun) by DonDiego (subscriber, #24141) [Link]

There you go. While I have to admit that the blog entries do not prominently talk about the reasons why the relicensing was done, it's not like there is no statement at all in that direction.

Note that the FOSS alternatives to the VLC backend/plumbing code are all LGPL or even more liberally licensed. This reminds me more of the decision to make glibc LGPL rather than GPL - plenty of alternative libc implementations exist. Thus for third-party devs there is no incentive to use the more restrictively licensed library.

LGPL doesn't help with app stores, anyway.

Posted Nov 24, 2012 0:50 UTC (Sat) by apoelstra (subscriber, #75205) [Link]

> This was not about app stores, much less Apple ones, why do you and others keep assuming that it was? Note that I'm not pulling this statement out of thin air, I talk to the VLC people regularly.

It's purely speculation. All the media outlets I've seen have clearly said "we don't know why, but this kinda makes sense, and it hasn't been denied".

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