Germany provides guidance on requirements for companies to manage FOSS
The Fantec decision: German court holds distributor responsible for FOSS compliance
Co-authors: Thomas Jansen and Hannes Meyle
The GPLv2 continues to be the most widely used FOSS license, but has been rarely interpreted by courts. Most of these decisions have come from Germany as a result of the enforcement actions of Harold Welte. The recent Fantec decision in Germany is the latest such decision and provides guidance on the requirements for companies to manage their use of FOSS and the lack of ability to rely on statements from their suppliers.
Fantec, a European company, distributed a media player with a Linux-based firmware inside. Like many companies, Fantec used software from third parties. The firmware of the media player included the iptables software which is licensed under the GPLv2. Fantec provided a version of the source code of the firmware for download that they had received from their Chinese manufacturer. Harald Welte is one of the authors of the iptables software and has brought suit a number of times to enforce the GPLv2 for this software. Welte had settled a prior violation by Fantec with respect to violation of the GPLv2. As a result Fantec signed a cease-and-desist-declaration in 2010 and Fantec was contractually obliged to refrain from further GPLv2 violations (and otherwise to pay a contractual penalty).
The software available for download for the Fantec product was reviewed during a "Hacking for Compliance Workshop" in Berlin organized in 2012 by Free Software Foundation Europe. The hackers discovered that the source code provided by Fantec did not include the source code for the iptables software and that the source code for some other components did not match the versions used to compile the binary code of the firmware.
In 2012, the plaintiff gave Fantec notice of another GPLv2 violation and admonished Fantec to cease the infringement and to pay the contractual penalty and the out-of-court costs for legal prosecution. Fantec objected that it had been assured by his Chinese supplier that the source code received from the supplier was complete. And Fantec claimed that they had investigated options with third parties for source code analysis and had been informed that such reviews were quite expensive and not completely reliable. Welte raised two arguments. First, Fantec provided source code that was incomplete. And, second, that the source code was not the correct version.
On June 14, 2013, the district court of Hamburg found that Fantec violated the obligation in the GPLv2 to provide to its customers the "complete corresponding source code" of the software. The court affirmed a violation of the GPLv2 license conditions because the iptables code was not contained within the source code provided by Fantec. However, the court did not rule on the second argument that the source code was not up to date. Consequently, the decision does not provide significant guidance on the definition of the term "complete corresponding source code."
The court required Fantec to pay a contractual penalty in the amount of € 5,100 based on the prior settlement agreement. In addition, the court awarded the plaintiff’s expenses in enforcing the GPLv2. (This award is standard under German law and is based on Section 97a (1), 31, 69c no. 3 and 4 of the German Copyright Act which awards costs for a justified warning by a party which is so cautioned.) The court affirmed the culpability of Fantec’s violation by classifying the violation as negligent: the seller of firmware may not rely on suppliers'´statements about compliance. The distributor of GPLv2 software must carry out the assessment or commission experts to make the assessment even if they incurred additional costs.
The failure to comply with the GPLv2 may not be defended such failure due to additional costs. Unfortunately, the unusual nature of the facts means that the open source community did not get guidance on other important issues, such as how to measure damages and whether the failure to provide the latest version of the modules in the source code violates the requirement to provide "complete corresponding source code." The damages were based on the breach of a prior cease and desist declaration between Welte and Fantec in which Fantec agreed not to violate the GPLv2 rather than copyright damages. In addition, the court chose not to rule on Welte’s allegations about "old versions of the modules in the source code.
The decision is not surprising given existing German cases regarding the GPLv2. However, the case reinforces the need for each company to have its own FOSS compliance process. Companies cannot simply rely on the statements of third parties. We recommend that each company ensure that they have the formal process for handling the use of FOSS by their own employees and third parties. This process should include:
- Policy for the use of FOSS ("FOSS Use Policy")
- Request and approval process for use of FOSS by employees
- Approval and audit process for the use of FOSS from third parties, both through third-party products and acquisitions by the company
- Auditing process for compliance with the FOSS Use Policy
Given the rapidity of product development and the extensive use of third-party software in most products, a FOSS Use Policy must focus on managing relationships with third-party suppliers. A company must ensure that they have a clear set of standards for third-party providers for FOSS compliance. These standards should include an understanding of the FOSS management processes of such third-party suppliers. The development of a network of trusted third-party suppliers is critical part of any FOSS compliance strategy. The Free Software Foundation Europe has useful recommendations on complying with GPLv2 obligations.
Many companies will decide that they need to automate the process by using the software to scan third-party code and manage the process. And companies may also wish to use the Software Packet Data Exchange framework to help communicate the FOSS in a particular product.
In sum, Fantec is a reminder that companies should adopt a formal FOSS use policy which should be integrated into the software development process. Companies should also be prepared to respond promptly to any assertions of violation of FOSS licenses and swiftly correct the problem.