<!--#include file="header.html" -->


<h3>Hall of Shame!!!</h3>

The following products and/or projects appear to use BusyBox, but do not appear
to release source code as required by the BusyBox license.  This is a violation
of the law!  The distributors of these products are invited to contact <a href=
"mailto:andersen@codepoet.org">Erik Andersen</a> if they have any confusion as
to what is needed to bring their products into compliance, or if they have
already brought their product into compliance and wish to be removed from the
Hall of Shame.

<p>

Complying with the Busybox license is easy and completely free, so the
companies listed below should be ashamed of themselves.  Furthermore, each
product listed here is subject to being legally ordered to cease and desist
distribution for violation of copyright law, and the distributor of each
product is subject to being sued for statutory copyright infringement damages
plus legal fees.  Nobody wants to be sued, and <a
href="mailto:andersen@codepoet.org">Erik</a> certainly has better things to do
than sue people.  But he will sue if forced to do so to maintain compliance.
Do everyone a favor and don't break the law -- if you use busybox, comply with
the busybox license by releasing the source code with your product.

</p>

<ul>

  <li><a href="http://www.hauppauge.co.uk/html/mvp.htm">Hauppauge Media MVP</a>
  </li><li><a href="http://www.buffalo-technology.com/products/wireless/wbr-g54.htm">Buffalo WBR-G54 wireless router</a>
  </li><li><a href="http://www.netgear.com/products/prod_details.asp?prodID=170">NetGear WG602 wireless router</a>
  </li><li><a href="http://catalog.belkin.com/IWCatProductPage.process?Merchant_Id=&Section_Id=201522&pcount=&Product_Id=136493">Belkin 54g Wireless DSL/Cable Gateway Router</a>
  </li><li><a href="http://www.dmmtv.com/">Dreambox DM7000S DVB Satellite Receiver</a>
  </li><li><a href="http://testing.lkml.org/slashdot.php?mid=331690">Sigma Designs EM8500 based DVD players</a>
  </li><li><a href="http://testing.lkml.org/slashdot.php?mid=433790">Liteon LVD2001 DVD player using the Sigma Designs EM8500</a>
  </li><li><a href="http://www.rimax.net/">Rimax DVD players using the Sigma Designs EM8500</a>
  </li><li><a href="http://www.vinc.us/">Bravo DVD players using the Sigma Designs EM8500</a>
  </li><li>Undoubtedly there are others...  Please report them so we can shame them (or if necessary sue them) into compliance.

</ul>


<!--#include file="footer.html" -->

