Skip to main content

Towards an open world

This post comes in after a really long delay. The simple reason was that my end-semester examinations are here, and the run-up to the examinations is the most hectic ever. Boredom from studies forces me to the recommended items page in Google reader, and ideas there often prompt blog posts.

So here goes... It turns out that Motorola had put in a Facebook poll asking its fans what they wanted from Motorola. Unfortunately, they allowed people to put in custom responses, giving a thumping 100000 votes for an unlocked bootloader.

But hang on... I have gone off on a tangent... This post would be extremely difficult for non-geeky people to understand. They may even be asking, What is a bootloader? So, I first attempt to explain the basics.

A bootloader is a piece of software written specifically for the particular hardware. It kicks in before the OS begins to run, and is responsible for launching the OS. The term bootloader comes from bootstrap loader, which in turn comes in from the phrase, to pull oneself by one's bootstraps. A computer needs software to run, but needs to be running to load any software. Seems confusing, doesn't it? Rather like pulling yourself up with your bootstraps.

So, a computer uses a small programme stored in the ROM (Read only memory), which the processor is hard wired to run whenever it powers up. The responsibility of this piece of software is to load the operating system into the memory, from where the processor may access it. The BIOS on your computer is a very basic primary bootloader, which quickly hands over to another bootloader like GRUB, LiLo, or NTLDR. These loaders then may offer the user various options of contending operating systems to boot from, or in case options do not exist, to load the default operating system. Embedded systems like your TV or Hi-Fi players too sport microprocessors, well, almost all devices nowadays have microprocessors, but do not have an OS in secondary storage. The devices have their entire operating code in the primary storage (ROM), and hence start up immediately without the need for a bootloader. Just imagine how frustrating it would be to wait for a minute before your TV powers on.

Mobile phones come in somewhere in between. The cheapest ones do not have big bulky operating systems, and are configured very much like a TV or a Hi-Fi system. They boot up in seconds, and are up and running. Smart-phones on the other hand are tricky. They have bulky operating systems and varied hardware. They need bootloaders to run the OS, and the OS itself is huge and takes time to power up. This is where the main topic of my post begins.

Android is an open source OS, which means that its source code is open to all and can be used with whatever modifications that you wish. Even though the OS is opensource, the bootloaders for various phones are written by their respective manufacturers and are closed source. This leads to really tricky issues. Of course, the BIOS on your computer may not be opensource, but you still can install Linux on your computer, even though it came preinstalled with Windows. But in smartphones we have an issue. Most phone manufacturers have still to make the transition from phone to mini-computer. A typical smartphone nowadays has more processing power than a computer ten years ago. But we still have to be content with manufacturer supplied operating systems.

What manufacturers do in their custom bootloaders is to insert code that ensures that the phone may run only the OS that they have provided, or updates to the same. Effectively, they wish to deny the users the freedom to use an OS that they may prefer.

For most users, this is not an issue, simply because they do not think of a phones as a computer. Imagine a day when you would be forced to buy computers with GNU/Linux installed, with no option whatsoever to change to Windows... Or the other way around. I believe that something of that nature was the norm with the Apple Macintosh, but the amount of hackers who worked around the restrictions forced Apple to launch a uniform, company approved method of installing Windows on Mac hardware.

Again, I realize that I have come to the conclusion of my post without writing anything that would give the layman any background. But I suppose that he/she may have guessed that once upon a time, you could not legally install Windows on a Macintosh, just as you today cannot install Android on a phone that is manufactured by Nokia.

But why would manufacturers deny us that luxury? I suppose that it may be because mobile phone hardware has not yet been standardized as the personal computer hardware has been. The paradigm is that mobile phones are still embedded systems, and must have their own software and with that, the reliability of embedded systems. Also, each manufacturer believes that their OS is the best, and would not like you to stray away from their OS.

But when it comes to enforcing that with an iron will, there is no limit to where the manufacturers would go. It is possible to write some code that may mutiny when the user tries to terminate it, may go on rampage and destroy some essential components. This is what Motorola has done in their phones. It has put in some kind of eFuse, that would render your phone useless if you ever tried to install another OS is that phone. According to me, and many others out there, this is unfair, and must be stopped. Hence, when the Facebook poll was launched, most people rebelled against this locked bootloader and eFuse, and demanded a more open mobile platform. Motorola responded by pulling down the poll, which in-fact further glorified the demands of the users. For now, they appear as people struggling to free themselves from the tyranny of the corporates.

