Posted on | December 15, 2008 | 3 Comments
I don’t think that anyone ever dreamed of the Free Software Foundation needing to enforce its license and copyright in a court of law, however, this unlikely event has happened. The FSF is suing Cisco Systems for violating version 2 of the GNU General Public License and Lesser GPL. You can read the complaint here in relatively plain English minus legalese. If you are a programmer that works with software governed by the GPL, I strongly suggest that you read the complaint.
The FSF filed suit in hopes of bringing an end to a five year game of `whack a mole‘, as FSF license compliance engineer Brett Smith writes:
As we always do in violation cases, we began a process of working with Cisco to help them understand their obligations under our licenses, and how they could come into compliance. Early on it seemed likely that we could resolve the issues without any fuss. While we were working on that case, though, new reports came in. Other Cisco products were not in full compliance either. We started talking to the company about those as well—and that’s how a five-years-running game of Whack-a-Mole began. New issues were regularly discovered before we could finish addressing the old ones.
The lawsuit could prevent Cisco/Linksys products that are assembled in China from being imported to the US until the FSF is satisfied with Cisco’s diligence in complying with the GPL2, pending damages that could range in the millions. The scope of actual damages will be determined during the hearings.
The FSF has historically taken a very non-antagonistic approach to solving license compliance issues. Many companies just do not realize the boundaries of the GPL and violate those boundaries unwittingly. A `gentle nudge’ has always been the first provocative of the FSF when contacting companies that do not comply with the terms of the GPL. Never, in over 20 years has the FSF taken this cause to a court of law. After gently nudging Cisco for five years, it seems this case is going to come to legal blows. How did this happen? Read on.
Inheriting And Ignoring Bad Practices
Cisco purchased Linksys for $500 million in 2003. At that point in time, its relatively unclear if existing Linksys products were compliant with the GPL. Cisco made very few proactive moves in existing managerial education regarding licensing after the purchase. Imagine if your boss says “just find an image on Google, we’ll just use that ..” In fact, Bruce Perens offered his services to Cisco shortly after the purchase of Linksys to help Cisco become compliant. He received a response that he later categorized as `the coldest in his professional career’.
Regardless, ignorance of the GPL on the part of Linksys was either unknown or further ignored by Cisco at the time of purchase. Cisco has no excuse, they were informed of their GPL compliance issues at the time that they purchased Linksys. Interestingly, this is when the game of `whack-a-mole’ began.
The problem begins when project managers do not watch their programmers, or fail to use version control systems to manage their releases. Five years later, how do you know what programs contain GPL bits? How much modified GPL code is out and in the wild? Do your proprietary offerings now need to inherit the GPL?
This is not rocket science, this is easy. If your using `code you found on the internet’, you should know how to read a software license.
The FSF (a non profit organization) has spent five years trying to help Cisco’s distribution practices become compliant with the GPL2. Initially, Cisco was receptive to the help that comes from taxing a non profit organization. Then, (apparently) Cisco stopped talking in hopes that the license fairy might visit them at night and make everything better. The FSF was trying to avoid litigation, Cisco made this effort an uphill battle. At some point, the FSF had to say that its time for Cisco to either pay attention to this issue and solve it or not. Cisco’s actions said not, hence the litigation.
Moral Of The Story
If you manage programmers and did not learn about free software licenses during your college years, its time to read and be sure that you understand them. If you outsource tasks, manage your contractors. If you make a licensing mistake, fix it, promptly. This whole mess could have been avoided for less than it costs to pay one programmer for a week if the problem had been addressed early on.
I don’t think that we’ll see the full results of this case, most settlements due to this kind of complaint are sealed. However, I predict .. Cisco will serve as an academic case of `what not to do’ in this regard.