Controversy Haunts Linux-based DD-WRT-- GPL Violator? Betrayer of Open Source?
Letter of the GPL vs. Spirit
With an estimated one million or more wireless routers running DD-WRT firmware, it may not be so surprising that, like anything popular, the free open source project has attracted its critics. Some say that DD-WRT is slow to evolve, with long delays between releases. Some say that it still harbors many bugs, despite the time spent in development. But the harshest accusations of all have little to do with DD-WRT's performance and a lot to do with the project's ethics. To some vocal critics, DD-WRT is betraying its open source roots, and possibly even violating the GPL, the GNU General Public License, under which the software is released.
DD-WRT is not alone among alternative firmware projects. Sveasoft, HyperWRT, OpenWRT, and Tomato all share a common family lineage with DD-WRT that traces back to the original Linksys firmware for its WRT54G V1 router. Because that firmware was licensed as open source software under the GPL, developers downloaded and built upon it. And in fact, DD-WRT is not the first descendant of the original Linksys code to court controversy.
Sveasoft, OpenWRT, and the GPL
One of the earliest projects to build on the open source Linksys codebase is OpenWRT. Although OpenWRT introduced a powerfully open platform to the WRT54G router, it has long been a project oriented toward advanced users, configured primarily through command-line access.
Because OpenWRT itself is an open source GPL-based project, other developers can build upon it, for example to wrap it with a user-friendly interface. Enter Sveasoft, a project spearheaded by one James Ewing, responsible for attracting more mainstream users to alternative router firmware with its releases named Satori, Alchemy, and Talisman. But Ewing's business practices began attracting criticism from open source advocates.
Sveasoft's firmware development incorporated code from OpenWRT. Because OpenWRT is licensed under the GPL, a project that uses OpenWRT code must make available any code using the GPL'd code. Sveasoft, however, would release binaries of its firmware without corresponding source code. They did release source to older firmware versions, but long delays reportedly separated the release of new binaries from corresponding source.
One common misconception about the GPL is that by using GPL code, your whole project must be open sourced under the same license. In fact, it is legal to develop closed or other-licensed code on top of GPL code, so long as the two codebases are not linked into a single binary compile. But in this case, access to the GPL code must be made available with the binary distribution.
In March 2006, OpenWRT publicly accused Sveasoft of violating Section 4 of the GPL, thus terminating their license to use OpenWRT code.
A second accusation against Sveasoft involved charging an access fee to download the firmware binaries. When distributing GPL-based code, it is legal to charge only for the cost of distribution (such as media or bandwidth). It is also legal to charge a fee for support. Sveasoft charged a $20 yearly fee for "support," which included access to their online community, but new binaries were released only within this community. To some, this meant that Sveasoft was trying to circumvent the GPL, by effectively charging for the binaries, cloaked in obfuscating terms.
Although Sveasoft's alleged GPL violations were never brought to court, their business practices, which also reportedly included banning critics from online forums, became the subject of scorn in the open source community who accused the project of violating at least the spirit of the GPL for their own advantage.
At this time, a new project was spawned (or "forked") from the Sveasoft Alchemy firmware. The new project, named DD-WRT and headed by a German coder named Sebastian Gottschall (or "brainslayer" online), was intended to further develop a user-friendly, but powerful router firmware outside the controversial practices of Sveasoft.
Unsurprisingly, Sveasoft considered the DD-WRT project a betrayal of sorts, referring to it as "Sveasoft fork" rather than its new name. Today, the Sveasoft business has been liquidated and DD-WRT, several versions later (the most recent is V24 SP1), stands as the most popular alternative firmware.