The untold story behind softwareresilience.com
“When done well, software is invisible.” — Bjarne Stroustrup.
Hello there! I was not sure people would be coming back after my first post. Jokes aside, I am grateful to you for taking some time to read softwareresilience.com. It took me so long to persuade myself to start sharing things here, that I was not sure if I was going to start at all. So you, being here; it means a lot!
There is a long series of interesting, yet unrelated to each other, events, that led to this site / newsletter being born. These events, grosso modo, revolve around urban architecture, my hometown attempting to be a resilient city, open source software, a PhD failure, a mandatory military service and a friend almost getting pneumonia, while we were in the mountains. So, without further ado, here’s the story behind softwareresilience.com. I hope you enjoy it.
A series of unrelated events
In the 17th of May 2015 I celebrated my 30th birthday. Back then, I was working on a PhD I had started in 2011 and, at the same time, I was growing a company I had co-founded in my hometown, Thessaloniki, in 2014. 2015 was a “special” year, for another reason. Having turned 30 I had to serve the mandatory military service required by the Greek government, early next year.
During 2015, my hometown applied to join the program of “100 Resilient Cities pioneered by the Rockefeller Foundation” [1]. 100 cities around the world were going to try and apply the City Resilience Framework [2] in order to identify opportunities to become more resilient in the future. I was invited to take part in a workshop that included a diverse group of citizens from Thessaloniki. The results of the workshop were going to be part of the application form. Fast-forward to March 2016, while the municipality of my hometown was kick-starting the 100 resilient cities program, I was reporting for military duty.
Failing my PhD, while at barracks
Despite the provocative title, my PhD didn’t fail because I joined the army for my mandatory service. The army was just a “necessary evil” that helped us realize that, the certain volume of academic work required from my Institution, was not going to happen in the specific research field we were working, within reasonable time. So, after discussing it with my supervisor, we decided that it was best to end my PhD and, if I wanted, after getting back from the army, I could start again… from scratch.
Army life was hard in the beginning. The strict routine that felt completely illogical, everyday tasks and chores that felt like strange requests during peace time, the different kinds of people that were surrounding me; everything seemed challenging. But the biggest challenge was the lack of options. Lack of option to leave this place and never come back. Lack of option to not obey to a command. Lack of option to send a couple of people to hell, because they were considered superiors. After some time, however, when I got used to it and started observing how army works, I realized it was nothing more than a system. And as it happens with any other system, the person who gets how it ticks, can hack it.
But, I think I am going to leave “how to hack the mandatory army service” for another post and get back to our story. I was getting used to the army life and had made a bunch of good friends. We were spending time together, participating in the different tasks, chores, services and “missions”. But one day, during one of these “missions”, the following incident happened.
Death by cold and moisture, it shall be!
That day we were going camping to the mountains, across our military camp. It was a regular activity for soldiers to go camping in the mountains, for training in the wilderness. If I want to be honest, it was a really fun task. It was resembling regular camping. During the activity, we split into pairs and set up our tents. Then we did some chores and training while there was still daylight and, after dinner, we got ready to go to bed (until we resume guarding duty later on).
During the night, I started hearing a strange noise inside the tent. It was sort of a tapping, but not very loud. I turned to the right and saw my “brother in arms” shaking from cold. What had happened was that, my friend didn’t understand that we were going to spend the night in the mountain, so he didn’t bring with him neither his slipping bag nor a jacket; nothing! It was early summer but still, on the mountain, it would get very chilly at night and the soil, wet and cold.
I happened to have a second slipping bag with me (I had brought one from home, when I joined the army, and another one was provided by the army). I gave the spare slipping bag to him, helped him get inside it and also provided a second, lighter jacket I had with me. Furthermore, I told him that I would take his shift in guarding the camp, so he can have the chance to get warm and get some sleep. Then, I left the tent to report for duty.
Resilience (to cold), open source and “a new hope”
The night was peaceful while I was guarding. I was enjoying the tranquility and the sounds of the mountain and eventually, I was lost in my thoughts. At first, it was chaotic. I was revisiting the incident with my friend shaking with cold, having completely forgotten to get provisions with him. I couldn’t wrap my head around the fact. Why the heck, he didn’t talk to me? I could have helped. Now he could end up being sick, in the morning. And for what? Then my PhD invaded my thoughts. Five years seem a long time to let it go. But it was done. There was nothing I could do about it. Should I start another? Shouldn’t I? If I were to start one, what could it be about? The previous idea didn’t go that well.
For context, I had been a loyal practitioner and researcher in the open source software engineering field since 2008. I have been an enthusiast much earlier; since 2005. I really enjoyed studying open source software projects, trying to find which are the factors that make them successful and which are the factors that make them fade out and eventually die.
“How stupid could my friend be?” the thought came back in my mind. “If he does not wake up with fever or pneumonia in the morning, he is really a resilient person”.
The aha moment!
That was it! Suddenly, every thought took its right place in my head, forming a mind map (at first) and then a plan. That was it! All this time I had the idea for my new PhD in my mind and I didn’t even realize. That was it!
Resilience is (in layman’s terms) the ability of a system experiencing a stressor, to adapt in a way that would allow (the system) to survive the stressor. “Right now, my friend’s body is trying to fight the cold in the tent”, I thought. “If he succeeds, then he will prove to be resilient to cold”. “What is the factor that makes open source software resilient, then? The code structure? No, open source is more than a bunch of lines of code. The documentation. Partially! This makes more people join the project and makes it easier to contribute. The community of developers? For sure, but this is not the only factor. The community of an open source software includes other community members, that are not necessarily technical people”.
All these aspects could be relevant to the resilience of an open source software, but how could I frame the problem? Where should I look first and with what structure? “If only I could build a resilience framework for open source software”, I thought.
“But wait a minute. When had I come across a resilience framework, before? But of course. It was the City Resilience Framework we worked with during the 100 resilient cities’ workshop. It was introduced for urban resilience, but could probably be adapted to open source software. After all, open source software and a city are both sharing conceptual similarities in the sense that they are both dynamic systems that are continuously evolving”.
I exhaled with content. It was almost dawn. I had completed my two shifts of guarding the camp, and the next guard was coming to take my place. I didn’t sleep much that day, but in just four hours, I have done more creative work than on an average work day. I was happy. Getting back to the tent, I saw my friend getting out of it, fresh after a long night sleep. He joked, saying I looked tired at him. I joked back, saying that if I knew he was so resilient to cold, I would have never given him my sleeping bag, or take his shift, for that matter.
References:
[1] Thessaloniki Preliminary Resilience Assessment, June 2016. [online]
[2] Index, C. R. (2014). City resilience framework. The Rockefeller Foundation and ARUP, 928. [online]