[Libav-user] FFmpeg License Violation - What Are My Remedies?
alexcohn at netvision.net.il
Wed Oct 10 22:51:24 CEST 2012
On 10 Oct 2012 21:09, "Matthew Lawrence" <matthew.c.lawrence at gmail.com> wrote:
> Can you provide a citation for your claim?
> Section 5 of the LGPLv2.1 states in part:
> "5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
> However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. "
> Under the first paragraph, the app is a "work that uses the Library". However, because the work is distributed together with the Library in a single executable (DEX file within an APK), the work is not "in isolation" and is therefore not outside the scope of the License. Instead, the second paragraph applies. When they build the APK from source, they are statically linking the "work that uses the Library" with the Library. The final product (the APK and the DEX file inside it) is a derivative work because it contains the Library. This is precisely the condition covered by Paragraph 2 of Section 5. As a result, the APK is covered by the License, and they are bound by Section 6 which requires them to distribute the source of their "work that uses the Library" to anyone who requests it.
> What am I missing?
Technically you are almost right.
But the prevailing tradition is that packaging of LGPL library inside
an APK is not considered violation of the License. Note that the Java
part (the DEX file you mentioned) is forced to use dynamic linking
(which follows section 5) by the limitations of the Android platform.
In my eyes, the practice of bundling binaries into APK has one
specific problem with the spirit (but not the letter) of LGPL: while
replacing the library with another one, that the end user built
him/herself from the open sources, is possible, but requires root
I have proposed an alternative mechanism elsewhere
which would allow anyone to replace the LGPL component on Android, but
the adoption rate is rather slow.
More information about the Libav-user