Sometimes, you can harp on a subject so much that you end up beating a dead horse. In our eyes, this is not one of those instances. Enough can’t be said for companies that take Open Source seriously, as well as their responsibility to contribute back to the very community that helps to boost adoption rates for their devices.
Sony Mobile is one of those companies that gets it. They have contributed to the open source community with their DASH code, GPLv2 adherence with their kernel source code releases, and various AOSP projects (Xperia S, Xperia Z). Now, they have added the Xperia Tablet Z to their stable of AOSP projects ahead of its worldwide release.
Sony Mobile announced on their Developer World blog today that the AOSP code for the Tablet Z is now available on their GitHub. While you’re at it, check out their video below for a demo of AOSP on the Tablet Z.
We’ve previously covered step-by-step guides on how to compile your own kernel from source. Simply compiling some readily available source code though is only half the battle. For there to be any benefit of compiling and flashing your own kernel, you’re going to need to make some modifications. Which particular changes you make is of course entirely up to you, and there are a huge number of improvements that can be made at kernel level to improve the performance of any given device. If you’re at the stage of having compiled your own kernel but are a little unsure of where to go from there, XDA-University has a guide which will be of interest to you.
The tutorial covers the process of adding CPU governors, I/O schedulers and the ability to overclock the device’s CPU to your kernel. These are among some of the more basic modifications that you can make, but they are also some of the most sought after by users. All the required steps are clearly outlined and backed up with easy to follow code examples that will have you modified and ready to compile in no time. You will of course need to be familiar with Github in order to document your changes and remain GPL compliant. If you need a refresher course, be sure to check out this excellent guide to becoming a Git wizard.
Be sure to head on over to XDA Univesity and check this one out if you want to take your own kernel to the next level, as this provides a great jumping off point for further more advanced developments.
Here at XDA, you’ve probably seen us talk about collaboration. The dictionary defines collaborating as “to work with another or others on a joint project.” We take collaboration seriously, so much so that we actually frown when we see members of the community not take it as seriously. What makes us even more upset is when manufacturers don’t take it seriously, though that rant is for another day.
There have been numerous instances of OEMs that have claimed to be “developer-friendly,” but whose actions spoke louder than their words. On the other hand, there are only a few instances of OEMs actually having their actions match their words, with one of those being Sony over the last 12-18 months and another being a relatively new entry to the Android world, Chinese manufacturer Oppo. If you recall we’ve spent some time discussing Oppo’s recent wins in the Android space, not the least of which is their GPLv2-required release of kernel source for the Find 5. On the surface this is not that noteworthy given it should already be done by default, however with Chinese manufacturers that is not a given. Given the negative track record of Chinese manufacturers adhering to licensing, Oppo is doing something extraordinarily rare by signaling a desire to position themselves in the Western market. Unlike other Chinese companies (Huawei comes to mind), Oppo is showing they have some understanding of, or are attempting to learn, what it takes to succeed.
As OEM Relations Manager for XDA, it is my job to contact OEMs and build a dialog with them. This usually starts with establishing a relationship where XDA, with its 5 million users and tremendous independent developers, and the respective OEM can begin to discuss ways to collaborate (there’s that word again) on win/win opportunities. Sometimes it is met with open arms, as has been the case with Oppo. When approached with the idea to work together with XDA in growing development, we immediately began to discuss ways to facilitate collaboration (!) to bring about a good relationship with the developer community. We also knew that in order to make any collaboration a win/win for both parties, there would have to be value for the OEM.
After those initial discussions, I spoke with some veteran CyanogenMod maintainers (and members of the now-defunct Team Hacksung) XDA Elite Recognized Developer Entropy512, and Recognized Developers XpLodWILD and nebkat, about their interest in taking on a new device and bringing CM to it. All three were definitely interested, and I began working together with them and Oppo to make it happen. After a few weeks, CM10.1 was brought to Nightly status by the team.
Oppo was ecstatic, and so recently I reached out to XDA Recognized Developers, and Paranoid Android developers, molesarecoming and aaronpoweruser, about their interest in such a project. As was expected, their answer was in the affirmative. And after just a few days, aaronpoweruser posted on G+ that he was close to having an alpha build of PA soon.
All of this hasn’t come easily though, given the state of Oppo’s kernel source. The kernel source that was released was not fully GPLv2 compliant as it was released late (though better than some other companies we could name), had different config files (debug worked, release didn’t), and the kernel source has not been updated even after they’ve made kernel updates on recent firmware updates. With all that being said, the teams have done a great job bringing their respective projects to where they are today. And with language and cultural barriers between our developers and theirs being what they are, Oppo does appear to be trying to overcome those issues.
We know you look forward to seeing the great things that are bound to come out of this collaboration. And to the other OEMs out there, take this as a suggestion: It doesn’t hurt to embrace the developer community, and only makes your stock rise in the eyes of that community. When that happens, the word will spread, and consumers (who incidentally are highly influenced by what members of that developer community have to say about your products) will follow with their currency. It’s a cycle which can, and should, be repeated. If you’re interested, contact me and XDA.
April 11, 2013 By: Will Verduzco
OK. It’s no big secret. The HTC One is a great and exciting device. You’ve heard us talk about it—everything from the launch event and preliminary benchmarks to giving the device and its carrier variants a place on our forums. Now, we have kernel source for some One variants, which is great news for those looking to start development work for HTC’s latest flagship. And since the device was only recently launched, with many carrier variants still pending release, HTC has done a great job of keeping to their GPL requirements.
In addition to the One, HTC also saw fit to
release update kernel source for the Droid DNA to match an OTA that was released back in early February. In other words, the company is now GPL compliant with binaries released two months ago. The DNA, if you may recall, was released quite some time ago. Available since November of last year, it took nearly five months for the device to become GPL compliant. Better late than never, but we can’t help but think how much further along the development community would be for the device, had the GPL obligations been fulfilled earlier. In fact, we’ve even seen better from certain relatively obscure manufacturers.
Let’s just hope that in the future, the One that we’re waiting for isn’t an HTC device’s (up-to-date) kernel source code. Those looking to get in on the goods can find them in the links below.
Update: As pointed out by reader and “HTC Champion” Leigh, my previous statements were somewhat mistaken. Article text has been updated accordingly.
January 26, 2013 By: jerdog
Here at XDA, we take the responsibility of carriers and OEMs to provide timely updates to their devices (and to honor their GPL requirements) seriously. There are those who do a good job (Samsung is one of them), those who don’t always do a good job (HTC, Motorola, LG), and those who do a terrible job (Huawei, ZTE, Rockchip to name a few). But there is one who right now is doing a terrific job, and that is Sony Mobile.
Back at the end of 2012, we selected Sony Mobile as our OEM of the Year for many reasons. One of those had to do with their public support of the developer community. Another was the release of beta OS builds for impending updates, shared on XDA by Sony staff in order to seed the ROM development pipeline. In addition, they were very active in supporting AOSP for the Sony Xperia S in the Google AOSP device tree, released the AOSP binaries, and eventually branched out to open their own Github for future AOSP development.
On Friday, Sony continued their string of community contributions by releasing an ALPHA build of Jelly Bean (Android 4.1.2) for the Sony Xperia T. This build is most definitely an alpha, meaning that many of the core components do not work, so it is not meant to be flashed or even mucked around with by the end user. It is meant solely for custom ROM developers to take and use and help make it better in preparation for Sony’s upcoming official build of Jelly Bean for the Xperia T. In order to flash this you will need to use their EMMA tool and your device must have its bootloader unlocked, or else the device will boot to a black screen and you will need to return to stock via Sony’s Update Tool. More information can be found at their Developer World blog. Again, this is not for the end user.
Sony evidently wasn’t content just to be the only OEM to provide OFFICIAL alpha builds for their devices. They ALSO released the kernel source for the alpha build. No other company in our memory has ever done this. Sure, one could argue that it is their obligation to release the kernel source under GPL requirements because they distributed the alpha build. But let’s keep in mind that we’re talking about an ALPHA build—something that is essentially in the infant-stages of its evolution, and not a production build or a finished product.
Let’s also keep in mind that instead of letting it leak like other manufacturers do, and thus not need to adhere to the GPL because they can claim ignorance and that they themselves aren’t the one distributing, they are embracing the fact that the GPL is not harmful. They are stating their case that this is how OEMs should work with the community. They are saying that this sort of thing encourages trust and a sense of togetherness between the community and the OEM, which in turn trickles down to the consumer’s good will towards the OEM. It’s a veritable marketplace “circle of life.” (You’re welcome for having planted the Lion King firmly in your subconscious for the next few hours.)
Other OEMs, like Samsung, frequently release incomplete kernel source that will not build (GPL violation); or fail to release the kernel source for a production build that they later retract even though it was distributed and is live in the wild on consumer’s devices (GPL violation). Or in the case of HTC, just plain ignore the GPL and wait for petitions to be filed or lawyers to be engaged before releasing the kernel source for a software version that is now out of date (GPL violation).
Let this be a lesson to the OEMs out there: When you choose to embrace the very ecosystem that has driven your profits high, and endeavor to work with that ecosystem in a mutual give-and-take, you will see positive results and karma that far exceeds your expectations. Or you can choose to neglect the very base that at one time made you the top smartphone manufacturer in the world and ultimately see your profits and market share slide into the abyss where there is little to no hope of return. Your choice. Choose wisely.
I made a mistake. A few days ago I reported that, with a slew of new kernel source codes posted on HTCdev, HTC is now GPL compliant. That wasn’t true. I found out after saying it again on XDA TV. On Twitter, @gu1dry said,
That was true. Somehow, I overlooked the HTC Kingdom (HTC EVO Design 4G and HTC Hero S) when making my list of HTC’s non-GPL-compliant devices.
I don’t like being wrong. And it looks like HTC doesn’t like it when I’m wrong, either. Things get messy, or something. So HTC fast-tracked the release of the Kingdom kernel source code. It’s available on the HTCdev website. So now, HTC is mostly GPL-compliant.
I was also reminded of the fact that GPL compliance means making an Android kernel source code available as soon as the Android device releases. HTC has yet to do that. Once they get a system in place to make that happen, they’ll be GPL-compliant. I’m sure that with all the recent successes at HTCDev, we’ll see this soon. Looking forward to it. For now, being up to date with all the Android devices on shelves is definitely a victory for everyone.
M10Tools is going open source! Need I say more?
Okay, for those of you who don’t know about M10Tools, I’ll explain. In a nutshell, it’s a program that allows you to edit HTC Sense. Normally Sense is very challenging to edit directly, but with M10Tools a world of opportunity opens up to people with coding skills. Over the past few months things have really taken off, and now the developer wants to take it open source!
There’s a snag in the plans though. It seems one of the original devs has decided to quit, leaving an opening for new developer. According to Diamondback10 the new guy must have:
•Very good experience in C# and/or C++
•Windows dev of course
•Experience with reading/writing binary data would be helpful
•Experience with reverse engineering file formats would be also helpful
•Good spoken english required (German would be nice too)
•Communication is done via either IRC or Skype
•Development uses SVN, so knowledge about SVN and how it works is quite helpful
•Having a HTC phone with a sense 3.0/3.5 ROM is strongly advised. You don’t totally need it, but it helps a lot.
If you think you have what it takes to continue the legacy of this awesome program head on over to the thread here.
Here’s the list:
- Desire S (Europe, HTC Asia India, HTC TUR, Bouygues FR, HTC Arabic)
- Flyer (HTC WWE Honeycomb update)
- Explorer (HTC Asia HK CHT, HTC Asia WWE, HTC Asia SEA WWE, Orange UK)
- Sensation (T-Mobile US)
- Incredible S (HTC WWE, HTC TUR, BrightStar SPA)
- Droid Incredible (Verizon WWE)
- Vivid 4G (ATT WWE)
- Salsa (HTC Europe)
- Desire (Gingerbread update)
Congratulations to HTC and HTCdev. And to all these devices, welcome to the open source community.