What Does Open Source Mean?

At last night’s event, a lot of the questions were really implicitly asking, “Is open source better? Why?”

The first answer everyone comes up with is that it’s free, and that’s better.

However, that is neither necessary nor sufficient to deem it “better”.

If MySQL did exactly the same tasks Oracle did, but was free, there’s still a huge amount of money involved when migrating. Merely staffing the migration costs a lot of money.

Companies using open source technologies because they are free are (probably) making the right software choice for the wrong reason.

Firstly, open source does not have to be free — MySQL proves that. Their Enterprise source code is free to paying customers (and whoever paying customers distribute to, but that is not the issue).

Secondly, open source’s benefits far outweigh mere license costs, though the license cost is definitely the most tangible benefit.

I realized while the benefits of open source were being touched upon that the benefits are not lacking in the closed software world, they are simply much harder to come by. For instance, there are companies that reverse engineer solutions, develop their own in-house solutions without being able to read a line of original code. Surely it is easier to build a home-grown solution when the code is readable to begin with.

As well, the talent pool for open source is greater, because there is a lower barrier to entry. It’s still just as difficult to separate the wheat from the chaff as it is in a closed source world, however if your company is willing to hire the top 10%, I’d rather try to find the top 10% from a pool of tens of thousands of people than from a pool of thousands.

The oft-quoted “you can hack it yourself if you want” still applies, and moreso the idea that “even if the company goes out of business, or the core developers stop developing, others can pick up where the previous developers left off.”

One issue we did not touch upon was that open source tends to follow a popular concept in “extreme programming” — the idea that the software is always working. It may not have all the features, maybe it’s not much more than “hello world”, but it works. A feature is added, the code integrated, and it still works, now with +1 feature.

I think the issue is that in general, it is *easier* to reap these benefits from open source than from closed. It makes the argument more difficult, because it’s *possible* to reap similar (or the same) benefits from closed source, but it’s easier with open source.