Google’s Android platform promised to be the most moddable mobile phone system ever created—and, in many ways, it is. With no other phone is it even possible to tweak the source code of the OS and publish a modified distribution, as is possible with Android. However, as modder Steve Kondik recently discovered, the userland apps that ship with Android are not freely licensed, so a customized firmware distro cannot include them. Structuring their licensing in this way provides no advantage to Google that I can see; even if they do not publish the source code to these apps, they could at least allow distribution under a freeware license. That they do not suggests to me that the carriers must want to control which apps come bundled for marketing purposes. I can only hope this is so, and that all carriers will one day become naught but dumb pipes.
Update 24 July 2012
I wrote this post before I knew very much about the guts of ip-based networking. I now know more, enough to know that this pipe dream has a fundamental flaw: it is not technically feasible to assign a static IP address to every device at the time of manufacture, due to a single inconvenient fact: geography.
How does a server in England know how to send a packet to a client in Argentina? All it has to go on is a destination IP address, and it is not desirable (or even very possible) to maintain a global mapping of every device’s IP address to its current location. So, IP addresses are apportioned according to geography, such that, given only an IP address, a router knows where to start the process of delivering a packet to its destination.
(As an aside, there is an inequality inherent in this system: developed nations have more IP addresses available to them than do developing nations. This is one of the problems that IPv6 will solve.)
Eventually, the packet will arrive at a router that knows the MAC address of the machine that is being targeted, and can send the packet to it. This is why the apparently redundant MAC address exists, why it can be assigned at the time of manufacture, and why the IP address cannot.
This is also why a machine that has a static IP address cannot move. If I take my laptop to a different country (or even a different city), its IP address must change. Therefore, in order for every computer to be a server, some service must exist that can point a domain name to an ever-changing IP address. And, in fact, such services do exist.
So the point I was trying to make in the post below is pretty moot. I’ll leave it up to remind me not to be too arrogant with what I think I know.
The Original post
Sometime in the mid to late 1990′s, the smart folks at the Internet Engineering Task Force (IETF) realized that the Internet was soon to outgrow its britches. How so? Well, the version of the Internet Protocol in use then (and now), IPv4, only allows for 32-bit addressing. That means that only a little over four billion devices can have a globally recognized IP address.
My hope is that most of you already know all that, but just in case: the Internet is running out of IP addresses. Sometime in 2011, there won’t be any more. Fortunately, the solution, IPv6, has been around since 1998. With its 128-bit addresses, IPv6 will allow 3.4 * 10^38 devices to have an IP address. With that many addresses, we will literally never run out. Unfortunately, the Internet is not yet ready to use it, and nobody can agree on how to start.
Again, my hope is that most of you already know that, too. These are things that every user of the Internet should know. But, just in case, I provide you with that two-paragraph summary in order to lead into what I actually want to talk about.
The consequences of address scarcity
The Internet is designed with scarcity in mind. In order to avoid running out of addresses too quickly, most devices are not assigned an address on a permanent basis. You, a lowly Internet peon, can never be sure of what your IP address is going to be tomorrow, because it could very well change.
This is not important if all you want to be is a client. Only servers need have in address that never changes. In the early days of the Internet, this was not an issue. However, increasingly, end-user devices want to act as servers, and the lack of a static IP address makes this quite painful to do.
A MAC, you say?
MAC stands for Media Access Control. A Mac is not a MAC. Tell your friends.
Ahem. The MAC protocol does a lot of things, most of which I don’t understand. However, one thing I do know is that every device that is capable of connecting to the Internet has a unique identifier, called a MAC address. This 48-bit number is assigned to the device at the time of manufacture. It’s like your computer’s social security number.
(By the way, 48-bit addressing gives around 3 trillion addresses. We will eventually run out, I suppose, though I’ve not heard any rumblings to that effect.)
With the advent of IPv6, we will have the ability to do exactly the same thing with IP addresses. Every single network device could come from the factory with its own globally unique IP address permanently assigned.
A server for everyone
I’ll let that sink in for a bit. Sink, sink, sink…aaahhh. I ask you, is your mind not blown? It’s not? Well, then.
Let’s say you have a file to send over the Internet that’s too big to email. That shouldn’t be too hard; most people can’t get attachments larger than 20 MB. Well, turn on file sharing and email your IP address to your friend, and you’re set.
Well, actually, you can do that today (provided your IP address doesn’t change in the middle of the transfer, that is). It’s kind of a pain, but it works. Better would be to just tell your friend your domain name, which you could have pointing to your computer’s IP address.
That’s the least of what you could do. Apple’s Back To My Mac service allows you to access your computer from anywhere, almost as though you had a static IP address. To pull it off, they had to have a server (with a static IP address) keep track of what address your computer happens to be using at the moment. You need to buy a MobileMe subscription for $100 a year. Most of what MobileMe does could be implemented without the server (and the service fee) if everyone had their own IP address.
That’s right—remote syncing wouldn’t need a server. Anything peer-to-peer would also no longer need a server. BitTorrent’s various nascent hacks to skirt the requirement for a tracker would be much easier to do, and more reliable. In fact, anything that requires a peer-to-peer connection could be massively decentralized, very reliable, and impossible to shut down.
And that’s just scratching the surface.
Everyone wins. Really!
That last paragraph is the stuff of nightmares—if you happen to be a member of the RIAA or MPAA. But it shouldn’t be, won’t be once they realize that, were this dream to become reality, they could finally, at long last, pin an act of piracy on an individual with a high degree of accuracy.
Hmm, yeah. Not so great for privacy and anonymity. If you wear a tin foil hat, this proposal is not for you.
ISPs probably lose, too, at least in the short term. Their expensive infrastructure is built on the assumption that people are going to download far more than they upload. That reality is changing, even now, and networks are breaking under the strain. What would happen if every device could be a server?
They’d figure it out, that’s what. They’re going to have to anyway, even if this wish doesn’t come true. Oh, yeah, did I mention? This is never going to happen. It’s just not that likely.
But, you know…forever is a long time, and I want this to happen. Do you want it to happen? Let’s all want it to happen! If enough of us do, then it actually will.
The computer and the Internet have conquered information management as thoroughly as a Mongol horde, and the Church of Jesus Christ of Latter-Day Saints is not exempt. The enormous and growing Internet Gospel Library and the digitization of genealogical research are proof enough of that. Nevertheless, the Church’s granite vaults stuffed with microfilm records starkly demonstrate that computers still cannot provide a permanent store of information. The world’s vast digital archives teeter constantly on the brink of erasure, and only diligent and redundant copying keeps entropy at bay.
I have no doubt that this problem will be solved. Many are trying; for example, the still-in-development M-ARC disc promises to store data for 1000 years. We will sort it out, and when we do, the conquest of the computer will be complete.
Let me tell a story that has nothing to do with 9/11.
I know a family who lost a daughter to a car crash a few years back. That’s a pain that fades but never truly goes away. That’s a pain that can frequently return in full force, for nothing more than a random memory. It can’t be understood until it is experienced (and I have not experienced it).
In talking with this family, it really comforts them to know that their friends want to remember their daughter.
Remembering 9/11 is a little like that. If we celebrate at all, it’s the fact that we’re still here, but it’s less about celebrating than venerating. We share in a pain that most can’t understand, if only a little, and by so doing draw a little closer together. Is that not worthwhile? Can we not devote a bit of brainspace to drawing together, at a time when great pressures are trying to tear us apart?
Remember how it brought out the best in all of us. Where did that goodness go? Surely it is still there, hiding inside of us, waiting for someone or something to draw it out. Remember, and be a little better for it.
This post is a short response to Neil Postman’s Five Things We Need to Know About Technological Change, as assigned by my CS 404 class. In short: Postman’s first two ideas are wrong; his third is inconsequential; and his final two are rather insightful.
Postman’s first idea is that new technologies have unintended consequences. That is true, but where he goes wrong is in calling this obvious fact a problem.
The solution to the problems created by technology has been shown, over and over, to be more technology. Thanks to the Internet, the world at large is losing interest in television, and a culture of creators is growing up in its stead. Cars pollute our air, but electric cars are coming, and soon. Car accidents kill us, so DARPA-funded initiatives are developing the self-driving car, which will all but eliminate crashes. Our city streets are clogged with cars, but technology is working on that one, too.
This does beg the question of whether we will suffer the fate of the old woman who swallowed a fly. The answer is complex, but my gut says no. What killed the old woman was the fact that her solutions created ever larger problems. We can see that technological change is growing exponentially, but the problems of society are not.
Postman’s second idea is that technology does not benefit everyone. We create new technologies to solve problems. If you’re part of the problem, then of course the new technology will harm your interests. This is, again, true; and again, it’s not the problem he thinks it is. It is perhaps unfortunate that people are often part of problems that need solving; does this then mean that we should not solve those problems?
As this entry is running well over the assigned length, I won’t go into why Postman’s fourth and fifth ideas are interesting. For that, you can read them for yourself. That notwithstanding, I’d still like to leave you with this excerpt from Postman’s Fifth, which resonated with me rather strongly:
Whenever I think about the capacity of technology to become mythic, I call to mind the remark made by Pope John Paul II. He said, “Science can purify religion from error and superstition. Religion can purify science from idolatry and false absolutes.”