It’s true. I am guilty. Even if my lawyer hadn’t entered a guilty plea for me a few days ago, I’m certain you would be just as convinced of that as you are now. He tells me that what I’m doing now is called “allocution.” Well, I suppose technically that is what I’ll be doing tomorrow, when I read these words in front of the judge. What I’m doing right now is sitting in a cold cell, preparing an allocution statement.
I’m supposed to explain my crimes to you, helping to solidify the fact that I am guilty. Somehow, with my name plastered across every piece of incriminating code, I doubt that this will be a challenge. This is the part my lawyer cares about, the part that will close up the case neatly for all of us, but he let slip that I have another opportunity here. I can tell you my story. I can hope to show you that with your leniency, you will keep from depriving your community of a good man. I can explain to you that, yes, I am guilty, but I am not a criminal. I am only a good man caught up in a bad situation, a good father that is beneficial to the community.
I’ve tried to remember the first night many times lately. At the time it seemed completely unimportant. I write a lot of code during the days, and I have no idea what made me think that writing more at night would be a good idea. Normally I can’t even stand the sight of my computer outside of work. All I can say is that when I get excited about an idea I have to get it out and into the world as soon as I possibly can.
The first iteration was a complete failure. I found out immediately the next day after work when I checked on it. I had failed to set the environment well, and the result was closer to nonsense than I could have done on purpose. If I had been a biologist instead of a computer scientist, you might have even called these things crimes against nature. But like I said, I had to make this idea come to life.
So I began again.
The idea was simple enough to explain briefly. If organic life could evolve from simple structures into complex organisms, why could I not do the same with software? Sure, many people have simulated evolution with software, but they were merely testing the existing biological theories in a simulated environment. I saw how it could be more. You see, in my experiments the code is precisely what evolves.
The first program was only a few dozen lines of code, with a couple of rules about how to reproduce. It was supposed to modify itself slightly and rebuild the new code. Viable offspring were allowed to continue to run – and reproduce themselves – while any modifications that produced bad code were deleted. That first day, the only rules I put in place were that the children should have more code than the parent and they should still be able to reproduce themselves.
Of course, I realized later how silly that was. After all, what kind of natural environment only pressures creatures to be bigger and bigger unstructured masses? But in some sense it was a success. After several thousand generations over the day, the code creatures were hundreds of lines long, performing many meaningless calculations before creating the next iteration of themselves. The concept was working, but my environment was stagnant and uninteresting.
The next day was almost a thing of beauty, though I doubt you will think so given what you know now. Where I first wanted to give it as much freedom as possible to encourage growth, I then gave the environment more restrictions instead. After all, with organic life it is not enough merely to live. You must be better suited to your environment than your competitors. As with natural environments, in my home computer there are limited resources. I gave the programs some limited visibility to know their surroundings, and parameters to control their reproduction. Too fast, and they would choke themselves out. Too slow and they would be overtaken by a rival program family. Oh, I almost forgot to mention that. I let them attack each other as well.
As any parent will tell you, some of the greatest joys stem from the very first steps, and as a father I can tell you that this was almost exactly the same. One night I had set a single program running, and the very next morning there were hundreds. I could not see exactly what they were doing, but I could watch processes jump to life while others blinked out of existence. The code was getting complex too. I opened a few files and could only recognize a small part of it. But it still had that resemblance to my first little program, still carried my name imprinted in the comments at the top.
After that there was almost what you could call a Cambrian Explosion of digital life, and it is in this stage that I ask you to look into my heart and know that there is no malice there. I never really gave the programs access to the network. All I did was give some guidelines on what a valid line of code can look like. After a few days and thousands upon thousands of generations, a few of them happened to randomly write access to the network into themselves. I’ll admit, I was proud of what they could accomplish once I realized it. But that was much later. Like I said, their code was getting complex and I only realized later that they had found a way off of the machine I had originally set out for them.
At work a few weeks later, when I had all but forgotten about them humming along quietly at home, I noticed that my computer was running especially slow. When I investigated further, I found a familiar signature in the list of running processes: thousands of unintelligible names made of random characters. My initial reaction is embarrassing, and I’ll admit that my sense of grandeur bordered on delusional. I entertained visions of accolades and awards. I envisioned, ridiculous as it may seem to you now, cyber-evolution running at a fevered pace, inventing fantastic new technologies in my name. But I want you to know that I had only the best intentions. It was the good of humanity behind those visions, and maybe just a hint of recognition for myself.
I knew right away that there was a problem. We all would be rife with viruses every day if any old program could throw itself across a network and start executing on your computer. So they had cleverly happened upon a security hole that allowed them to do just that, but I had no way to know what it was. Honestly, please judge, look in my eyes and see the truth. I tried to find the problem right then. Unfortunately, the programs had grown to range from twenty to fifty thousand lines each, and I had no clear way to know where to start. I didn’t even know what program was hiding the hole they had so skillfully exploited. Even if I had just that, a glimpse into how they got in, I had no chance of sending such a huge program to anyone without telling them what the precise problem was. I would never have been taken seriously.
I will admit that I hesitated even still. Eventually, I pulled the network cable from my work computer, and on my lunch break I went home to do the same there. But I hesitated. I don’t know how many might have transmitted out or where they went during the meantime, and I ask you only to put yourself in my shoes. These little code creatures were completely benign, not like any virus that you have ever seen. They were not created to destroy data or generate harmful emails. They simply tried to survive, and it seemed almost wrong to punish them for that.
This is the point in my story where I think you may start to recognize the events. The creatures that could get themselves to a new computer thrived exponentially. Each new machine was like a whole new continent for them to populate, and with no malicious effects they could grow and reproduce and transmit themselves through many generations before ever being noticed. I know that I may not deserve an award for the accomplishment – though I’m still a little skeptical of the many billions in estimated damages that are held against me – but isn’t their evolution something bordering on brilliant? It is not my own brilliance, of course, but their own to be proud of. Try to see that much at least.
To my simultaneous pleasure and dismay, I began to hear about the so-called infections on the news within a few days. By then, they had spread onto many high-profile website servers. I can only assume that they were able to watch incoming page requests to learn about new hosts for their next travels. By that point they were far beyond my visibility. But with such randomness in their code and in their names, it was nearly impossible to eradicate them seamlessly. Even trying to find them one by one proved impossible, as more would pop up as the last ones were killed.
Somewhere along the way, they used their ability to attack against other programs, ones that were native to the computers they spread to. I suppose it makes sense, and you can hardly blame them for it, that if they eliminated other programs there would be more resources for them. In a way, we could almost thank them for pointing out our tragic flaw of depending so heavily on electronic commerce. I’m sure that you’ll remember the three days of complete internet blackout that followed. The security community realized that any clean machines would be infected again quickly unless everything was disconnected and wiped at the same time.
That was when they came for me. It was easy to find me, with my name sitting at the top of every file of code, though I would not have hidden if I could. My only regret is that they confiscated all of my electronic equipment, and I don’t expect I will see it back. I know that a lot of damage has been done, but there is hope for the experiment yet. There were mistakes made, and I admit to all of them. But I think it is natural to see the underlying good in the things you create, to see the potential for great things to come.
Yes I am guilty, but I am no criminal, spreading viruses meant to bring down the modern world. It was merely my creation that took on a life of its own, twisting and changing in a beautiful dance with each new generation. Like any father knows, I recognize when I must take responsibility. I stand before you today to admit my guilt, and ask that you see the good intentions only. Please be merciful on me, and do not deprive your community of a valuable citizen, a loving father.
No, it is true: I do not have any biological children. But I can tell you with full certainty that I know what it means to nurture and protect, to encourage and finally set free your beloved conception. Even when they may do wrong, you see the beauty inside, you wish with all your heart to defend them. This is a father’s love, and I beg you to open your heart though it may be unconventional and uncomfortable.
Leniency, I ask you, judge. Not for me, but for my children. I can help them. I admit my guilt, and I will serve the sentence. But do not condemn the innocent in my name. Do not destroy them, sitting helpless on my computer, locked away somewhere absent from their father. See the good that they can be, and trust me to help them find their way again. That is all I ask. Sentence me as you will, but see that my children find their way home when I go. They can still redeem themselves if you will only let me be the father I know I can be.