NIH #22 โ€“ Illusion of control

๐Ÿ“บ This episode on YouTube

All modern systems are built out of components. Those components can come in different forms: 3rd-party proprietary, open source and developed in-house. Open source seems to be the most popular option nowadays and one may think that using open-source components is an all-around win. It is a win, but not all-around.

3rd-party proprietary

  • minimal initial effort to start getting benefits from the component: some learning curve, but no heavy lifting with development
  • all encompassing solution with features you do not need but still have to deal with
  • fairly good understanding of costs related to getting maintenance for the component over time
  • minimal control over direction of development
  • possible dead ends because of lack of transparency

DIY components

  • tightly focused solution that delivers exactly what you need
  • significant upfront costs and long and, maybe, costly further maintenance
  • with all that comes full control over the direction of development
  • draws resources and attention from the core competency

Open source

  • ready-made solution that requires minimal to start using
  • free basic maintenance by the comunity
  • solution with wide focus and sometimes โ€œhalf way thereโ€ functionality
  • illusion of control induced by the fact that source can be forked and taken in-house