August 10, 2013 By: Samantha
Greg Sony”. It’s a rather affectionate title that Sony’s been given for the past few months, particularly for their leading track record in GPL compliance as displayed on multiple occasions. So to make sure that they’re continuing their fairly extraordinary performance, they’ve just released the open source files for the recently announced Xperia Z Ultra and M.
Much in the spirit shown by Sony back with the Xperia Z, the company’s gone ahead to make sure developers can play with the workings behind both the yet-to-be-released Xperia M and the just released Xperia Z Ultra. It’s been iterated before, and it has to be done again, but nothing but commendation can be given to Sony Mobile for this.
The Xperia Z Ultra is Sony’s answer to the very successful Note series from Samsung, boasting a 6.4-inch display at 1080p resolution. Keeping it going is the 2.2GHz quad-core Snapdragon 800 processor, 2 GB of RAM, and a 3000 mAh battery. With a thickness, or thinness rather, of 6.5mm, it retains the attractive OmniBalance design we’ve seen featured in the 2013 Xperia family. This is also true for the Xperia M, a mid range device with quite a modest spec sheet. Yet despite its 1GHz dual-core Snapdragon processor and 1GB of RAM, it definitely still has enough horsepower to go about the uses of the average user.
So if you’re thinking of thinking about getting either of these devices, or curious about their “behind the scenes,” you can find the files for the Xperia Z Ultra and the Xperia M at their respective posts on Sony Developer’s Open Source Downloads site here and here.
At XDA, we like open source. In fact, you could say we love it. We have a GPL policy to ensure users understand the best ways to follow the GPL, and ensure others can make use of their work to improve all our devices.
Unfortunately though, OEMs often lag behind the efforts of the hobbyist third-party developers. While some OEMs are very commendable with their source releases (namely Sony, on numerous occasions, going above and beyond what is GPL licensed, releasing AOSP device trees), a lot of other OEMs take a lot longer to release sources. But they eventually do, and we should applaud them for that.
Unfortunately though, lately there have been a number of users getting in touch with us to try and raise awareness about some OEMs that do not follow the GPL license, and release devices with Linux kernels but refuse to release the source code. Among the companies we’ve been contacted about, Micromax and Rockchip are two that spring to mind.
One of our forum members contacted Micromax to request GPL source code for their kernel and was met with the following response:
Thank you for your Email, we would like to inform you that we can not provide any kernel source code from our end.
Unfortunately, this Micromax staff worker confirmed that they would not provide GPL-mandated kernel source code, and thus admitted to breaking the GPL. I have no doubt that some people reading this article will have code contributed to the main Linux kernel, and would be in a position to enforce their copyright against Micromax.
With regards to Rockchip, the makers of the popular low-cost RK29xx and RK30xx chipsets often seen in “TV stick” style devices, there are also GPL compliance issues, Specifically, some of the source files have been removed, and left with only the compiled “object files” in place. This permits a kernel to be built from source, but does not satisfy the full requirements of the GPL (as these object files are built directly into the main kernel). This prevents users from modifying a number of important drivers.
We’d love to reach out to Rockchip and Micromax, to help them to become GPL compliant. In addition to maintaining legality, the benefits of following the GPL also include the ability to merge code from the community back into their source trees, thus saving them time and money with fixes. Unfortunately, neither has returned our emails. And while we would still welcome them to get in touch (they can do so at pulser _(at)_ xda-developers.com), it appears likely neither is interested in taking action.
The question is now whether the community can create the necessary pressure to ensure that the law is upheld by abiding by the GPL. We contacted Micromax prior to the publication of this article, and received no response to our request for comment.
June 13, 2013 By: Jimmy McGee
Daniel Nazer is a Staff Attorney on the Electronic Frontier Foundation’s intellectual property team, focusing on patent reform. Daniel has a B.A. in Philosophy from the University of Western Australia, an M.A. in philosophy from Rutgers, and a J.D. from Yale Law School. He also practiced at Keker & Van Nest, LLP, where he represented technology clients in patent and antitrust litigation.
You may be saying to yourself, “That’s great for Daniel! But, why should I care?” Well you should care for two reasons. First, the Electronic Frontier Foundation is a wonderful non-profit organization that supports your digital freedom. From protecting people from the Righthaven patent trolls to supporting privacy technology and helping us stand up against SOPA and other government threats to our digital lifestyle. We here at XDA support the EFF so much that we donated all profits from the sale of our book on Amazon to them.
Second, Daniel Nazer will be speaking at XDA:DevCon 2013! The last decade has seen an explosion of litigation from patent trolls, entities that produce nothing but buy patents to launch lawsuits. Recently, trolls have been targeting small companies and startups, including application developers. A flood of low quality software patents is behind this outbreak. As an independent that is developing an application this should cause you some alarm.
Even the copyleft principles of free and open source software licenses, like the much touted GNU General Public License, are difficult to apply to patents, leaving the entire FOSS community vulnerable to attacks by these idiots. With the troll problem growing, there are a number of proposed reforms being considered by Congress. However, the cogs of government move slowly. In the meantime, developers must take steps to minimize the risk of becoming the latest patent troll road kill. Nazer will be showing what steps you can take to fight back in this situation.
[Image from PatentTrolls.org]
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.