The Struggle with Fragmentation
A common theme we hear at RedMonk is the difficulty companies face in regards to market fragmentation. As Steve wrote, “pick a technical category, and there are not just multiple technologies to select from, but increasingly multiple technical approaches. Each of these must first be deeply understood, even if they’re entirely new and thus difficult to conceptualize, before a technology choice can be made. And there are many such approaches to be studied and digested, at every level.”
I deeply empathize with those who are experiencing this struggle. I’m coming up on my six-month anniversary with RedMonk. While it’s a challenge to learn specifics about a technology/vendor/product, it is an all-out battle for me to build context, understand complementary and competitive offerings, look at the broader ecosystem, and put all the pieces together. The complexity can be overwhelming.
One method Steve, Fintan, and James use to help me work through the confusion is drawing stacks. The diagram always starts clean and straightforward, but as the conversation progresses the schema inevitably becomes filled with arrows, strikethroughs, and attempts to squeeze more things into the drawing. There is always more than one approach. There are always additional factors. There are always a myriad of options and alternatives to consider.
Total Cost of Ownership
Steve spent a couple days white boarding with me in Denver last week. One of our discussions centered around the total cost of ownership (TCO) for using an open source project compared to a proprietary solution. What factors tend to drive a company’s decisions to choose one over another? While the choice definitely depends on the technical merits of the options there are also broader considerations. Steve’s essential argument is that companies “pick their pain.”
Every decision involves trade-offs. Choosing open source provides significant benefits: flexibility, portability, avoiding vendor lock-in, granting the ability to help direct the project through contributions, and very salient to the cost discussion, it is free. However, there are still real costs. With variable commercial support options, the company will likely need to devote more human capital to implement and maintain complicated stacks composed of multiple open source projects than with hermetically sealed proprietary alternatives.
Proprietary solutions tend to be more integrated out-of-the-box, have more support options, and a more stable roadmap. The trade-off is dependency on the vendor, opacity of the code base, and the cost of licenses/subscriptions/support.
Either option can be the correct choice, but similarly each option has drawbacks. At some point the company will have to choose which pain they want to live with: the higher buildout and maintenance costs of DIY or the cost of being locked-in to a proprietary solution.
How a company weighs these pros/cons depends on their existing stack, budget, staffing, and internal ability to provide on-going support. Companies want to minimize their total cost of ownership. These factors that impact their TCO calculations do not remain stagnant, and thus the outcome can vary within the same company over time.
And You Want to Compare This to Laundry?
Yep, I sure do!
One of the best parts of RedMonk’s distributed culture is that I spend a lot of time in sweatpants. However, I still own and love a lot of clothes that are more stringent in their care requirements and require either hand washing or dry cleaning.
When I was first starting my career I was a big believer in choosing clothes that didn’t require dry cleaning because it limited the cash I had to spend to maintain them. I had the time, capacity, and desire to take care of it myself. I chose to minimize my cost of ownership by buying clothes I could wash by hand for free.
After spending the entire first half of a football game (seriously, an entire half) hand washing sweaters on Sunday, I started lamenting all the effort and wished I could just take everything to the dry cleaner and be done with it.
My cost of ownership model has shifted. At this stage in my life, time is a bigger constraint than cash (at least for costs of this magnitude.) I don’t want to spend hours taking care of this myself anymore; my preference has shifted towards clothes that I can drop off at the dry cleaner. It costs more on an on-going basis, but the convenience is well-worth the cost differential.
While this is far from a perfect metaphor, it is illustrative of Mårten Mickos’ observations “that your early community is willing to trade time to save money and your later community is willing to trade money to save time.” Decisions about cost of ownership are complex and change not only company-to-company but also within an organization (or closet) over time.
Also, if nothing else I feel as though it’s a good sign that open source software thoughts are permeating my life; it seems like a RedMonk employment milestone of sorts.
Note: I recognize that RedMonk has a developer focus, and that the developer population largely has an affinity for easy to launder clothes like t-shirts and hoodies. I hear you. I’ll work on having more relatable metaphors for my next six months.