A few thoughts on innovation

I was invited the other day to a conference about innovation in the information technology sector. There was nothing remarkable about that event, except perhaps that it led me to voice an opinion I held for years: I do not understand what people are really talking about when they talk about innovation, at least in software, that is.

It might be odd to write this, but if there’s any concept that’s both fuzzy and dangerously misleading in the software industry, that would be innovation. I have read for many years and listened to people explaining how to “stirr and create innovation” in a company or in a community. Maybe these words have been used for lack of a better term; but I still don’t see how you can create innovation. I think you might be able to stirr it somehow, as it’s already a humbler verb. But frankly, can someone out there tell me what does innovation mean in the software world?

In general terms, I would define innovation as the big and small changes constantly leading to a change of the art in any given field. I think that’s pretty much what one usually understands by that word. So why could this not be applied to software? Precisely because software is rarely -if at all- the result of big changes happening all of a sudden and by accident. Software development usually happens at an incremental pace, whether openly so (think about the agile development practices) or even when there’s a structured corporate environment favoring traditional code reviews and quality assurance processes through stable product development cycles. Software is not produced by accident. Software is the result of process, and in theory accidents do not happen there. In fact, I could also point out that incremental changes or a period of technological incubation might be observed right before the emergence of almost any given technology. Take the medieval rudder for instance: it’s been rumored to have been imported in Europe around the 12th century by Chinese ships, but there are tracks and evidence of previous try-outs by European sailors and shipyards to design wooden rudders and articulate them with a complete mechanism. Similarly, it is hard to say how “innovation” happened in the sixties when the U.S. decided to send manned flights to the moon, but the wave of small and not so small innovation that was the result of this huge project is still visible to everyone (think of the Tefal pans, among many other things).

Thus there are, I think, two points that need to be highlighted: First, innovation does not happen all of a sudden if the field of software field and more generally ICT. It is a set of processes that ultimately lead to new software, or software that’s supposedly not as bad as the former state of the art. Second, what’s unclear is how -to quote several people I listened to- innovation “happens”. It sounds sometimes that innovation is a mystery or the philosophers’ stone that require care and secrecy to happen. Yet in the software industry, it does not work that way, for all the marketing and bells and whistles that come out of software vendors do not brush aside the fact that even inside these corporations software development is a set of very well defined, but non-public, processes.

Innovation is not a mystery and I don’t think that you can track how it works. You can assume that a certain set of circumstances and an environment letting people code start-ups emerge and Free & Open Source Software projects grow will ultimately translate into something that someone, whether a journalist, consultant, politicians or venture capitalists will call innovation. Anything else besides that, innovation sounds more like vapor and magical boxes. This should probably express what I feel about software patents, by the way.

One last thing: Innovation is different than progress. Progress is usually applied to fields that do not necessarily belong to science or technology; it can be more a perception and may concern society as a whole. Yet the interesting thing is that while progress seems to be an even more elusive term than innovation, you can actually tell progress from regression or stagnation: people perceive it almost immediately, however relative it sometimes may be.

Enjoy the beginning of the Holiday season!

ArchLinux, not just for the elite

… and I’m the living proof of it!

I had several colleagues, friends and people asking me whether they should run Arch Linux on their desktops or laptops. I even read someone’s blog today on his impression on Arch Linux and Ubuntu. It’s time for me to jump in and clarify what you should expect with Arch Linux as a desktop on a daily basis.

Arch Linux is a rolling release system. What this means is that you do not get releases at specific intervals in time, like you do with Ubuntu, OpenSuse or Fedora. Instead there is a constant stream of updates that are uploaded on the distribution servers and that you can pull almost everyday. These updates are uploaded after a testing period by the Arch Linux  testing community (you can switch to the testing mirrors if you wish) and it is up to you to choose if you want to install them or not.

