Sunday, May 19, 2013

Dissolution Effect

If you work in the software industry you probably have heard this Law of Free Product Economics:
If a product on the market can be monetized by any means other than directly selling it, a comparable version of that product will eventually be offered for free.
However the progress didn't stop there. With the flourishment of open source communities, software have become freer than free, and finally reached a state smothered by something I called Dissolution Effect:
In an open source community if a technology stack can be monetized by any means, a comparable stack will eventually be available as a combination of smaller, unprofitable stacks.
In other words, many parts of software industry have become so competitive, that any profitable software stack will tend to be dissolved into smaller pieces, until none of them is profitable.

In particular, I am talking about web front end technologies; in the last two years, I've seen front end frameworks becoming much thinner, much nicher, and much less invasive, such as AngularJS, Bootstrap, etc.

The Dynamics of Dissolution


Many product teams tend to choose long-existing, proven technologies. The most important thing about choosing a framework is the confidence to guarantee their product delivery with the framework.

However, the problem of larger libraries/frameworks is, they are often hard to adopt. It's not about license fee, or learning curve; it's about the commitments it takes. For example,
  • When you need to use a part of it, you are bound to use its other parts as well. 
  • You are bound to use a certain syntax/format to express view, model scheme, etc.
  • Inversion of Control.
  • You are bound to adapt to a certain paradigm, or the order of implementation.
  • You are bound to use a certain IDE.
Pioneer developers, who eagerly contribute new libraries in the communities, are often afraid of losing the flexibilities to turn around, so lighter, non-invasive libraries become their top choices to use. In case there isn't one, they will come up with their own. Thus, software evolution happens more intensively around hackable libraries, and end up with the most hackable possible libraries. We say these libraries are dissolving each other, so they become very small in the end. Those libraries share a few common traits:
  • non-invasive: it can be plugged in and out without changing much of the rest of your code.
  • thin/niche: it focuses on a specific, well defined layer of problems.
  • extensible: it either leaves space for plugin, or can be easily forked and can modified.
  • license friendly: it has Apache/MIT License or anything less restrictive
These traits make a framework extremely easy to adopt, while on the other hand, extremely hard to return profits to the author.

Full Stack Framework Strategy


Full stack frameworks are still very hot in the market, but they have to spend effort to compete with the low adoption barrier of thinner frameworks. In general, popular full stack frameworks share the following traits:
  • scaffolding
  • trustworthy
  • extensible, better with an active community
  • license friendly
They are still be able to capture profits from the market, but they have to pay close attention to the competition from comparable, thin frameworks.

Software Vender Strategy


If your technology stack lies in the middle of a dissolution process, you may suffer from intensive competition right now. I don't think there is a simple solution, but you may think about pivoting it with:
  • connecting to hardware
  • connecting to service
  • use the product to gain brand popularity, not cash

Who's Next?


In my gut feeling, this effect will soon be seen in any other industry where its infrastructure allows developers to quickly fork, hack, and share their their products. I would guess similar things have been happening somewhere else already.

But who might be next? In a rough guess, game industry, mobile frameworks, and hardware industry around 3D printing have the greatest potential.

No comments:

Post a Comment