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.