Best vs. Popular

The most popular technology isn't always the best technology.  We see this all the time and one of the classic examples I always hear is VHS vs. Betamax.  Betamax was arguably the better technology (I'm told), but VHS won the popularity contest.

How is this relevant?  Well I find this particularly interesting when it applies to development tools, libraries, and frameworks.  Should you pick what you think is the best tool for the job or the most popular tool even if it's not the best tool?  I don't think this is a big deal for small projects since the tool isn't going to just disappear in the span of 6 months, but what about a project that will take 2 years to build and you need to maintain for 5 - 10 years once it's running in production?

A simple example that I'm currently struggling with is Bootstrap 3 vs Foundation 5.  I know I had a post a few months ago and I said Bootstrap 2.3.2 was the best framework available, but with the latest versions of both frameworks I'm now torn between the two.  Here is what I'm weighing between the two frameworks:

Foundation 5

  • Out-of-the-box this meets 95% of our requirements
  • Roadmap is deliberate and consistent
  • Seems to be geared toward business applications (e.g. comes with validation plugins)
  • Small community
  • Small pool of 3rd-party plugins/customizations
  • Primarily backed by a company
  • Paid support is available

Bootstrap 3

  • Out-of-the-box this meets 80% of our requirements
  • Roadmap is driven by community pressure
  • Seems to be geared toward small websites
  • Large community
  • Large pool of 3rd-party plugins/customizations
  • Primarily backed by 2 developers at Twitter and the community
  • No paid support

In this scenario, I want to pick Foundation since it's so close to everything that we want in a framework, but Bootstrap's popularity and everything that comes with it is a huge asset.  It's such an asset that I feel compelled to use Bootstrap and take the time to make it what we need it to be just so we can leverage all of the resources surrounding it in the future.

Should I use the best tool for the job today or the most popular tool in order to make development easier at some point in the future?  I don't have an answer yet.  I honestly have both integrated into my project at the moment and I'm trying to find a critical fault with one of them to make my decision easier, but so far nothing's managed to sway me further in either direction.