Such a rolling release process eliminates the need to accomplish major upgrade and makes you gain time, as you typically end up installing your Arch Linux system once, or twice if you really screwed up something. Also, Arch Linux does not come with very specific tools (aside the pacman package manager) and therefore you do not end up with Unity vs. Gnome Shell or YAST and PUP, or whatever control center. You get the latest KDE version, the latest Gnome 3 version, the latest Unity and the latest Xfce (these are examples). Pretty much everything is configurable as the distribution gets to make choices on core components versions (glibc, python, etc.) and exercises its value and role on testing and QA (what happens after each kernel upgrade, etc.)

Yet all this does not mean the distribution is hard to use. Not at all. The installation process may take a while (several hours.. or less) and I would be tempted to claim that what takes time is to transfer your own content and granular application settings to the new system, such as themes, pictures, etc.

But let’s focus a bit on the installation process: that’s where things tend to get rougher. Arch Linux uses a command line installer. It does not make things very difficult to understand – besides, you can always refer to some very good documentation – but it definitely makes the process more intimidating and any issue or inconvenience tends to be perceived as a bigger annoyance than what it really is. Of course, such a comment has to be put in context of other Linux flavors where you insert a DVD and don’t do much aside choosing your keyboard and entering your name. Not so long away you still had to be careful when partitioning your hard disk even with an user-friendly interface. In any case, the installation process is what will make you reach a working, fully graphical and modern system or a glowing command-line mess. There’s nothing specific to avoid here, only know that your patience and work will be rewarded and that in a sense, such an installation is not that hard to perform.

Once your system is up and running, everything tends to run smoothly and you end up with a nice, fully customizable desktop. You can use  “community contributed packages” from the Arch Linux User Repository to complement your software tools, themes, fonts, games and utilities.

As a conclusion, I would say that while Arch is not as easy to install as, say, Ubuntu, once you’ve gone past it, you will be surprized how easy it is to use it, almost as easy than Ubuntu or any other distribution. Arch Linux is a very fun and stable distribution that successfully blends the bleeding edge, stability and hackability of Linux. Don’t be fooled by the rumours saying it’s for the elite. It is made for you, if you can give it 3 hours maximum of your time to install it, and it is likely you will never switch back.

We are the 99%

The financial crisis people started to notice around 2008 is not just financial. It goes deeper than what we usually want to admit. It is about a fundamental shift in our civilization’s balance of power, our survival plans, our values and our way of life. I regret to say that anything like 9/11 pales in comparison of what we have been experiencing since 3 years or so. Just like the metaphor used by Geog Zoche in his excellent book “the clash of currencies”, we tend to think the initial shock is pretty much all what has made the crisis while we are witnessing the long agony and fall of the twin towers of our civilization and our economy. Let’s leave the not so interesting gesticulations that took place this past week in Brussels and the Chinese buyout of Europe (never forget, the European Commission has always acted has the de facto Chinese Chamber of Commerce) aside and fast forward on the Occupy Wall Street Movement that has spread thoughout the US and originated in a distributed fashion from the Middle East and Europe. This movement is the symptom of something powerful, of the need for profound and radical change. It is also the place to mix several ideas, concepts, technologies and models that liberate people. I recently read articles on whether this movement was open source or not (and the articles tended to agree with the “open source nature” of the movement), but even more interestingly such movements do claim and advocate Open Source models and approach for many, even non software related matters.

Fast forward to the LibreOffice Conference in Paris. On the evening of the 14th we thought we would set up some beer and music party in a hacklab and we contacted the LOOP in Paris. While they had to migrate from one location to another we ended up in an alternative cultural space shared by hackers but also completely different people as well. What was really interesting to watch was the general blending of these populations. In the end, it should remind us that even the coming of the Document Foundation was and is at the same time the answer to the decay of a free software project struggling under the iron fist of an irresponsible and greedy corporation (Oracle)  and the perfect example of a community deciding what’s good for itself, having reached a point where “enough is enough”.

