Monday, January 16, 2012

People in Closed Source Houses Shouldn't Throw Stones

I wrote a post late last year when all the news first started being posted (pretty much everywhere) about the Windows 8 "secure boot" support. Well folks, the open source news media is at it again - Microsoft has announced they are doing exactly what we thought they would - they are implementing secure boot on Windows 8 ARM devices. There have been various blogs and even decent open source websites posting foolish notions such as:


I say these notions are foolish because they imply that Microsoft is doing something that isn't already being done.

Do these people have any idea how many Linux based ARM devices don't allow dual booting? Do they have any idea how many Linux based ARM devices exist, were even if you can dual boot them they lack hardware functionality in alternative operating systems due to closed source drivers?

Before you tar and feather me for not jumping on the Microsoft bashing bandwagon - please stop and count the number of ARM devices you've tried to install an alternative operating system (such as Debian) on. Personally, the number of different pieces of hardware I've worked with is into the double digits now. Do you know how many devices I've managed to get full functionality out of?  

Exactly one. 

Thats right, until I'd recently started working with the Genesi Smartbook alternative operating systems were always crippled on the various ARM devices I owned. If you can prove me wrong here - really, please do! I would love to have more ARM devices that I can run Linux on fully.

So maybe, just maybe, the open source news media needs to stop and take a deep breath and realise that the ARM platform as a whole is a giant mess with regards to software freedom. Microsoft isn't doing anything new here - they are simply following in the footsteps of companies everywhere of creating locked down mobile devices. So please, if you are going to continue calling out Microsoft as the ARM anti-christ please be sure to include all those other companies involved with ARM that also hate software freedom.

