Sorry, you need to enable JavaScript to visit this website.

GPL compliance

Unsolved
3 posts / 0 new
Andrey Filippov's picture
Andrey Filippov
Junior(0)
GPL compliance

We use Microzed board for the development of our Zynq-based product and are very happy with the hardware and with the quality and availability of the documentation (circuit daigrams, PCB layouts, BOMs, etc). At the same time this product seems to have some gaps related to the distribution of the copyrighted software licensed under GNU General Public License (such as U-Boot). There are multiple resources in the Internet that can help to provide GPL-compliant products, I would recommend:

https://www.softwarefreedom.org/resources/2008/compliance-guide.html

It seems that section 3.4 of that document may be applicable to Microzed:

3.4 Avoid the “Build Guru”

Too many software projects rely on only one or a very few team members who know how to build and assemble the final released product. Such knowledge centralization not only creates engineering redundancy issues, but it also endangers GPL compliance, which requires you to provide build scripts.

Avoid relying on a “build guru”, a single developer who is the only one who knows how to produce your final product. Make sure the build process is well defined. Train every developer on the build process for the final binary distribution, including (in the case of embedded software) generating a final firmware image suitable for distribution to the customer. Require developers to use revision control for build processes. Make a rule that adding new components to the system without adequate build instructions (or better yet, scripts) is unacceptable engineering practice.

Andrey Filippov
Elphel, Inc.
Salt Lake City, Utah

zedhed's picture
zedhed
Moderator(25)
RE: GPL compliance

Hi Andrey,

Based upon your claims above and the claims on a few of the other threads here, you seem to view yourself as a legal expert in the matters of the GNU General Public License. I make this observation based upon these few threads that I have found on our public forums:

http://www.microzed.org/content/u-boot-kernel-microzed-board

http://www.microzed.org/content/u-boot-wont-boot

Let me start by stating that I AM NOT a legal expert when it comes to matters of the GNU General Public License. It is up to anyone reading this post AND your legal team to make sure your product distribution complies with the licensing requirements of whatever software package that you include in your product.

We are not lawyers. Avnet cannot and will not provide legal assistance or legal advice about any software licensing or patent issue. Avnet won’t be able to answer questions about the legal significance of the facts, licensing issues, conduct legal research, or provide information about the legal deadlines that might apply to your situation. You or your legal representative need to determine these issues for yourself before you distribute your product.

No one on MicroZed.org, ZedBoard.org, or any Avnet.com web site, whether they are a volunteer contributor, end user, Avnet employee, or Avnet contractor can or should offer legal advice or speculation, about the Intellectual Property (IP), or any other legal topic, that may or may not be in the Linux kernel or derivative distribution. Any such questions or responses may be removed from the site without notice.

That being said, the posts that you have made do appear to place Avnet into a rather negative position and rather than ignore your posts, which could easily result in further un-necessary negative attention it might be best to address them now as frankly and openly as possible.

The individuals responsible for maintaining this community site for Avnet do take seriously and do make good faith effort to uphold our obligations under the GNU General Public License. We do so by posting documentation and tutorials providing customers guidance towards building and maintaining their own Linux builds which might later be customized to fit a particular end application purpose. The source code upon which our example reference designs are derived is built upon source code repositories which are made public by our suppliers (Xilinx is one example of our supplier-distributor relationships).

The source code for the Linux kernel distributed in the "MicroZed Linux microSD Card Image Archive 10.Aug.13" found on this page: http://www.microzed.org/documentation/1519 is publicly available from Xilinx from their GIT repository located here:

https://github.com/Xilinx/linux-xlnx

That binary provided in the MicroZed Linux microSD Archvie was built directly from the xilinx-v14.5 release tag on that repository and any incidental dirty tag on the build is from the result of modification to the runtime configuration devicetree.dts file. These devicetree runtime configuration modifications that were made to support MicroZed platform are also distributed in the "MicroZed_Linux_sd_image_130810.zip" archive in a file named "devicetree-microzed-sdio125mhz-4gbram.dts".

If anyone reading this is not familiar with the steps to build the Linux kernel, please refer to our training section where we have videos and hands-on labs which describe how this process in further detail. Also, please refer to the following Xilinx Wiki pages which detail further information on building Linux for the Zynq platform:

http://www.wiki.xilinx.com/Getting+Started

http://www.wiki.xilinx.com/Build+Kernel

As for the topic of U-Boot, I found there is a bit more detail to that which I will place in a response to this thread here:

http://www.zedboard.org/content/u-boot-kernel-microzed-board

And another here:

http://www.microzed.org/content/u-boot-wont-boot

If a community member happens to come across any "secret sauce" implementations hosted on our site, please kindly do bring them to our attention. We really would like for everything to be re-create-able so to speak by all our community members, especially if the code in question falls under the licensing of the GPL.

Regards,

-Kevin

Andrey Filippov's picture
Andrey Filippov
Junior(0)
Hello Kevin,

Hello Kevin,
I'm very sorry for the late reply - for some reason my subscription did not work and I missed your reply, and I was not checking this forum for some time.

I'm not a legal expert either and you can easily find that by googling, I'm just one of your customers who expect to receive the documentation with the binaries granted by the GNU GPL license. And a developer and manufacturer of similarly licensed products (we use GNU GPLv3, GNU FDLv1.3 and CERN OHL) - and we take our obligations seriously understanding that the lack of evil intentions is not sufficient to justify license non-compliance. Everybody has to obey the laws, not just the lawyers :-)

And I did not ask you or Avnet for any legal advice - when we have our legal questions (like dealing with so-called "patent trolls") we go to the professional lawyers. And I'm not Wolfgang Denk (u-boot copyright holder) to demand license compliance - I just offer a friendly advice. Yes, it requires some extra work to clean up your installation scripts and configurations, but it worths it. And not just from the legal perspective - it will also help your users and even yourself when you'll need to get to this project some years from now. I would suggest - do not rely on the local copies of the files and some large work for the compliance in the end (that in most cases never happens - the development goes on)- make the development on the publicly accessible code repository such as Github or Sourceforge or something similar. Then it will be easier to keep all the required source code always available - both for you and for your users.

Yes, I did ask Xilinx people on their forum about the terms of the distribution of their FSBL code (or the binary generated with it for our custom hardware), but did not get a clear answer. And that made Elphel your customer - we purchased this nice Microzed board (while waiting for our hardware being built) to be able to replace the proprietary FSBL code with a more convenient and appropriately licensed code that we can use with our products. And others too, of course. You probably have seen this story - I documented my experience on our company blog - http://blog.elphel.com/2013/10/fpga-is-for-freedom/ . Now this project is finished to the state that we do not use the non-free FSBL in our product (and actually we never even tried proprietary code on it) and we tested it on the board we had - Microzed and ZC706 that Avnet was so nice to give us for evaluation.

Thank you for the powerful little board and keeping the price low, it really helped us to keep our products clean of proprietary code and "binary blobs".

Andrey Filippov
Elphel, Inc.
Salt Lake City, Utah