yashsingh1/xdaforums huggingface dataset:
[Hero CDMA Android Development] cmccracken:
I don't want to be a party pooper, but HTC might actually be correct on this (although I think that they have their terminology wrong in several cases).

I'll preface this by saying that I am not an Android expert, but I have been using Linux for over 15 years and have developed device drivers (that I needed) in a pinch.

The Linux kernel source code is in fact licensed under GPL. This means that any modifications you make to the kernel code must be released (we all know that). HOWEVER, a device manufacturer (or really anyone) CAN release a binary-only kernel module (driver) without releasing the source code. There are a number of commonly-used devices that do this (lots of laptop components, softmodems, etc...). When you load the kernel module, the Linux kernel throws a warning that the module is binary-only, and the kernel is "tainted". I'm not sure how this behavior manifests itself in Android, but since its running the Linux kernel it is definitely possible that HTC is writing binary-only non-GPL kernel modules. You'd need to run an 'lsmod' on the phone and compare it with the mainline kernel to see if the drivers that are loaded are in the GPL kernel or not.

Of course, the GPL argument only applies to the kernel itself. Since the rest of Android is ASF license, there is no argument for releasing it. Therefore, the only hope of getting code from HTC is for kernel modules (device drivers) that are derivatives of the GPL kernel (and not tainted binary modules). Everything that is an "application", like most CDMA-specific things, is HTC's intellectual property and they are under no obligation to share it.

