John,
> Keil has the following copyright notice plastered everywhere in their
> USB code.
>
> This file is part of the uVision/ARM development tools.
> Copyright (c) 2005 Kiel Software. All rights reserved.
>
> You don't even have permission to adapt the code for a commercial
> project using Keil tools.
Wrong. According to their EULA:
"EXAMPLE CODE: In respect of any Example Code identified in the Schedule
KEIL hereby grants you, provided you comply with the terms of clause
1(iv), additional non-exclusive, non-transferable licences to; (a) use
and modify the source code form (if supplied) of any such Example Code,
for the sole purposes of internal testing, evaluation, and incorporation
into, and the development and testing of, Licensed Products; and (b)
reproduce and distribute the Example Code, or derivatives thereof, only
in object code form, and only as part of Licensed Products."
So, you can redistribute derivates as object code as part of a Licensed
Product. The next clause in the EULA defines a Licensed Product.
The Licensed Product is defined by the EULA so:
"LIBRARIES: In respect of any Language Libraries and Helper Libraries
(together "Libraries") identified in the Schedule, KEIL hereby grants
you, provided you comply with the terms of clause 1(iv), additional
non-exclusive, non-transferable licences to; (a) develop applications
which incorporate the Language Libraries and substantial additional
functionality, or which use the Helper Libraries (the permitted
combinations of such applications and Libraries are referred to in this
Licence as "Licensed Products"); (b) compile and link the Libraries with
such Licensed Products; and (c) reproduce and distribute the Licensed
Products."
Hence, you can freely use their example code if you compile it and
distribute it in object code only, as a valid licensed user of the Keil
software.
--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors