[Hero CDMA Android Development] romeosidvicious:
There are some misconceptions in this thread. The following is from the linus-kernel faq:

By default, symbols are exported using EXPORT_SYMBOL, so they can be used by loadable modules. During the 2.4 series, a new export directive EXPORT_SYMBOL_GPL was added. This is almost the same thing, except that the symbol can only be accessed by modules which have a GPL compatible licence (note that this includes dual-licenced BSD/GPL code). This new directive was added for these reasons:

To clarify the ambiguous legal ground on which non-GPL (particularly proprietary) modules lie. A strict reading of the GPL prohibits loading proprietary modules into the kernel. While Linus has consistently stated that proprietary modules are allowed (i.e. he has granted an explicit exemption), it is not clear that he is able to speak for all developers who have contributed to the Linux kernel. While many think Linus' edict means that all contributed code falls under this exemption granted by Linus, not everyone agrees that this is a legally sound argument. The new EXPORT_SYMBOL_GPL directive makes the licence conditions explicit, and thus removes the legal ambiguity.

To allow choice for developers who wish, for their own reasons, to contribute code which cannot be used by proprietary modules. Just as a developer has the right to distribute code under a proprietary licence, so too may a developer distribute code under an anti-proprietary licence (i.e. strict GPL).

Note that Linus has stated that existing symbols will not be switched to GPL-only. Developers of proprietary modules for Linux need not fear. Furthermore, it is quite unlikely that Linus will look favourably upon the introduction of new core driver APIs which are restricted to GPL-only modules. This would not be in the best interests of Linux. Linus has forwarded me a message he sent to someone else to clarify his views. Note that since that time, several developers have eroded the number of non-GPL only symbols by writing new (usually better) infrastructure and interfaces and deprecating the older interfaces. The newer interfaces are often tagged as GPL-only. In addition, there are some "kernel janitors" who aggressively submit patches to remove all symbols (whether GPL-only or not) which are not used by code shipped with the kernel source tree.

Just because HTC dropped their source to compile into the kernel tree does not mean it access any GPLd components nor does it mean that it is required to be released under the GPL. They did not submit the code for inclusion in the kernel and unless they access anything with the EXPORT_SYMBOL_GPL directive they are not required to release their source. NVidia provides drivers that are proprietary for Linux and if there isn't one available for your system compiled one against your running kernel using the kernel source tree. This does not mean they have to GPL their driver.

As it stands we don't know what's in the missing files and as such cannot make definitive claims as to whether HTC is currently in violation of the GPL. This statment:

is not accurate. The files were placed in the kernel source tree, probably because it's easier to compile them that way, but that doesn't mean they have to release the source automatically. They haven't necessarily modified the kernel. They may simply produce loadable modules for the kernel at which point they likely fall under the GPL.

Demanding source that you don't have rights to demand, and you don't have rights unless you are a contributor to the part of the kernel that is accessed by the code, not even the whole kernel, only makes the OSS community look like a bunch of jerks who don't even understand their own licenses. It can't lead to anything good and it certainly won't lead to any respect from the HTC side of things. Goodwill requests that are nice and polite may get somewhere but the fact remains this code may not fall under the GPL.

The worst part is that even if this code falls under the GPL it could require another part of Android to function and that could fall under the Apache license. So if HTC made a kernel module that fell under the GPL but required a part of Android that they modified under the Apache license these files could mean very little.

HTC has released GPLd code but they haven't been timely about it in the past. There is really no reason to suspect they won't follow their obligations related to this code. They may be late to the party with it and it may not matter anymore if we get 2.1 before they get off their arse and release the code. And all of that hinges on whether they are required to release the specific pieces of code under the GPL.