I had a Symbian phone, a Nokia 5800 XpressMusic. It gave me a hell lot of problems in hardware, and that coupled with the lousy customer care by Nokia forced me to say goodbye to Nokia for the time being. A post detailing my dealing with Nokia Care(!) should come up in some time.

I bought an Android phone, an LG Optimus One P500. A post detailing my review of this phone too would be put up in some time. However, the point which I wish to stress upon is that, for the first time, I saw in the operating manual of my phone, the following line:

You may install another OS on the phone. Doing so, however shall void your warranty.
Something better than nothing, I suppose. At least I have the freedom to install another OS if I am not happy with the customizations that LG has provided over Android. But I am still not satisfied. Do we see things like
You may install another OS on your laptop. Doing so, however shall void your warranty.
when we go to buy a laptop? Would I buy a laptop if it had such a clause in the agreement?

Pressure from users has already forced Sony Ericsson to give detailed instructions about how to unlock the bootloader in their phones along with a set of warnings about what can go wrong here.

I suppose that if the current user-pressure continues against the companies, they would soon relent and allow us the freedom to consider our phones as computers with a 3G connection built in, and allow us all the freedom that we desired. Imagine running Ubuntu netbook remix on your latest smartphone. Maybe, Ubuntu may come up with a smartphone release. The issue with this ideal stream of thought is that mobile phones nowadays are extremely varied with respect to their hardware. If we were to standardize the hardware on mobile phones, with respect to processor architecture and instruction set, then it would indeed be possible.

I see signs that we are heading for an open world, without Gates or Windows, and this is an encouraging sign. We must keep up the constant pressure to demand more openness, whether it is in technology, politics or science. An open world is best for all of us.

Popular posts from this blog

Progressive Snapshot: Is it worth it?

I turned 25 last year, which in the highly mathematical and calculating eyes of the US insurance industry meant that I had suddenly matured into a much more responsible driver than I was at 24 years and 364 days of age. As a result, I expected my insurance rates to go down. Imagine my surprise when my insurance renewal notice from GEICO actually quoted a $50 increase in my insurance rates. To me, this was a clear signal that it was time to switch companies.Typically, I score really high on brand loyalty. I tend to stick with a brand for as long as possible, unless they really mess up. This qualified as a major mess up. As a result, I started shopping for insurance quotes.Two companies that quoted me significantly lower rates (30%–40% lower) were Progressive and Allstate. Both had an optional programme that could give me further discounts based on my consenting to the companies tracking my driving habits. Now, I am a careful driver – I hardly ever accelerate hard. I hate using the brak…

Cornell Graduate Students United: At What Cost?

On Monday and Tuesday, we graduate students at Cornell will be voting on whether or not we want to unionise. Actually, scratch that, only graduate students who hold a TA, RA, or GRA appointment can unionise.This is a shitty arrangement, and I will be voting against it.For those of you who are not aware of how graduate school works at Cornell, you could be on one of many appointments.FellowshipA graduate student on a fellowship gets a stipend and tuition paid without associated teaching or research opportunities. Graduate students on a fellowship typically work towards their own theses, but will be excluded from the unionGraduate research assistantshipsA GRA gives a graduate student stipend and tuition without teaching responsibilities. However, this money comes out of a specific project grant, and the students typically work on their own theses. Students on GRAs magically qualify to join the union, whereas there is virtually no difference between a GRA and a fellowship for the most pa…

Build those noise cancelling headphones

So, here's another DIYLet me start by putting the cart before the horse. I shall start with the credits. This project was done while I was working on my Electronics Design Lab, along with my friends, Srujan M and Indrasen Bhattacharya. The work would not have been possible without the generous help received from the staff at Wadhwani Electronics Laboratory, who ensured that the only thing we did right was to leave the lab on time. This project would also not have been possible without the guidance of our dear and learned professors. It would probably have just about become additional dead weight on the head.Enough with the credits, now, I need to dive right into noise cancellation and how it works.The essence of sound is a pressure wave. The pressure wave, when incident on the eardrum sets into motion the complex mechanisms inside the ear, and after a long path, rather like the Cog advertisement, ends up making some nerves vibrate. The nerves send electrical signals to the brain, …