As for the future, our task is not to forecast it, but to enable it
Antoine de Saint-Exupéry
 Français  English  Deutsch

Open-source, a competitivity factor !

Summary

The present has been set up after the meeting of the London Financial Python Users Group on October 17th, 2012. I wanted to elaborate on the recommendation of Dennis Pilsworth, CTO of AHL within the MAN-Group to donate to open-source software developers to feed the IT ecosystems in which the companies are evolving.

Systemically, there is a competition between actors, but also between systems. And an actor can only win if the system within which he is evolving is doing well in the competition between systems! No computer system can survive in the long run if the underlying tools are no longer actively maintained.

And accordingly, it is necessary for the individual actors to support the open-source software developers who are acting in their own systemic area, say Python, or a Python based analysis-tool like e.g. Panda (which was also presented at this meeting).

Donating is voting !

You will also find hereafter a discussion on a rational donation strategy

Open-Source simply works better

The context

The big investment banks use open-source extensively. Two examples:

  • Goldman-Sachs uses the open-source language Erlang for computer-trading.
  • JP Morgan is using the open-source language Python as it's nearly unique development language within the whole bank. Python is also used on a large scale by Nasa and Google

Bill Gates links open-source to communism: Have investment-bankers and hedge-fund managers turned communist ?

Even more surprising, governments, even socialist and social-democrat governments, have a natural tendency to use proprietary tools.

Investment bankers are not hidden communists: They use a highly performing alternative to commercial software. The main advantage is not avoiding the cost for buying the license but the advantages resulting from the structure of the open-source eco-system!

Open-source software is free software, i.e. software you can use, understand and modify how you want to use it. That the price tag is zero is often simply irrelevant compared to other aspects. Very often, the most important aspect are related to being able to read and edit the program-code. Thus, programmers are able

  • to understand the inner-working of the program which enables the programmers to improve their skills,
  • to evaluate the product faster and better, and also
  • to solve detected bugs rapidly, at least for the short term. If you and your staff ever waited for weeks for a fix to a show-stopper bug you documented yourself, you know what I mean.

Donating: How much and for which project ?

Even if the principle of sponsoring Open-Source is accepted, the question of practical application remains. You will find hereafter a tentative proposal and some criteria

Sponsor on a yearly basis. Do not hesitate to write a letter signed by the Chief Technical Officer stating why and how much you are sponsoring, what you like in a given project and where you would appreciate improvements. And donate to projects you use or would like to push !

You only donate for the programming staff, no marketing, no legal departments and no profits. So you could envisage to donate about 10% of the original license and maintenance fee. A programmers workplace can easily cost around 5000$ on a commercial basis, 10% is about 500$. But of course, the decision is Yours !

Another reference is the cost of a programmer. At least in the financial industry, you will probably have a typical cost of more than 100.000€ per year. Taking into account holiday and various other cost, this gives a cost of around 500€ per day. This is an interesting unit when defining what potentially to donate

Whoever has access to the source-code, controls the product. He does not need the developer anymore, at least in principle. Which explains why Open-Source is typically available for free. Once the developer discloses the source-code, he can not enforce licensing fees. However from a principled view, open-source and no license fees are two different things.

Which leaves us with another question: Why should a "sane" developer decide to "give away" his software ?

Why does open-source exist ?

Many managers stay away with good reason from deals where they do not understand the rationality of the other contracting party.

While using Open-Source is commonly accepted, I feel that many managers are still at unease with open-source because it seems intransparent to them.

We will now analyze the deal from the open-source programmer's perspective

Marketing aspects

First of all, open-source developers often want to deliver consulting services for their products.

But, giving away software or software services for free or nearly free is also a common marketing strategy to flood the market when you as a supplier are in a position of (relative) weakness.

Microsoft has used similar strategies on multiple occasions. Microsoft was very tough on copyright at the very early beginning. However, Bill Gates was in fact much less tough on copy-protection in the years of explosive growth, especially when in concurrence with Lotus and Wordperfect in the DOS world. Microsoft knew that unlicensed users would end up as customers. And that Microsoft did not have to support them when installing and discovering his software.

Other examples abound, remember the bundling of product strategy with respect to Internet-Explorer, Office,... and the de-facto very steep price reduction.

Google did also start as a nearly altruistic construction operating with no revenue.

Eric Schmidt, General Manager of Google during many years, was not part of the initial launch staff. Software engineering and marketing skills correspond to very different cultures. The idea is to have the engineers build the tools and then observe how the market evolves and to decide afterwards what can be done to generate revenues.

The strategy of Google is typical, it can only be explained by the fact that operating a working marketing department working worldwide comes at a high cost, often much higher than the cost of developing the product. So how about cutting the marketing investment to zero by giving customers a free ride ?

Many smaller companies followed and still follow a similar strategy. Of course, these strategies are not as radical than asking no fees for the license, but this shows that price wars happen often in the software world

Bug fixing, support from outside

It is very common for open-source developers to get bug fixes and additional functionalities to their product developed by users. This is not only reducing cost but also adding additional know-how to the product.

Quality of work, Time pressure

Typically, open-source projects are designed with high quality ambitions. View to a certain extent programmers as artists ! As money is not as important ;) , time schedules aren't either and so quality and the aesthetics which pair with it are much more in demand.

Of course, the company using the software is profiting from this quality pursuit

Open-source from an historical perspective

Google has hired several programmers involved in the Python system including Guido van Rossum, the creator of Python, Alex Martelli or Greg Stein

IBM and Xerox also had a similar tradition. Remember Benoît Mandelbrot who developed the fractal theory within IBM, and Charles Simonyi, the inventor of the hungarian notation, who worked at Xerox Parc before joining Microsoft.

Kings often welcomed at their court scientists, artists and philosophers to enlighten their days and also as a way to be smarter and make better decisions. Just remember the career of Voltaire, Archimedes, Michelangelo, Leonardo Da Vinci and others

Sponsoring has been a common practice through the ages

Donating is voting !

Open-Source is an example Tragedy of the Common-Goods game-theoretical problem. If no one sponsors, the ecosystem dies slowly (because of the lack of maintenance). On the other hand you are better of if others take over supporting your own open-source projects.

This point of view however is only of a limited relevance because donations are very small compared to the amounts at stake. The amounts at stake are basically the price of redeveloping over 5 to 10 years the whole program base developed for your company. This can be quite important if your company is highly dependent upon IT.

Sponsoring the authors who's software your company are using intensively is a low-cost way of voting and helping the ecosystem in which your company is operating.

And you can also profit directly from donating by positioning your company towards actors relevant to you

PS: Thanks to Didrik Pinte of Enthought and Richard Gomes of JQuantLib for their valuable input