Allwinner has had to good idea to open allwinner-zh github account last September in order to release source code, binary libraries, and documentation for these ARM processors. Yesterday, the company released a new version of their closed source CedarX library used to decode and encode video streams. But Luc Verhaegen (libv), known for his reverse-engineering work on ARM Mali-400 (lima driver) and now Mali-Txxx GPU (Tamil driver), analyzed the binary and claimed the library is not compliant with LGPL licenses, and may also infringe on On2 copyrights.
Luc wrote his concerns on sunxi-linux mailing list, and Allwinner promised to look into it.
Two libraries are involved:
- ffmpeg which includes both LGPL and GPL licenses, but the contention seems to be about the LGPL part, since only optional features are GPL’ed in ffmpeg. It’s perfectly fine to include LGPL libraries into your binaries, as long as you don’t modify the open source libraries, but if you do, the source code modifications must be released under an LGPL license.
- libvp62 an open source implementation of On2 VP6 codec released in 2006 that was taken down due to copyright infringements since it was allegedly “anti-compiled from Java”
I can imagine the timeline for the latter happened that way:
- Management to customer: “OK, we’ll get you a VP6 demo next week”
- Management to engineering team: “I need VP6 for next week to show to our most important customer”
- Engineering team: Open jaw first, then look for code on Baidu, and find it on pudn (Sight of relief)
- VP6 demo is implemented and successfully demo’ed to customer
- Management, customer and engineers are all happy! Mission accomplished.
On2 is now owned by Google, so Allwinner could have a problem or two if the copyright infringement is confirmed, and Google takes action. Luckily VP6 video decoding is also supported by ffmpeg, so they may be able to sort this out.
It’s also interesting to read the full thread on sunxi-linux mailing, as people explains what kind of issues they had with closed source project, including a canceled project using Allwinner A20, and potential security issues.
Via Phoronix
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
“It’s perfectly fine to include LGPL libraries into your binaries, as long as you don’t modify the open source libraries, but if you do, the source code must be released under an LGPL license” That is not exactly how the LGPL works. Point 4 of the LGPL2.1 has this sentence: 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under… Read more »
@Benjamin Larsson
I understand that section as you must release the source code for the LGPL code. But you can keep the proprietary source code that does not use LGPL code. So you can use the original ffmpeg LGPL libraries and write a proprietary app/lib based on these libraries without releasing the source code of your app, since it’s not LGPL. It’s apparently little easier to handle when the app/lib is linked dynamically, instead of statically.
@Jean-Luc Aufranc (CNXSoft)
Benjamin Larsson is one of the biggest contributes/developers of FFmpeg, so I think that he known what he is talking about 😉
https://www.ffmpeg.org/consulting.html
Not directly related to CedarX release above, but Allwinner has released the bootloader under GPL: https://github.com/allwinner-zh/bootloader/issues/5
Allwinner has now claimed they’ve released CedarX under the LGPL license.
https://www.mail-archive.com/[email protected]/msg10597.html
But there’s no complete source code, and it turns out they’ve just renamed function names from libavcodec to make it appear it’s their own code.
https://www.mail-archive.com/[email protected]/msg10698.html
@Jean-Luc Aufranc (CNXSoft)
Chinese and their IP views… Well, they are just acting how all commercial entities would like to work, but are hindered by western world’s views… The whole system is broken, the GPL universe should try to convince enough entities to isolate themseves from the dinosaurs and their views to become self-suffient without anything from the dinosaurs’ side, money included.
@anon Finally, it might not be as bad as it first looked, but still far from ideal -> http://lists.phcomp.co.uk/pipermail/arm-netbook/2015-March/010447.html I can explain the whole process in a whole detail, because I was directly involved in the process of this decision and I can tell where this is going right now: The rename was done to fix the LGPL violations by adding a wrapper for the GPLed libraries which will be LGPLed and published. This way we have BinaryLGPLed open source codeGPL libraries Next step will be to drop the whole “we ship our own SDK”-thing and move over to stream… Read more »
@Jean-Luc Aufranc (CNXSoft)
Interesting thread… The “wrapper” idea is actually not legal even with LGPL code, let alone the GPL parts (there are numerous attempts of doing just that, just in the end getting sued for them), but they can always try that and hope people let them be… 😉
Just history repeating.