<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; ">Hi all,</div><div><blockquote style="border-left-width: 2px; border-left-style: solid; border-left-color: rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; "><div style="font-family: 'times new roman', 'new york', times, serif; "><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><font size="2" face="Arial"><hr size="1"></font>&gt; &gt; I am using&nbsp;Linux-2.6.31-14 based on Ubuntu karmic. I am developing<br>&gt; &gt; a&nbsp;proprietary&nbsp;usb driver and was doing my study .<br>&gt; <br>&gt; The Linux USB subsystem does not allow non-GPL kernel drivers, sorry.<br>&gt; <br><br>like "giving code away" is often frowned upon by management particularly when&nbsp;</div><div style="font-family: 'times
 new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859">it hides the interface to some ASIC or other piece of hardware that your company&nbsp;</div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859">wants to keep a secret,&nbsp;<br></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859"><br></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859"><br></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859">I know what I have to say is, maybe out of topic but I take advantage of the thread</div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859">to
 ask a basic question: The USB interface is very well known today. It is not public</div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859">but it is very like it was public. There are lots of examples and implementations.&nbsp;</div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859"><br></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; " class="yui_3_2_0_16_131463869965859">My question is why would one put specific code in a generic communication interface.</div><div class="yui_3_2_0_16_131463869965859"><span class="Apple-style-span" style="font-size: 12pt;">Does this mean the driver was&nbsp;</span><span class="Apple-style-span" style="font-size: 16px;">poorly</span><span class="Apple-style-span" style="font-size: 12pt;">&nbsp;designed? With a good design the
 driver will</span></div><div class="yui_3_2_0_16_131463869965859"><span class="Apple-style-span" style="font-size: 12pt;"></span><span class="Apple-style-span" style="font-size: 12pt;">handle the data exchange and the user application will handle the specific (IP hidden)</span></div><div class="yui_3_2_0_16_131463869965859"><span class="Apple-style-span" style="font-size: 12pt;">aspects. This split generic_communication_kernel_module / specific_user_application</span></div><div class="yui_3_2_0_16_131463869965859"><span class="Apple-style-span" style="font-size: 16px;">should remove all "NON-GPL" thorns. I am right?</span></div><div class="yui_3_2_0_16_131463869965859"><span class="Apple-style-span" style="font-size: 16px;"><br></span></div><div class="yui_3_2_0_16_131463869965859"><span class="Apple-style-span" style="font-size: 16px;">Thanks,</span></div><div class="yui_3_2_0_16_131463869965859"><span class="Apple-style-span" style="font-size:
 16px;">Stephan</span></div></div></blockquote></div></div></body></html>