Why We’re Forking Android-x86 - And Avoiding a Shakedown
Hi everyone, merry Christmas. We wanted to update you on how our staging of Console OS on GitHub is going, what we have left to do, and some recent controversy that has come up in the community.
A Brief History
Shortly after our Kickstarter ended, Intel suspended development of Android-IA for Intel Core processors. Later it extended this to all PC tablets as well. You will notice that Android-IA on Intel’s web site today only supports Minnowboard MAX - an IoT innovation board.
Some, in the past week, have accused us of being aware that this change was coming, while we were raising funds. Those detractors have accused us of fraud, raising money knowing we could not deliver Console OS going forward. This is not true.
To set the record straight, we sent several status updates, and engaged with Intel throughout our Kickstarter campaign. Before, during, and after. There were designated contacts, on both marketing and engineering, that coordinated with us throughout the campaign. Those contacts did not inform us of major revisions to Intel’s support, until after the Kickstarter campaign had ended.
It’s important to note what happens after a Kickstarter ends. We can’t refund people at that point. Kickstarter and Amazon Payments have taken their cuts, and our only path forward - is to deliver. Which, we still are determined to do so, even in the wake of Android-IA for PC hardware being halted.
To Intel’s credit, they have maintained their assistance with us, providing support where they could within the confines of changes to Android-IA, that came from the management level at Intel. We dialogued with them in-depth on how to move forward.
Our relationship with Intel remains strong, too. As we will outline at the end of this article, we are continuing to implement our vision, in spite of these upstream changes.
Ultimately, we decided to ship the final Android-IA base engine that we had been seeded with KitKat, and follow Hardware Voting surveys from our backers, which pushed us to get to Lollipop. This comprised the initial release that we made at the end of 2014, delivering Console OS KitKat to most target devices from the campaign.
A Year of Lollipop Logjams
For the past year, we have tried to jump start Android-IA for Lollipop, on PC hardware. We’ve open sourced dozens of kernel patches and tried time and time again to make Android-IA 5.0 work with PC hardware.
In short, we couldn’t. We wouldn’t say we failed, because Android-IA 5.0 never formally/publicly supported PC hardware (including PC tablets) to begin with. We did at brief periods, get it up and running. We even shipped a technical preview based on it. Feedback was negative, and we realized by around July of this year - that Android-IA was simply not sustainable today. Over time, support was getting worse for PC hardware, not better with each open-source release.
Unfortunately, this is coming at the very same time that Google is moving Android towards the PC, slated for around a year from now.
We hope this move will get Android-IA back on the track for PCs, Ultrabooks, and 2-in-1’s. But we cannot keep on waiting for the world to change. We started looking at other options. Frankly, giving up was a real possibility.
An Unreasonable Demand
By August, we realized that our best path forward, was to fork the Android-x86.org project, and make significant design changes. It had made success with Linux kernel 4.0 in supporting modern Intel and AMD platforms with PC hardware.
We reached out to Chih-Wei Huang, the sole administrator of Android-x86.org, who has been very critical of both Intel and Console in the past. We attempted to work with him, and even proposed a project to improve the boot loaders for all three Android/x86 distributions today.
Mr. Huang, unfortunately, demanded we pay him $50,000 in order to contribute and cooperate (PDF) with the Android-x86.org project. This is an underhanded effort with the undercurrent of a threat. What happens if we didn’t pay him? We respectfully declined, and decided to move ahead.
The freedom to fork, is one that should not be infringed upon. Demanding money to collaborate on open-source contributions, or to even review code commits for inclusion, is absurd. It has driven us to a fork in the road, literally.
Chin-Wei Huang has, and still appears to, work for ASUS. We have a high level of respect for ASUS. But we cannot believe that an employee of ASUS would make such a demand, even in his own private open-source projects.
Unfortunately, in the wake of not paying what we consider to be grossly unreasonable, Chih-Wei Huang has unleashed a broad and ranting campaign against Console OS, and myself personally. It’s unfortunate and it’s a disgrace to open-source.
This is not how projects should interact. We have clearly extended every olive brach, even offered to connect Mr. Huang with Intel employees - to affirm our story and where we stand. He has refused, and we feel, because we weren’t willing to pay his bribery.
Chin-Wei Huang has said he will ban any supportive discussion of Console OS from the Android-x86.org discussion groups. As such, we aren’t able to share our side of the story there.
Looking at it from the converse, had we paid Chih-Wei Huang the $50,000 that he sought from us… would he be posting these angry, divisive, and false rants today? We don’t think so.
Let’s be clear. Chih-Wei Huang is an excellent and talented engineer. The entire community owes him a technical debt of gratitude. And there have been some claims that we believe may have merit. We are hopeful, however, that we never have to test those merits. But we will not stand for his actions in relating to others in the community. It’s one thing to be a great engineer, it’s another to be a respectful community member.
We are willing to put this controversy in the past. We want the Android-x86.org community to grow and continue going. Our efforts to fork it are not meant at attacking that community. We expect that code commits will be swapped back and forth between Console OS with Android, and Android-x86.org, for the foreseeable future.
What We’re Doing Going Forward
Rebasing as a fork of Android-x86.org allows us to stand out. We’ve started to build per-device, effectively serving as the CyanogenMod to their AOSP. We're working hard with Intel to enable new drivers, too.
These moves also allow us to ensure Console OS will always be free, via GitHub. When we sell Console OS, we plan to commit most revenue right back into open-source development. And sales of Console OS will not be in place of our GitHub distribution - it will be right alongside them.
We still have a lot of work to do. Our GitHub does not yet have our curated, finely tuned app assortment. It doesn’t have dozens of per-device build targets that we have been articulating. It still lacks Windows support. But we aren’t going to rush that, based on outside influences. In fact, we’re unfortunately going to move slower in staging, as a result.
Claims we haven’t been open and transparent with you, our backers, should be laid to rest with this update. While this painful process has further delayed us - it will not deter us.
Our vision is simple: You power up your PC, you choose Android, and it works easily, and it works great. By infusing Android-IA drivers into Console OS with Android, along with Windows integration, and making it a great open-source platform, we think we can still make that happen.
To that end, we have relaunched the Console OS Forums with full source code discussion areas and contribution sections. We’ll be participating in them and welcoming (productive) discussion of open-source builds, alongside our user builds. Our Wiki is being updated with build guides and each device page will be updated over the next couple of weeks to focus on Lollipop.
This is a new start for us. On the downside, it means some features we planned to implement, won’t happen any time soon. Some we will still be able to implement rapidly in the coming weeks and months. Others we will change based on the rapidly-moving Android ecosystem. For example, with the rise of HERE Maps and other solutions, we probably don't need our own mapping app anymore. Running multiple apps simultaneously is a task that Google has now taken on. We'll build atop these solutions, and make them more integrated with the PC.
But on the upside, it means we can start committing code on a weekly basis, and gestate per-device builds for dozens of devices right away. We have the infrastructure, and the resources, to start making meaningful contributions.
Rather than pay baseless demands, we’re going to put thousands of your Kickstarter dollars back into the community, rewarding others to contribute to Console OS in open-source, right alongside us on GitHub - and to other projects, too.
We’ll post the first details of our initiative to reward other developers in the AOSP-on-x86 space next week. Overall, we are glad we’re still in the fight - starting anew but sticking to our original goals… we may have been dealt a unpredictable hand of upstream defeats (which we did note was possible in the Risks section of our Kickstarter), but we’re still fighting to deliver.
We feel it’s a fight we can stand to win, and even ship Console OS with Android into your hands licensed with Google Play. We have checked off all the boxes on our end to that goal, including applying to the Open Handset Alliance. While we’re still waiting to hear back from Google, we won’t let that slow us down - we’re going to take Google at their word that things like the rules of the road for Android, will be applied equally. And we’ll let you know if they aren’t.
Finally, to our backers most of all... We certainly regret these delays. But once staging on GitHub has completed, we will begin regular and consistent updates of Console OS Lollipop to you - alongside shipping remaining perks. It has been a lost year for us, in the wake of losing Android-IA for the PC. But we aren't going to let that stop us. We thank those of you that have stuck with us, and stood up for us, in the face of this tumult and chaos - both in the community, and in Android itself.