4 ms·
This isn't really correct. When you say AppStore you have to make a distinction between Mac and iOS. As a platform, iOS doesn't allow you to bundle any dynami
by zbowling 15y ago
This isn't really correct.
When you say AppStore you have to make a distinction between Mac and iOS.
As a platform, iOS doesn't allow you to bundle any dynamically linked libraries with your application (so everything everyone ships on iOS is statically linked). You can dynamically link system libraries though. Since they don't allow you to download and execute any code not shipped with the app, this hasn't been a big issue (except with trying to use LGPL code and to port apps that are already configured around dynamic loading or use different processes to isolate functionality).
Now Mac apps fully allow dynamically linked libraries bundled with your app (even with sandboxing enabled). There are fewer restrictions on the Mac AppStore in this respect. Like for example, plugins are fully allowed and supported. Code added to the app after the fact is fine (as long as the advertised core in the app store is there without downloading additional code). On this, working with LGPL restrictions are little more plausible.
A framework is basically a bundle of dynamic libraries and headers in a package. Frameworks for that reason are no different than dynamic libraries, so your usage of the term here and false distinction from "shared-objects" is incorrect here.
LGPL requires that you allow the user to be able replace the LGPL library out completely and that you release the source to the library if you, the user, who I distributed a binary copy from, requests it. This is just not possible on iOS with static linking of course, but it is possible on Mac OSX.
The bigger issue is that Apple is the "distributor" of the app and not the developer that gave the copy to Apple. If I wanted to request LGPL code, I would have to contact Apple because I obtained the application from them not the developer that gave them a copy. Apple doesn't have a facility for this.
- gillianseed 15y agoWell, unless there's been changes made to the LGPL'd code then the App using it could simply point to VLC's webpage for the source code. LGPL only requires changes made to the actual LGPL licenced code be made open source, unlike GPL which requires the entire application using/linking GPL licenced code to be open sourced under GPL. The reason why Apple AppStore and GPL don't mix is that Apple added a restriction as to how many times you could copy the binary while GPL explicitly states that you are allowed to make as many copies as you want.