I think you guys might be grasping at straws here, and pissing off the folks at HTC (who aren't really doing a very good job of explaining things). I'd suggest nailing down exactly which kernel modules you are after, and requesting those specifically (if they aren't tainted).

*Added* - A quick check on my Hero shows that 'lsmod' returns nothing. That tells me that either lsmod is broken on the Hero (possible, its a Busybox binary), or that the Hero doesn't use dynamic modules and everything is compiled into the kernel itself (unusual on Linux kernels, but then I'm not an Android guy). If the latter, then HTC definitely has to release the source for all kernel drivers, as they are not tainted modules.

Even then, I'm not sure that you would get the silver bullet that you're looking for (although it would probably help with some of the missing hardware on the 2.x ROM projects). I guess my point is that some more research should be done, and the requests to HTC should be far more specific rather than just harassing them with copied and pasted bits that may not be relevant. You can flame the crap out of me for not knowing how Android works now. :D
[Hero CDMA Android Development] gu1dry:
cmccracken, everything is in fact the latter (everything compiled into the kernel) & that is what we are requesting. HTC has release the kernel source for the GSM Hero many, many months ago & all we want is the kernel source for the CDMA Hero.
[Hero CDMA Android Development] cmccracken:
Weird. With the memory constraints of a mobile device, I'd think that they'd want it modular to save bits (not so much for hardware modules, but for other functionality). Anyhow, I think a more specific & detailed approach to the request rather than "give us the source code" would be more productive, and would piss off HTC less. If we want them to be more interactive with the dev community, then taking their time away from development to repetitively answer vague emails is probably not a good move.

Personally, I'm thrilled with the Fresh ROMs until an official Eclair release comes along (although I *will* jump ship if Sprint abandons the device or blockades updates as they have repetitively done with other devices).
[Hero CDMA Android Development] gu1dry:
This is my understanding of how the Android system works, but I could be wrong.

If you want, you can always look at the GSM Hero kernel source HTC has released, direct download.
[Hero CDMA Android Development] obelisk79:
The whole IP gestapo mentality is silly. Sprint provides a service and HTC provides a nice piece of hardware. Outside of that, why should they work so hard to prevent us from tinkering with the device? HTC gets their money still and so does Sprint. There's really no need for us to go through all of this trouble. I'm sure that releasing the source, for at least the kernel drivers allowing development to continue would only spur some added business benefitting pretty much all parties involved.
[Hero CDMA Android Development] Nodata:
I got a reply from Sprint saying they had forwarded my question to their appropriate department. It's a canned response, but if anything comes of it I'll post it here.
[Hero CDMA Android Development] kylez64:
We need to get our facts straight on this one imo.

I suggest we compile all the necessary facts on the subject and point out specifically what they are required to give us. Ive read many mixed things on the subject and I am quite confused :confused:.

although I am not a Linux guru, and can't point out the ins and outs of the matter at hand I'm sure there is a better way of handling this.
[Hero CDMA Android Development] cmccracken:
HTC spends $643 million/year (2009) on R & D (Source). Why should they give away their intellectual property so some Chinese knockoff can build a handset with $0 R & D investment and sell it for half the price and steal their customer base?

As someone who writes website code for a living, an attitude like this really ticks me off. Too many people have a sense of entitlement to others' work. If I *choose* to donate my time to work on an open-source project, its one thing. But when I'm working to pay my mortgage and utility bills, and people think they can just take my work and use it as they please it really rubs me the wrong way.

HTC, by virtue of using and improving Android, is already giving a lot back to the Android community (of course in exchange for saving a lot of time in development). Respectfully requesting that they honor their commitment to open-source software is one thing, but chastising them for being a business is something entirely different. To *expect* them to just give away the bits and pieces that give them a competitive advantage over their competition is just flat-out greed. Guess what? If they give away all their IP, then they won't be in business, and there will be a lot fewer developers collecting paychecks to write Android code. We want to make sure HTC has a good revenue stream coming in. Its best for us, and best for Android. If the dev community can work with HTC, and provide added value to HTC products without undercutting their IP, then that is icing on the cake.

HTC needs to be treated as a PARTNER, not an adversary.

**Edit to add**

I apologize for beating a dead horse about this. For years I have dealt with vendors that delve into supporting Linux and weren't exactly forthcoming with help. Some of the vendors have been deadbeat thieves, some just have limited staff, and some were great but did things on their own timetable. Time and time again, I have approached vendors to get source code for their one critical driver that only needed tiny updates to work with the latest Linux kernel (that was always a required update for some security patch). Sometimes its just a matter of changing one line of code to fix their driver and make things work with the latest and greatest. I understand how frustrating that can be, but I have also seen the damage done to vendor relations by an open-source community that can be a bit overzealous at times. MANY vendors have supported Linux initially, and then just dropped support altogether because it wasn't worth the hassle. When that happens, everyone gets screwed. Let's try to keep things positive with HTC!
[Hero CDMA Android Development] chuckhriczko:
I would agree with this for the most part but I think you are misunderstanding. We don't want to undercut HTC and steal their profit. All we want is what is rightfully ours as a community. The kernel. We don't want the source to Sense. We don't want anything that is theirs. We just want the kernel so we can do what we do. I personally want to optimize the kernel and make it better, possibly putting some of cyanogen's stuff in there. I just want to make Android overall better but I cannot do that without the kernel. Also, updating to the newest versions of Android would be nice as well. Android is meant to be open. By not releasing the CDMA kernel, HTC is preventing that from happening.
[Hero CDMA Android Development] obelisk79:
Alright, maybe I wasn't specific enough in my statement. I'm talking about their device drivers. Since the drivers are specific to their device, releasing them shouldn't be detrimental to their business. I can understand their desire to keep the Sense UI closed source. It is their unique take on android, and I enjoy and respect such. Again as I stated, I think we could all benefit greatly from the sharing of device driver source. Release the kernel drivers which should not ease the chinese knock offs attempts to copy the sense ui.

As I'm sure you are aware, several hardware vendors have benefited from going open source with their device drivers. As far as making threats and demands, I'm not entirely condoning such actions either. I agree we should work with HTC in a civil manner to get the source. What we also need to take into consideration is that HTC has released the kernel source for their previous Android handsets so of course the resulting community for CDMA Heroes holds expectations of the same.
[Hero CDMA Android Development] cmccracken:
I COMPLETELY get that. However, unless every community developer signs a NDA and keeps their work to themselves, HTC must release their work to everyone, including their competition. It would be extremely naive to think that every phone manufacturer isn't trolling on these forums and developer.htc.com looking for snippets of code that can improve their own product and give them a competitive advantage. I look at other people's code all the time (if its available) when I'm trying to solve a tough problem to see how they did it. HTC would likely suffer a much greater economic loss by giving code to their competitors than by not giving their code to community developers. When they stall and delay giving out code, they have a window of time to sell their product before the competition catches up and figures out how to do it. If they were to release as they go, the competition would keep up much better. On the flipside, if they release as they go, then the community can fix their obnoxious bugs for free!
[Hero CDMA Android Development] cmccracken:
Again, I'm new to Android, so don't shoot me if I'm off-base here. Has anyone taken the config.gz off a vanilla CDMA Hero, and attempted to build a kernel using the source that HTC has posted? If the source truly is the same as what our phone was built from (as they seem to be claiming), then an md5 from the built kernel should match the md5 from our kernel (as long as the same toolchain was used). It seems like it could be a good way to tell if HTC is bluffing, being honest, or is just confused (and would provide good, specific data to include in a source code request). Before anyone does this and starts to go after HTC, there could be other variables in there that I'm not aware of. Its just a starting point.

**Added**

I'm reading through my own config.gz and its quite interesting to see what IS and IS NOT compiled in. I'm running the Fresh 1.1 ROM, so I have no idea if this is the same as the vanilla code. One of the most surprising things is that CONFIG_DEBUG_KERNEL and other DEBUG settings are enabled. This can have a pretty dramatic [negative] performance impact. Is there a particular reason why this would be turned on? Is it a Fresh ROM anomoly, or do Android kernels use this for something?

This isn't from a mobile, but here's some info (link):
[Hero CDMA Android Development] obelisk79:
Actually I believe the kernel debug stuff was intended to be disabled. Since HTC compiled the kernel with their own settings/code there could be a good reason for this, or it could be some development settings they forgot to change before releasing the finalized kernel.
[Hero CDMA Android Development] deadonarivalry:
I tweeted @htc with...

@HTC Any chance of the CDMA Hero kernel source? Not got anywhere w/Sprint, and it's a GPL violation to not publish them. Been waiting ages.

@htc don't get me wrong, I love you guys... but would also love to have that kernel source. (= pls&thx.

I haven't sent any emails, but if we're getting together a list of the devs that worked on it, I'd be happy to send some out.

And I can understand your frustration, cmccracken, however, we're not trying to steal their work or give it away. The stuff we want is device and radio specific (otherwise the devs could use the GSM Hero source) and by using Linux, they DO owe that to us under GPL. No matter who "we" are or how it affects their business (which I do care about), as long as they are using Android (Linux derivative) on their devices, they have to release that kernel for EACH device. GSM has theirs, so they've basically admitted that they understand what's up and will comply, but doing it on their own timeline is still kind of unacceptable, as it is supposed to be released when the device is released.

I'm happy with what the devs have given us, no doubt, but what has been accomplished is NOTHING compared to what COULD be accomplished if HTC just gave us the kernel. Once again, it's device specific, so it's not like any old troll could just take it and start manufacturing their own version of Sense or anything like that.

Anyhow, I'll keep checking this thread to see what the plan of action is. Don't mind helping.
[Hero CDMA Android Development] beyondinferno:
Message I sent today

I am writing you in an attemt to get the linux kernel for the Sprint Hero that should be available upon request, BY LAW!!!!

I believe much of the Android os is, however the Linux kernel is most definitely NOT licensed under the Apache license.

In my opinion this is getting rather serious. Code is to be available upon request IMMEDIATELY once a shipping GPL-based binary is out (for sale or otherwise). It is not optional for you(HTC) as it is not your code! You are a business built on the backs of thousands of developers who gave their hard work to Linux in good faith. Apart from this copyright infringement, it pretty much defeats the whole purpose of an open source OS. At this point these types of emails may just be an inconvenience but sooner or later someone will begin to takes the steps toward legal action. Please do not take this message as a threat, it has just become very frustrating for developers who are putting a great amount of work to improve this device.

Thank you for your time.

Sorry to plagiarize.
[Hero CDMA Android Development] cmccracken:
I've started digging through the Hero source that HTC distributes. It looks there definitely ARE some CDMA Hero -specific refernces in there, but there are missing files (like /arch/arm/mach-msm/board-heroc.c). These are the files that need to be well documented in a request to HTC, to prove to them that what they have posted is incomplete. There are definitely CONFIG_* directives that reference missing files. I'm guessing a number of you already knew this, but noone had posted anything in this thread, or had show any correspondence that pointed out exactly what was missing from what HTC has posted.

Repeatedly emailing HTC frontline support saying simply "release the source code!" is not likely to be productive. I'm guessing that one or more of the devs out there already have a good handle on exactly what is missing. IMHO, they are the only ones that should be working through opening a dialogue with HTC [developers] asking for specifics. Encouraging normal users that don't know a *.h from a *.so to do so is just harassing HTC's email support and wasting their resources.

My guess it that since CDMA was a hack job in Android 1.5, HTC has written some really clunky, nasty code and they are embarrassed about it and/or worried about holes and exploits in it. They are probably rushing to get the 2.1 release out the door so that they can release the source for that and noone will ever know the evils that lurk in 1.5 (of course, they might still have to release source for 1.5 under GPL, I'd call that a grey area, irrelevant if everyone is running 2.1). They probably don't want to waste time fixing newly discovered holes in 1.5 when they can have their developers pushing out 2.1. I guess that's the piece they bit off with Android, though, and now they have to swallow. Nonetheless, harassment won't help.
[Hero CDMA Android Development] maejrep:
Technically, the worst that can happen is someone (Linus perhaps) takes them to court and says "they distributed devices with a kernel that has my code from the 2.6.27 branch, and won't release their modifications", and a judge will say "either release it, or stop distributing it". In that scenario, HTC would say "ok, we haven't distributed anything with a 2.6.27 kernel in X days anyway, so we'll just stop distributing it", and the judge will say "ok, they're not distributing a copyrighted work anymore then, case closed."

So yeah, if they release the 2.6.29 kernel source, AND upgrade all newly shipping devices, they'd be in compliance without ever having to release the 2.6.27 code. There really wouldn't be any possibility of penalty for "previous" violations.
[Hero CDMA Android Development] cmccracken:
Is anyone working through gpl-violations.org? They do the legal work on behalf of others for GPL violations. It looks like this is the way to go, and they specifically suggest not to approach the vendor aggressively.
[Hero CDMA Android Development] animal7296:
No need to be sorry, I feel flattered that someone liked my e-mail (that i borrowed from someone else anyway and just did some modifying to, lol) enough to use it.

I felt that it was pretty straight to the point and firm. Hence the reason i sent it.

I did get a response from that e-mail though that was different and will follow up on it on monday since i believe they will be closed for the holiday weekend.

They responded by asking me to call them and gave me their business hours, instead of the copy and paste response we have almost all gotten. I will update when i talk to them on Monday and let you know what i get from them.
[Hero CDMA Android Development] Kcarpenter:
Ok, so here is an idea. Don't think its been brought up yet since I have read all 9 pages so far.

Can we figure out what files we need and specifically ask for them?

Since we know EVERYTHING is compiled in to the Kernel, and we know some of what we are missing just point out to them these are the files we need specifially.

Also, has anyone pointed out in an email that the source they have available is for GSM, and when GSM source is compiled and flashed to CDMA there are HUGE issues (I.E. A very expensive brick)?

It seems what we have so far is alot of information and no organization to it. I will take tommorow to put it all together in the most elequent terms I can before sending a copy to HTC, Sprint, and Posting here.

I will provide qoutes and links to this forum thread as well so they know it is all being documented as a community.
[Hero CDMA Android Development] BrianDigital:
wowzer thats a big post, when you already had it wrong in the third paragraph, all the devs want is the kernel
[Hero CDMA Android Development] wtphoto:
well I got my responce from HTC and it was pretty much the same copy and paste responce that everyone else has goten. with the exception that I think they kind of contradicted themselves in stating that the sence UI and such is propritary but that it is complied and runs inside the kernel. I mean unless I am understanding the GPL wrong (which I may be) if the kernel code and any modifications that they make to is are subject to the GPL then doesnt that mean that it can not be propritary?
[Hero CDMA Android Development] incogneato:
Actually, it wouldn't be hard for a copyright holder to be awarded damages (up to $100,00 US per instance) for product delivered without adhering to the license. Not releasing the code has hindered further development and will increase the associated R&D cost to replicate it's function. Even a token amount of $1 per handset delivered to Sprint, Cell South, and Verizon marked for retail sale is going to add up quickly. Too bad HTC isn't using busybox in their code :p

Not fair to HTC? Maybe, but so ****ing what? They should have thought of that before they decided to use software licensed under the GPL. All this wailing and gnashing of teeth about what's not fair to HTC and why means jack squat. The knew the conditions of the GPL BEFORE they decided to use the Linux kernel. Personally I could care less about any of their 'perceived' financial loss.

Side note - besides Torvalds and other "little guys" they're also violating copyright of Texas Instruments, Google, Hewlet Packard and 3Com. And that's just the telephony and wlan bits. I'll bet somewhere they're stepping on SCO's and/or Sun's toes as well. HTC may laugh at us, but I'll bet a C&D from TI would make them think a bit.

Now having said all that, some bad press while HTC is announcing new Android handsets would be priceless. I suggest the #gplviolation hashtag on twitter messages to try to get a trending topic on the first page. Then a mass emailing of links to this thread, any others that deal with the same situation (especially from prior handsets and their difficulty in getting the GPL'd code), etc. to Engadget, TC, BGR, and so on. MY god if we could taint the Nexus1 release with a ton of bad press HTC would fall over itself to release the code just to shut us up. Imagine handing out Tshirts at CES that say:

#gplviolation

KERNEL SOURCE NOW HTC!​

and a big stink on the interweb while Google and HTC try to fleece another 500 bucks out of each American consumer for the Nexus1.
[Hero CDMA Android Development] XAnimal:
You sir, disgust me. I'm all for getting the source but that's ridiculous and if you try to bully things too much or give it a lot of bad press what incentive will carriers like Sprint have to keep new Android devices on their network, ppl will jump ship
[Hero CDMA Android Development] gu1dry:
Tweeting, Facebooking & any other Social Networking the following would be nice:

HTC Release the CMDA Hero Kernel now http://bit.ly/CDMASource

Which I have just posted on HTC's Fan page on Facebook.
[Hero CDMA Android Development] incogneato:
1. Sir is not necessary.

2. I don't give a flying **** what you think. I want what I was promised, and what I payed $539.00 for. You keep on asking Kay, who thinks SenseUi runs inside the Linux kernel and therefore makes it closed source, for the code and see how far that gets you. HTC only cares about dollars. I am simply caring about MY dollars. HTC does not care about social responsibility or furthering free source software, so I'll simply talk to them in a language they understand.

I owe Sprint or HTC absolutely zero loyalty, as you're giving them enough for both of us.
[Hero CDMA Android Development] gu1dry:
The thing is HTC is stealing from hundrads, even thousands, of people's hard work. These people were even kind enough to release the source of their own work & the only thing they request is to post the source if someone has altered their work for their own needs. IMHO not a big deal, yet HTC is making it a huge deal. They need to train their people better, or at the very least, have a properly scripted reply.