~Jeff Hoogland


  1. I agree with you that the FOSS news media is often prone to kneejerk headlines, some even deliberately designed to provoke a reaction in the community.


    Your operative words here are "alternative operating systems where always crippled on the various ARM devices I owned".

    There are a LOT of ARM devices out there, with a LOT of hardware in them besides an ARM based CPU.

    Often with this particular debate, focus is misplaced. The current controversy is over an obvious, if clumsy, attempt by microsoft to lock other OS vendors out of an upcoming generation of products, but much of the time, everyone forgets to consider the Hardware manufacturers' role in things.

    There are a number of ARM based devices over the years whose manufacturers have allowed, and even encouraged the use and installation of multiple operating systems.

    One prime example was Smart Devices' SmartQ V5 and SmartQ V7 tablets, which arrived a little before Android became popular and were offered with an optimised build of Ubuntu, but later also had official builds of Android and even Windows CE. These devices allowed for dual or even triple booting with sufficient storage added.

    There was also the Always Innovating Smartbook, though more of a reference design and development platform for then ARM cortex-A8 DM3730 processor, it has official support from Always Innovating for multiple flavours of Linux amd Amdroid.

    Not to mention the multiple ARM development boards from manufacturers that, in their respective development kits, often come with BSP (Board Support Packages) for multiple flavours of Linux, Windows CE, BSD and even other lesser known Unix-like Operating systems.

    The Beagleboard from texas instruments runs multiple flavours of Linux, and at least one BSD variant, and the upcoming 'Raspberry Pi' single board computer will run at least Debian, fedora, and an older (but still supported) version of Ubuntu when it is released in the next few weeks.

    This being the case, it is most often true that such devices allow only for booting a single Operating System 'per install' not because there is any wish on the part of the manufacturer to prevent dual/multi-booting, but simply that they are unaware of demand and thus have not had sufficient motivation to implememt it in their officially supported bootloaders before bringing the products to market.

    If an open bootloader such as RedBoot or Das U-boot is used multiple boot functionality could be implemented by either (with enough user demand motivating them) the device manufacturers or (in the case of development platforms) the Developer community.

    Simply put, because ARM architecture can be licensed to pretty much anyone who thinks that the architecture would work well in their corner of the market, be it smartphones, embedded systems, routers, servers, and even appliances, which features exist on a system can and will vary wildly between manufacturers and devices, including bootloaders and the ability to change Operating System.

  2. Hey Dude(Jeff Hoogland), nice article...
    Almost all smartphone comes with locked software in it... Microsoft is doing all right... There will be a lot people who will buy Tablet just for Windows 8, (There are also lot of Android Tablets in market, if anyone wants "Linux")...
    And please put some "+1" or "Like" buttons in your article.. :)

  3. Author obviously deserves a slap. Its not about items that have been locked, it's about pushing using very crude technics, that are possibly against law. And yes, while not big enough reason for concern - it still is reason. We know how much Microsoft loves its monopolies and creating artificially one more for no appropriate reason - ain't gonna help anyone but Microsoft itself.

    1. You fully missed the point of what I wrote (did you read it fully?). The point is there are a number of people that lock down ARM devices in a number of ways - including Linux devices. Yet the community is only up in ARMs (pun intended) over Microsoft doing it.

      Why the double standard?

  4. Umm. There is a difference between locking a system down so it wont boot another OS legally, and nobody botgering to port an OS onto a device.

    1. Exactly. No matter how the outcome may seem the same (at first), there is a BIG difference between a device manufacturer not actively supporting alternative OSs, and the OS vendor getting out of itself to prevent competition in all devices on the market. It's the same difference as between accident and murder, in fact. The victim is very dead in both cases.

    2. How can people be expected to port an OS to a device when there are no specifications or driver source code released for most of these devices? We are suppose to be writing drivers from scratch for each and every ARM device?

    3. Sure, I agree with this. However, Microsoft's move goes beyond that: now a manufacturer even doesn't really have a choice of developing Linux drivers for its device, because it's useless if this device practically can't run anything but Windows (which would be the case to get the Windows 8 sticker). For sure a manufacturer COULD sell the same device with a slightly different name, that does NOT run W8. This would be a sufficiently cumbersome commercial and supply chain hassle to prevent most manufacturers from doing so, and Microsoft wins (again). Arguably, a bunch of attractive devices that just CAN'T run Windows would be a pleasant sight... until M$ sues the manufacturer to oblivion because it infringes some obscure confidential patent about blinking cursors.

  5. Is this Jeff guy some kind of MS agent?
    If there is no OS-options for ARM, why bother locking them out?
    What if some day someone wants to do it for some reason?
    And last, the motivation. Why does MS do what is does (use closed formats and interfaces, don't support HTML5 etc)?

  6. ok all you guys saying jeff is supporting microsoft need to read the post again you've missed the point of his article, jeff is right that microsoft are not the only vendors to be locking devices to particular os's.

    Motorola use a signed kernel that only there bootloader will load to prevent people using other android kernels or building your own other than those signed by there hash, there are other phone companies who do this also but i wont list them all.

    the RK2918 chip used on many android tablets use a hash check on the bootloader to perform a hash check on the kernel if the hash fails it flashes itself back from the recovery part of the nand.

    many of the hacked roms people load to these devices still use the same base kernel produced by the manufacturer but if you wanted your own os on there you would have to reverse engineer the public keys to make a hash to match the bootloader or code your own bootloader for that hardware.

    I recently contacted rockchip about access to the bootloader source and they wanted a very big fee in excess of thousands for research and to pay a license for every device i build using it.

    these examples are exactly what microsoft is about to do with there arm devices they have just made it public knowledge that it is a requirement to be a windows 8 arm certified device.

    then on top of this drivers for these devices are closed source just like windows drivers usually are so the fact that windows 8 is on a window 8 tablet is no different to gingerbread being on a android tablet.

    Archos did a cool job with there gen 8 devices they released a bootloader for there devices that would load a rootfs without a kernel check but they still dont release the code for there bootloader for people to customize that so you still have to use there os as default.

    nvidia tegra were pretty good too as they allowed full access to the bootloader code but there drivers for there gpu acceleration are closed source.