Build or buy?

By Serdar Yegulalp | 2015/09/27 10:56


Most every decision about the use of software comes down to two choices: Build or buy?

When I started blogging back in 2000 or so, the choices were much the same as they are today:

  1. Use a service like Blogger or LiveJournal.
  2. Use a server-side application like Movable Type (and later, b2/WordPress).
  3. Use a client-side application like ColdFusion and publish the results to a server.
  4. Do something else on your own.

The two reasons someone would build (#4) instead of buy (#1-3):

  1. The user had a specific technical need that wasn't adequately covered by the other products.
  2. The user had an aesthetic, moral, or personal objection to the existing product lines.

I fit into more the second category than the first, but I have motives that are covered by both of these:

  1. Movable Type's open source version is no longer under development, and I was reliant on using that edition. I didn't have the money or the inclination to buy a 5-user license, 4 users of which would have been wasted anyway.
  2. WordPress has a number of architectural decisions that make me not want to use it, the lack of proper static publishing support being the biggest.
  3. I'd been wanting to teach myself how to program with something current (in this case, Python 3) for a while.
  4. Creating my own platform would reduce the amount of dependencies I had on other peoples' work.

I also had some counter-challenges to each of those points:

  1. Building your own product from scratch, even when you leverage other peoples' work in the form of libraries, etc. is difficult and time-consuming.
  2. Settling for an existing platform like WordPress would mean being able to leverage the sheer amount of work already done for that platform.

Counter-counter-challenges:

  1. The payoff of all that work would be more than worth it. I didn't mind investing the time or the effort if it meant I would grow as a programmer.
  2. The stuff I'd miss when using WordPress would make all the difference, and from what I could tell there was no easy way to make it into the thing I needed.
  3. I would rather program in the worst of Python than the best of PHP.

Not all of this is meant to be airtight logic. Not everything we do has to be rooted completely in logic, and I knew full well a lot of why I was building MeTal was to scratch my own itch. But it helped to spell out as much of it as possible.


Tags: Blogger Movable Type software


comments powered by Disqus