Open-source magic all around the world
2015 Red Hat Summit
Red Hat provided live streaming of keynotes (kudos to them); Domagoj, Luka and I watched the one from Craig Muzilla where they announced a partnership with Samsung. We made stupid jokes by substituting FICO (a company name) for fićo (a car that is legendary in the Balkans due to its price and popularity). Jim Whitehurst was so inspired he almost did not want to speak, but luckily spoke nonetheless. The interesting part was where he spoke about how the predicted economics of information revolution is already coming true.
Paul Cormier continued on Jim Whitehurst in terms of showing how predictions come true; his keynote starts with the story of how Microsoft and VMware changed their attitude towards Linux and virtualization. He also presents a study (starting at 1:45) showing that only Linux and Windows remain operating in the datacenter, and also that Windows is falling in market share, while Linux is rising. This is great news; let's hope it inspires Microsoft to learn from Red Hat how to be more open. Finally, Marco Bill-Peter is presenting advances in customer support (in a heavy German accent).
Skeptics in the pub
Watching streaming events is cool, but having them in your city is even cooler. I was invited to speak at the local Skeptics in the pub on whether the proprietary technologies are dying. Aside from being happy to speak about open source in public, I was also happy to speak about computer science more broadly. Too often people make the mistake of thinking that computer science researchers look for better ways to repair iPhones, clean up printers, and reinstall Windows. Well, in some way we do, but we don't care about those particular products and aren't focused on how to root the latest generation of Samsung phones, or clean up some nasty virus that is spreading.
That isn't to say that any of these things should be undervalued, as most of them aren't trivial. It's just that our research work approaches technology in a much broader way, and (somewhat counter-intuitively) solves very specific problems. For example, one such overview would be to look at the historical development of Internet protocols at Berkeley in the '80s and later; one such problem would be the implementation of Multipath TCP on Linux or Android.
The short version of the presentation is: computers are not just PCs anymore, but a range of devices. Non-proprietary software vendors recognized this expansion first, so open technologies are leading the way in many new areas (e.g. mobile phones and tablets), and have also taken the lead in some of the more traditional ones (e.g. infrastructure, web browsers). The "moving to the open-source technologies" trend is very obvious, at least in software. However, even in software, the proprietary vendors are far from being dead yet.
Regardless, there are two aspects of the move towards open-source technologies that make me particularly happy. The first aspect is that, with open technologies taking the lead, we can finally provide everyone with highly sophisticated tools for education. Imagine a kid downloading Eclipse (for free) to learn to program in Java, C, or C++; one does get to experience the real-world development environment that developers all around the world use daily. Imagine if, instead of the fully functional Eclipse integrated development environment, the kid got some kind of stripped-down toy software or a functionally limited demo version of the software. The kid's potential for learning would be severely restricted by the software limitations. (This is not a new idea, most people who cheer open source have been using this in open-source advocacy for many years. I was very happy to hear Thomas Cameron use the same argument at 2015 Red Hat Summit welcome speech.)
The second aspect is that LEGO blocks of the software world are starting to emerge in a way, especially considering container technologies. Again, imagine a kid wanting to run a web, mail, or database server at his home. Want to set it up all by yourself from scratch? There are hundreds of guides available. Want to see how it works when it works? Use a container, or a pre-built virtual appliance image, and spin a server in minutes. Then play with it until it breaks to see how to break it and how to fix it, preferably without starting from scratch. But even when you have to start from scratch, rebuilding a working operating system takes minutes (if not seconds), not tens of minutes or hours.
When I was learning my way around Linux in the '00s, virtualization was not yet widespread. So, whenever you broke something beyond repair, you had to reinstall your Linux distribution or restore it from a disk/filesystem image of some kind. If you dual-booted Linux and Windows, you could destroy the Windows installation if you did not know what you were doing. Finally, before the Ubuntu and subsequent Fedora Live media, installation used to take longer than it does today. And if you think further and consider the geeks who grew up in the '90s, it's easy to see that they had even less ease of use in open-source software available to them. Yet, both 00's and 90's generations of geeks are creating awesome things in the world of open-source software today.
OK, enough talk, where is the code?
I was so inspired by all this, so I got down to coding. I made a small contribution to systemd (which made my OCD hurt less by wrapping the output text in the terminal better) and a bit larger one to CP2K (which crossed off an item from dev:todo list). On the ns-3 front, we have just finished the Google Summer of Code 2015 midterm reviews, with all our students passing. Good times ahead.