$ cat posts/a-matter-of-evolution.md

A matter of evolution

es Leer este post en español →

“Talk is cheap, show me the code” – Linus Torvalds

I don’t talk much about my job on this blog, it’s a personal policy, but I will mention that a few months ago I had the chance to implement a mission-critical service in which every component is backed by open source products, from the operating system (RedHat) and the middleware (JBoss) to the database (Postgres).

I think we did a good job with the help of our technology vendors, and along the way we laid the foundations of the basic service infrastructure (SOA) for our company, which will guide our future development over the coming years.

As Franco Catrin says, choosing base components, such as the operating system, is a tactical decision, but as we move up the scale of complexity of IT solutions, the decision to use open source or not becomes a strategic one.

These decisions should not be made on the criterion of saving on licenses. In fact, maintenance licenses for Redhat Linux Enterprise usually cost the same as, and sometimes more than, a version of Windows. License cost is not the relevant factor in these cases. Whoever makes technology decisions based on the cost of licenses is a mouse.

“Open source is not something to be feared. Open source is something to be explained. Open source wins not because it’s open and not because it’s free. Open source wins only when it’s better” – Larry Ellison

Larry Ellison is obsessed with winning, and as such he believes in the concepts of better and worse. Since I don’t believe in those terms, I think in evolutionary terms, and evolution is adaptation to change.

What kind of software is fitter (in the evolutionary sense)?

Biology teaches us that the richest ecosystems, with large populations, react faster to change, among other reasons because the gene pool is more diverse.

In the case of software, the genome, the DNA, is the code, and the gene pool, the ecosystem that sustains evolution, is given by the number of programmers who have access to that code, that is, the developer community (I leave out of this discussion the user community, which tends to be larger for proprietary software).

So, for certain kinds of applications, it is better to have access to the code, and to the ecosystem that sustains it. Open source gives access to that; proprietary software makes it harder.

Could these processes have been implemented with proprietary (non open source) tools? Yes, definitely. So how do you make this decision?

I am a techno-agnostic. I have had the chance to take part in deciding the technology strategy at 3 companies, and I have used both proprietary and open technologies.

This time I believe I made the most important technology decision of my professional life, both for the size of the service and for its real impact. This time I went with open source, because I truly need to be flexible and adapt to change.

I work in a heavily regulated industry (the pension industry), and because of its dynamics, and its social impact, it is subject to major changes and reforms coming from the government and the legislature. It was important to be in a position to withstand those abrupt changes, to act with flexibility. That was my criterion, and open software gives me that flexibility.

Strategic decisions in technology, like any strategic decision, must be reasoned. They should not be made because of fashion, or for personal political reasons. It is not a matter of fundamentalisms, or of stale pseudo-ethics. For me a decision of this kind is a matter of evolution (and therefore, it is also an ethical decision).

Comments

comments powered by Disqus