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.

Comments

Popular posts from this blog

On Harry Potter and why I dislike the series

There could not be a better time for this post. There could not have been a worse time for this post. Now that the penultimate movie of the series is out, and my facebook wall filled with people who loved the movie. But this is something I really wanted to say, and I shall say it anyway. Harry Potter is pathetic literature. Now, you must be wondering why I say that. There are many reasons. Firstly, the storyline itself is flawed. When a writer sits down to write anything, he/she must set up some essential rules about what is happening. These rules must remain constant irrespective of how many times he/she changes his/her mind. This is so that the readers are allowed to have some sensibility in what they are reading. In the fourth book, Rowling goes ahead and kills Cedric. Then, at the end of the book, the horseless carriages are there again. Nothing special. We all knew that they are horseless. But then comes the fifth book, and BAM, the horses are actually winged beasts that only thos

ERROR_SUCCESS

ERROR_SUCCESS. This macro would be familiar to all those who have done some programming in WIN32. It is the output of the GetLastError() function to check the thread's last error state when no error has occurred. Weird, isn't it? I mean, if it is a success, then why is it marked as an error in the macro? This is one example of a badly made API. APIs are considered bad when programming in them becomes non-intuitive. Software is said to be bad (or said to suck) when it seems counter-intuitive to the user. There is one very simple example of this. Start notepad. Type in any text. Click on close. The message that you see is: This makes no sense to me as a user. Of course, the programmer follows the approach that he creates a temporary file called Untitled , and in that file he allows the user to make all his changes. But how am I, as a user to understand that? A similar disconnect occurs even between two different programmers. That is why it takes a whole lot of effort to make

Elements of a Story: The Whispers

I'm compelled to begin each post with a meta. That way, my blog posts seem less like essays or dissertations, and more like diary entries, or web logs. So here goes... I started this blog a little over a year ago. The main purpose of this blog was to experiment with styles of writing, and find an effective outlet for all the subjects I wish to rant about; saving my classmates the agony of having to listen to them. As I wrote this blog, I've experimented with so many styles, and have received comments claiming that my work is a shameless copy greatly inspired by so-and-so author/work. Fact is that I simply chanced upon that style. I read, so obviously, my work shall reflect the styles of those I admire, but I've worked out so many styles without even knowing that they exist, only to be informed of them later. Recently, I've been struck with the seeming absence of whispers as an element of a story. The more I've thought of the subject, the more I've been convince