HTC has just posted the kernel source code for the HTC Hero on its dedicated developer portal. This follows weeks of demands from open source developers regarding the availability of the source code from the manufacturer, as HTC originally stated that it was waiting on its own developers to provide the source before making it available.
As the GPL requires immediate availability of all source code created under the aforementioned license, many developers were upset when the initial requests for the source code after the release of the smartphone were met with vague responses and no specific availability information, with some even threatening legal action due to perceived non-compliance.
Correction: This article has been corrected for clarity and to specify the type of source code made available. PhoneNews.com regrets any confusion that arose from the original article.
You’re using weasel words when you say “percieved non-compliance.” HTC were _in fact_ in violation of the GPL by not making the source code available. They were non-compliant until they released the code.
What do you expect, Duncan? It’s some fucking retarded east indian guy who can’t tell his right asscheek from his left.
Awesome, I’m being trolled!
Duncan, HTC has always released Android source for its devices in a timely manner. Why is this situation another catalyst for open source advocates to rail against another manufacturer, potentially driving them away?
Because the truth needs to be spoken, and the truth in this case is that HTC was _not_ in compliance with the GPL until they released the source code. Honestly, I am very appreciative of people who stand up for the GPL, because it seems to be trampled on a fair bit by companies who don’t care or should know better – “even if HTC has always released Android source for its devices in a timely manner” that doesn’t mean they need to be given leeway in this case.
You folks are idiots…
You got the wrong license you fools! Quoting the Wikipedia article on Android…
Since 21 October 2008, Android has been available as open source. Google opened the entire source code (including network and telephony stacks[23]) under an Apache License.[24]
With the Apache License, vendors are free to add proprietary extensions without submitting those back to the open source community.
Even if it were strictly GPL, they’re only required to release the software modifications to people who’ve actually BOUGHT a Hero. They’re under no obligation to release it to you people just because you’re griping about it. The article at CNET seems to indicate that it (the Hero) was released to the public on Oct 11th by Sprint. I think two friggin weeks after they get it off the dock is just fine.
You’re idiots.. I hope you’re better programmers than lawyers.
I think because HERO actually looks very good, people are in heat for a very quick release, because they just want to leverage off HTC’s work. So that’s where the real issue is! If it was crap, do you think anybody would be bothered?
My $0.02
DannyD your the idiot. They dont have to just give it to the people that bought it. If they ever used the code for anything that was released to anyone then they are obligated to share those changes.
I dont know if its GPL v2 or v3 but that makes a difference as well.
@DannyD: the linux kernel, upon which is based android, is GPL. So this part, at least, should have been released at the same time as the binary code, i.e. the device itself. You’re right telling that this only applies to people who have received the compiled code, i.e. people having bought the device, indeed.
Personally, i think its kudos to htc for actually doing it so quick and making it generally available, it wouldn’t have been easy pulling things they can and cant release in different directions..
Heres what alot of people are missing, actually the most important part. The linux kernel is (yes) GPL v2. The GPL requires that you CAN MAKE AVAILABLE the source to any person you provide a binary to within a reasonable time frame. The GPL can then be used to cut your legs off and deny you the right to redistribute the thing you have that is GPL (theres some differences between v2 and v3 here).
The GPL (either v2 or 3) does not specify the means by which you make it available (And you can charge cash for providing someone the sources – i.e. your costs) For example, if you post your sources to the person on CD you can charge them:
1) the time it took for you to compile it onto the cd (i.e. burning)
2) the cost of the media
3) the cost of postage
@FannyF and @Steph: DannyD is also 100% accurate, the android (non-linux-kernel) parts are NOT GPL, they are Apache licensed. This does indeed mean that HTC can take the Android components (Which is mostly just things running inside dalvik or code that Google themselves actually wrote) and NOT provide the source.
Also keep in mind, theres probably going to be prorietary drives in that linux kernel that wont have the sources released (this is exceedingly common these days and while technically a breech of the GPL, no one chases after it for many reasons).
And, dont forget that if YOU provide a binary (GPL) to someone, YOU are reponsible for making the source available to them. THINK VERY HARD ABOUT THAT. The various third parties out there currently doing modified htc hero roms are technically themselves in breech of the GPL, they’re providing a ROM (including the linux kernel) to people without being able to provide the source. Again, no ones going to go after Cyanogen and Co for THAT, but always remember, if YOU provided the binary YOU provide the source.
so in reality, I personally think we should all thank HTC for actually providing more then what they needed (or were legally required to do) for free. Sure, most people do the same with gpl code, but just because everyone does doesn’t mean htc had to. There was a bit of a delay – life goes on and HTC have done better then the right thing.
ROFL QQ over no source code what is GPL gonna do about it ??? Nothing, they never do hence the reason they keep getting stomped on.
Gratz HTC on taking the time to get it done RIGHT and not cave to pressure and just toss it out the door. Next time they should release it faster but don’t do any clean up on the code and leave it a mangled mess.
oh come on, please stop the QQ, GPL is a cancer, period.
to all the GPL fanboys, Die In a Fire.
Oh dear. There is a good deal of misinformation in this thread.
@Humberto Saabedra: Duncan is right. Whether or not HTC have a history of playing nicely with the GPL makes no difference. Once they release code covered by the GPL, they are *required* to make the source available. To fail to do so is to be in breach of the licence, and that makes it a copyright offence to distribute any copies.
@DannyD: aside from your having the wrong licence for the kernel (it’s GPL, not Apache, as has been mentioned), you are also wrong about who can receive source. HTC *could* have distributed the binaries under section 3(a) of GPLv2 / section 6(a) of GPLv3 (as appropriate) by distributing source *with* the object code, and that would have fulfilled their requirement to distribute source. But they didn’t, so that clause doesn’t apply. As a result, they now have an obligation to supply source on demand to *anyone* who has a copy of the object code.
@Paul J R: The GPL does *not * say that you CAN make source available, it says that you MUST make it available. And I have no idea what you mean when you mention cutting off your legs – if you are in receipt of GPL code, you are explicitly permitted – encouraged, even – to redistribute it, providing that you execute your responsibilites under that licence (i.e. you distribute the source).
“prorietary drives”? That’s kinda the reason for the GPL; if you’re putting code into the kernel, you are making a derived work, and this entire work must be licenced under the GPL if you want to redistribute the GPL code that you received. So the source *must* be made availabe.
@CrazyHammer: yes, there has been litigation over people refusing to provide source code. It always goes in favour of those requiring source code, because unless source is provided, this is a simple breach of copyright. That’s easily litigated in any jurisdiction that is a signatory ot the Berne Convention, or has other appropriate copyright legislation (and that’s pretty much everywhere these days). Go ask D-Link…
Vic.
@Vic : do you realize that the vast majority of lusers complaining don’t even have enough money to buy an HTC?
damn FOSS hippies, go read the DFSG and choke on it
> do you realize that the vast majority of lusers complaining don’t even have
> enough money to buy an HTC?
Oh dear. That’s very stinky bait.
Even if what you say is true (and it is unsubstantiated allegation, no more), it would make no difference. HTC broke the law. They were asked to get themselves into compliance. At long last, they have[1].
Or are you telling us that only rich people should have any sort of legal protection?
Vic.
[1] Even that’s uncertain; under GPLv2, there is no *automatic* restoration of rights once the transgressor has come into compliance. That appears to be an oversight in the original wording, and has been corrected in GPLv3. And everyone seems to turn a blind eye to it, anyway.
all I’m saying is that the vast majority of the FOSS hippies cry like carebears when they should in fact stfu because they are in no position to request the source code, as they have no HTC Hero, hence they should not have HTC object code either.
No-one is crying! You appear to be imagining emotions that simply aren’t in evidence. That’s usually called “projecting”…
But as for people’s right to ask for the source code – yes, they *are* entitled to it. It is perfectly legal to acquire the object code without owning a HTC Hero, and anyone who does so has a right to the source code, since HTC did not distribute under section 3(a).
And what is more – we’ve got it.
Vic.
@jbasko
It doesn’t matter how the Hero looks. This code is just for the kernel, it is not the complete android system from the phone. They released what they were legally required to release.
We still don’t have any of the code for what makes it look good.
@Vic: we don’t appear to live on the same planet 🙂
anyhow, have a good week end!
[…] The problems in Masnick’s mind are probably very different and the analogy improper because when it comes to derivative works, code and music, for example, vary tremendously. By doing the above (being overly permissive and tolerant of interference between individual freedoms), you enable and empower those who restrict, including those who capitalise at your own expense, at the expense of your freedom. Comments are already pointing this out. Take this new case of HTC for example. […]
[…] of heated conversations in the developer community about why HTC took so long to post the code. The GPL specifically states that source code must be made immediately available, but HTC stalled. In my eyes, this is just […]
@Vic – yes are correct, GPL REQUIRES you to make source available – what I was more infering was that they CAN make it available anyway they want. By cutting their legs off, i mean with the kernel licensed under gpl v2 it is possible to deny (completely) the ability of HTC to redistribute it (ever again). Unlike v3 where if you rectify the problem it gave you an “out”.
Secondly though, this is untrue: “it would make no difference. HTC broke the law.”. They broke a licensing agreement, different fish.
Thirdly, the only people who have the RIGHT to demand the source code from HTC (as jamesdoe states) are owners of the HTC Hero – sort of. Generally put, anyone who receives a binary version of the kernel from the HTC hero rom is entitled to the code – but you can only demand it from the person who gave it to you. What i mean is that if I didn’t have a Hero and then went off and downloaded a kernel from say cyanogen then its cyanogen who i demand the source from (not HTC).
Forthly: it may be true that propriatary drivers are derivative and hence GPL, but seriously look around and see all those binary kernel-tainting drivers out there, there are bucket loads (alot of them are circling around the arm platform too). With no one to chase them over it, there’s not alot thats going to happen to them.
@jamesdoe – seriously, enough with the trolling, lets get a ruler and i’ll compare yours and mine and i guarantee you i’m worth more then you and yet im a foss hippy.
> Secondly though, this is untrue: “it would make no difference. HTC
> broke the law.â€. They broke a licensing agreement, different fish.
Incorrect, I’m afraid. They broke copywirght law – exactly which one depends on jurisdiction, but just about every country on the planet has a very similar law. You’re not permitted to copy and distribute copyrighted works without a specific licence to do so. And HTC didn’t have one at the time they were distributing. That’s a breach of copyright law.
> Thirdly, the only people who have the RIGHT to demand the source
> code from HTC (as jamesdoe states) are owners of the HTC Hero – sort
> of.
Absolutely incorrect. HTC would have been distributing under section 3(b) of GPLv2; this explicitly states that *any third party* has the right to require source. Read the clause – it is very clear.
> Generally put, anyone who receives a binary version of the kernel from
> the HTC hero rom is entitled to the code – but you can only demand it
> from the person who gave it to you.
No, wrong again. It’s quite probable that many people getting copies of the related works will have been passed them under section 3(c) of GPLv2, since this will often be a non-commercial distribution. This explicitly passes the rights to source from each recipient to the next one in the chain. Once again – read the licence. It’s very clear about this.
> What i mean is that if I didn’t have a Hero and then went off and
> downloaded a kernel from say cyanogen then its cyanogen who i
> demand the source from (not HTC).
Possibly – but you could also get it from any non-commercial entitty under section 3(c), and that would give you the right to obtain source from the last “upstream” commercial entity that distributed it – right back to HTC,
> Forthly: it may be true that propriatary drivers are derivative and hence
> GPL, but seriously look around and see all those binary kernel-tainting
> drivers out there, there are bucket loads (alot of them are circling around
> the arm platform too). With no one to chase them over it, there’s not alot
> thats going to happen to them.
Well, GPL violations are tracked. You’re right that not all of them have been brought into compliance yet – but that doesn’t mean it’s a legitimate state of affairs. These things get sorted eventually – this is why Microsoft were forced to publish source to their kernel mods a few weeks back.
Most of the time, GPL issues are sorted out without court action. But that doesn’t mean that such litigation won’t happen – just that it is more effective to deal with such problems through discussion, rather than litigation. Ask Edimax about that…
Vic.
GPLv2 wasn’t as clear as GPLv3, but the FSF made clear that they didn’t want big feuds between violations of the GPL and violations of federal copyright law.
The procedure for a GPL incident (I don’t like to use the word violation myself, I’d hate for the tables to be turned one day), was actually followed quite well.
Here, HTC released code not as quickly as they should have. It should have been online from day one. Under recent interpretations of GPL by FSF (hardened in GPLv3), HTC wouldn’t be charged with a crime, but would simply lose rights to distribute. But, since the authors didn’t file a complaint, they didn’t lose those rights. Once the code is online, HTC would have regained rights to distribute.
The other option would be for a stakeholder in the community to have sued HTC, but injunctive relief there would take much longer in a court of law, as the “immediate damage” measure wouldn’t warranty injunctive relief before a ruling.
HTC then issued the source code, realizing that they could lose rights to the underlying GPLed source code… mostly due to public outrage.
In short, companies lag. It happens. Google lagged big time when sharing Chromium source code. It’s like a bank or a wireless provider screwing up your account, there is little to no recourse about it.
Now, I’m not telling you all to shrug your shoulders, there should be some sort of built-in penalty for this bad behavior. But, until there is, you can’t blame free riders for the free rider problem. You have to point the finger at the system. Is there an easy answer? No. Even if the GPL outlined strict, easy complaint processes, they would just be ignored… much like true violators of the GPL do so every day.
In short, this is actually a case of GPL working. Constant vigilance is a way of life for the GPL, the size of the company doesn’t matter. Keep in mind, it’s often not just intent, but language barriers and regional barriers that prevent the timely sharing of code. It could have been sitting all along on an HTC server in Taiwan (where they are headquartered)… we likely won’t know until long after it matters anymore.
P.S. On an unrelated note, I would actually argue that Microsoft slowly wanted Hyper-V kernel extensions published. They pose no technical harm to the Hyper-V patents themselves, and now make it a checkbox measure to integrate Hyper-V into an app. Microsoft wasn’t forced as much as they wanted to do it slowly and make as much news as possible… all the while putting their profitable hooks in the Linux kernel (pun intended).
This really is a lively discussion in which I can see two groups. One that actually says that HTC violated the GPL because they were late in releasing their code to the public. And the other party claiming that HTC did its best by releasing it after only two weeks. Nevertheless you guys got what you want and everybody can start programming htc Hero ‘s kernel.