Hacker News new | ask | show | jobs
by tonyedgecombe 903 days ago
>The tragedy with any form of software development is that it becomes a commodity very quickly.

I can't think of anything that is less commodity like than software. Commodities are raw materials than can be easily substituted. For example Ukraine is invaded so we all switch to American grain. Try switching SQL Server for mysql or changing your Python code base to Ruby. Software is sticky.

1 comments

What you are describing is lockin, which is a mechanism companies use to ensure you keep on using their software.

But think about libraries. Imagine a library that handles dates and times correctly. You probably need one for whatever you are doing. Would you pay for one? No of course not because this is a solved problem and just about any language has this built into their standard library. You could build your own but it would have no economical value. Because it is a commodity. There are countless examples like this.

SQL server is a great example. Buying SQL Server for a new project doesn't make any sense for most people. The only reason to use it would be that you are already using it or somehow stuck with it (because you work in some place with lots of legacy software). Otherwise, there are plenty of perfectly fine and free alternatives. Databases are a commodity. If you need one, there are dozen or so free mainstream alternatives. The economic value of new ones is very low unless they do something particularly novel. Which then promptly gets imitated by others. And I'm sure SQL server has a few nice bits and bobs that are amazing. But by and large most people would ignore it as an option at this point. I haven't touched it in twenty years myself. At the time we had a product that could use either mysql or sql server (and Oracle even). Mysql worked fine and there was little technical reason to prefer the other options other than some imaginary value that companies associated with it (like getting support that they would never use).

>You could build your own but it would have no economical value. Because it is a commodity. There are countless examples like this.

Not because it's a commodity but because it is free. Free because Microsoft or Oracle or an enthusiastic Ruby developer wrote the code once and then it was done. We can then go on and build our layers on top of it without raising a purchase requisition or getting our credit card out.

The reason this can happen is because the marginal cost of software is so low. Microsoft put the work on to create their standard library on the basis that it helped them sell more SQL Servers or Windows operating systems and we all get the benefits because each additional user costs them almost nothing.

At first sight this looks like a benefit to us all but there are downsides as well. If I wanted to offer a better date and time library for .Net then I would find it difficult to compete because the alternative is free even though it isn't perfect.

If you look at hardware it is a different story. I could buy a Dell laptop and it would run exactly the same software as my Lenovo (bar drivers). This looks much more like a commodified product to me.

> but it would have no economical value. Because it is a commodity.

This is trying to redefine the word "commodity". Normal commodities like oil, grain and electricity very much have economic value.