Well, I have to warn you that I started to think rebugging mostly as a joke, something to play with that would question expectations, predictability and resiliency. But the more I think of it, the more I’m convinced it is going further than that and the more I get serious about it !
Although I'm not here to talk about myself, I will quickly tell you about my background and what is my relationship to technology before presenting this Rebugging Manifesto: I'm Louis Frehring, a French artist developing a heterogeneous work around digital and technological issues, through a practice I would describe as being mostly sculpture and installation sometime enhanced by computers.
Being 28 years old, I was introduced to IT when I was young and grew up with it. First, it was a niche and nerdy topic, and, by the time I was no longer a teenager, things had changed a lot : it was already a global matter, interacting with many aspects of our daily lives. Growing in this context, living that change of paradigm shaped my approach to technology. And, if you lived these times, you’ll know that bugs where part of the experience !
This being said, why am I interested in bugs? I am not a programer, as I said, I am an artist, certainly one who writes code and who is interested in computers and everything we can call digital. But wouldn't it be better for me to advocate for a "bug-free" vision of the world? To prefer to have fully functional tools rather than to defend this strange idea: Rebugging the world !?
Well, of course, I'm the first one to complain, some will say to get angry when a technological system doesn't work as it should! Sometimes I even dream of bugless computers ! But, when you think about it, there is something in the idea of the bug that seems to go beyond this simple statement of dysfunction. Is the bug more than a simple error? Is there a hidden side to the bug ? Well, I do think so !
That is the purpose of this Rebugging Manifesto: to change your vision on the true nature of bugs. To go a bit further than the usual simplistic conception which would be to say that it is when it does not work! A step aside to think different, change a little bit your understanding of the word and adjust your behavior accordingly.
Let's start with the initial reason, the one that surely makes, at least partially, that we are all here today, that made us interested in technology in the first place: curiosity. Often initiated by a malfunction, by a bug that once forced us to dig into the machine, and from which we never really came out. In my opinion, this curiosity is essential for everyone to understand computer science - something that doesn't seem uninteresting nor useless when we see the importance of the subject in the contemporary world
I remember that every time I investigated deeper into the technique, it was because of a malfunction, a problem that had to be solved in order to make it work as it should (or as I wanted it to work). It started with installing a driver, editing a configuration file and now I find myself coding my own applications. I'd be surprised if others here haven't followed similar paths. Maybe, some are even further.. Anybody compiling their own kernel?
Technology, especially in the digital field, can be fascinating when it works flawlessly, but then it's almost like magic: it's smooth, abstruse and elusive! (which frankly are qualities I don’t really want society to be built on…). I have to say that I am very happy to have stumbled upon these bugs, which throughout my journey allowed me to progressively get interested and involved, maybe a little bit in spite of myself, into the secret mechanisms of computers; which allowed me to go beyond this apparent impenetrability and really understand what it was all about. I am thankful to bugs for being my lights in the journey and I don’t want the lights to be off for the next who will try to take the path.
To me, this first element is sufficient to motivate the idea that we need bugs in the systems, even if it means putting them back in by ourselves. In order for technology to remain accessible, there must be flaws, unforeseen events and interstices; Let’s call them bugs! It is a matter of accessibility that we are discussing here ! And when I think of bugs in that context, I am in no way meaning bugs that would severely impact the usability of a system, more almost imperceptible bugs, the ones on the detail level of the spectrum ! The ones that annoys you a little, enough to spark curiosity and get you on board.
But in fact, what is a bug? It might be necessary to look a little more closely at this definition. You might say that the elements I described earlier are more related to obscure or complex operations than to the real erratic nature of the bug, that it lacks of something to really be a bug. But I'll gladly ask you: What is expected of a system? Who defines that? The executives? The people actually building it? The user? All of them ? Everyone will have their own definition of what the system is supposed to do, and consequently of the conditions of emergence of bugs. So we can see that the nature of the bug is ambivalent and not universal, that it is specific to the one who describes it.
For example, if I go to the NSA website and the server sends me, in addition to the requested web page, a folder full of classified files (an unlikely scenario I have to admit, but we are dealing with a theoretical case), it seems reasonable to me to consider that the head of the NSA as well as most of US officials will consider this as a bug, and that the average user, who doesn't care about all these downloaded files, should also consider it as such. On another hand, it doesn't seem incongruous to me to think that a human rights activist will tend to see this behavior as a great feature! As for the people involved in setting up the server and the software implicated in this? Well, it is more difficult tot to tell, but for such a scenario to be possible, there would be at least a few people making it on purpose, hence, not considering it to be a bug.
On another level, let's imagine for a moment an application that would round up the amount of each purchase made on it (you know, that kind of error that can happen if you make mistakes when declaring variables...). An unscrupulous CEO would surely consider this as a perfect and efficient optimization while the end-user would clearly see it as a bug.
So beyond these simplistic and caricatural examples, we can see that the definition of a bug is very contextual and must be analyzed in the light of another definition: that of the utility and purpose of a system! And, that being said, I might expect behaviors from some algorithms that would be clearly considered to be bugs to the companies building and providing them. And all I do here, is asking people developing these systems to build them as bugged as possible from the point of view of their company for them to be suitable for my use. I’ll go even further : to be suitable for my uses and that does not any crazy shit aside, like having Facebook trackers or anything of that sort (sorry for the rant, in my opinion, these trackers are bugs !)
You could tell me, and you wouldn't be entirely wrong, that I'm not in the right place, at a festival which has radical openness in its name, among free software advocates to claim that rebugging, mainly aimed at proprietary software, is something you should consider. But don't worry, I'm well aware of my audience, and I’m not asking you to put malicious lines in every Github repository! However, let's not be naive, outside of our communities computing is not free, the vast majority of interactions people have with software are at least partially through proprietary systems that often are going against their interests. And if we could start to conceptualize the bug (thus what we appreciate as a malfunction) not as a fatality, not as fundamentally harmful, but rather as what it really is: a gap between our expectations and reality, I believe that it will help everybody to get more nuance on the matter.
So, I dare to say: the bug is a tool for struggles! Bugs are for freedom! Just like the free software, the bug is a way to give the power back to the users by making two visions of the usefulness of a system coincide: the one of the user, and, at their expense, the one of the owner!
Bugs are the ideal justification for the spaces of freedom that we can (and that, I believe, we must) create in the code and that could go against the vision of those who control and run the code ! Because that's what it's all about: creating spaces of freedom in the code! (maybe, even against the code ?) As the saying goes: "code is law", but still, when we write this law, we have to make sure that it guarantees certain freedoms (if we can agree on this humanist and democratic necessity. And I hope we can). Because the law is always at the service of an ideology, it is thus necessary, that this code being law, is not serving certain visions of the world that I would not hesitate to call illiberal, at least.
So you will understand that by pronouncing this Rebugging Manifesto, I am not directly enjoining you to sabotage your programs and other technical achievements, but rather to look at the bug differently, not to forget its qualities and to ask yourself if it would not be better to do with it than to fix it. That maybe it is worth to not report a bug, someone might be using that particular function that you call a bug ?
Because, until we are all (and by all I mean the vast majority of the population) users of free and decentralized technologies, let's defend the bugs, let's use them to our benefit. In other words, let's defend the space for our ideals to exist outside our communities too!
To be honest, I’d like, I’d love a bugless world (and again, my bugless world might not coincide with everybody’s vision..), but it would be naive to think that we are somewhere close for this to happen. It is way more likely that the near future is the one ruled by gigantic, monopolistic companies enforcing their power through their devices and their algorithms than anything I could dream of. And if despite advocating hard against this world, it happens anyway, I want it to be build on bugged systems !
So the ultimate goal of this Rebugging Manifesto is to ask you to help me to disseminate these ideas ! Maybe you know someone who works at google, it might be worth to change their views on what they call bugs.
After all, it is a matter of point of view, they are not bugs, they are features!