The LibreOffice Project is thus more than a free software project developing an office suite. It has started a bit before the events in Tunisia, but roughly at the same time the Iranian revolts were taking place (and they’re still going on by the way). It is about freedom and the individual power to refuse the will and the agenda of a large corporation. It is about realizing that something had been failing in our community and that it was time to fix it.

The Document Foundation was started because of that; and just like the people on the streets of the world, it was prepared  somewhat in a stealth mode at first, otherwise it  would have failed. Now things have become quite different, and we just celebrated our first year as a project and as a free community where everyone can fit in and contribute meaningfully to the greater good. The numbers speak for themselves, and the OpenOffice.org community has chosen to go for LibreOffice, not just as a product but as model, as a set of values and as a refusal to compromise one’s freedom to corporate agendas. Our manifesto highlights the goals and the values of the LibreOffice community and why the Document Foundation has been created and set up.

Yet we are not one fork among others. We are the next chapter of the next decade. We are LibreOffice, we are the Document Foundation. We are the people of OpenOffice.org . We are no puppets and no useful idiots. We bow to no one. We are here to fulfill the destiny of this great project: to create instruments of freedom and tools for knowledge.  We are “OOO”, we “Occupy OpenOffice” we stand for freedom, community, excellence and collaboration.

We are the 99%. Expect us.

October wrap-up

This was quite a busy month. I was happy and exhausted by the LibreOffice Conference which went despite my immediate perception quite well. When you’re part of the organizers you tend to see all the small and not so small things that go wrong, and regardless of what the other participants notice or experience, you end up feeling that it’s just not as good as the others see it. Be it as it may, I would like to thank all the participants to the first LibreOffice Conference. It’s been very moving and heartwarming to see all of you, after a year of adventure and perils we have gone through. I would also like to thank all the organizers of the LibreOffice Conference, the community volunteers of France who made it possible, Sophie, Marie-Jo, Christophe, Jean-Baptiste, our hosts, La Cantine and the IRILL, and our sponsors. Among them, a special mention should be made to the Paris Region (Région Île de France) with whom we announced several exciting news. It’s all in the press now but I think that these announcements highlight how far we have come in one year. More importantly, it also shows how a Free Software community can work as it should, that is, with diverse contributors and a variety of stakeholders in a sustainable fashion. Of course, all this is far from being built and all the dots are not being connected. This year will therefore be exciting as we will continue to build and grow our community further.

I would like to come back shortly on two of the announcements we made, regarding the porting of the LibreOffice platform (not the interface) to iOS and Android, as well as LibreOffice OnLine. While these two projects are at various stages of completion and have different requirements they help to show not just the vitality of our community, they also shed some light on how we manage to embrace a bazaar-like approach to development and think about what I call our “development ecology” (which some could really translate into development strategy, but I think it’s more subtler than that). What you see through our online office suite project and platform porting announcements is that we are taking some great care in doing something paradoxal with respect to our stated intent to change the codebase as much as possible: we keep our codebase intact. Note that we do change, upgrade, clear and trim the codebase, but we do adopt a singular codebase approach where the code used in LibreOffice OnLine, and the underlying code on iOS and Android will essentially be the same than the one inside the LibreOffice Desktop suite. In other words, we do not release a product here and something completely different there, even if in the future, a specific work on the interface for tablets will have to be made (we won’t use the existing interface on these as it would not make sense).

This “universal” approach makes sense not just for “market growth” and adoption, it has two benefits. The first one is to pool the resources as much as we can, because maintaining millions of lines of code here while maintaining a million of new and different lines of code there would not require around 3 hundred developers; it would actually require 3 thousands of them. We thus keep the codebase as a coherent whole (hence Rob Weir’s confusion answered by something like “just pull the git”) while we will enjoy in the future the second benefit of being able to make changes (and even important ones) in one codebase, thus replicating the changes for the online version at the same time as they will be made available in the desktop or the tablet version.

Exciting times are ahead. Stay tuned!