Thought Piece on Open Source Software

Image courtesy of the Open Source Initiative

I remember my first job in software. Teknekron Software Systems. You’d know them as TIBCO. It was 1995, I was a “networking expert” and I was hired to make sure the networks underneath high-speed middleware based trading systems were designed to maximize system performance.

 

I love the software industry. Software’s like magic. It can be anything at all. And, agree or not, I believe it’s a very young industry so there’s a lot of room for trail-blazing.

An area of software I don’t have much experience with is open source. I’m a commercial guy. I like to make money, and I understand “build a product, sell it”. It’s much harder to understand “build a product, give it away”.

That said, at Progress where we had FUSE message-oriented-middleware as a result of the IONA acquisition I was exposed to open source for the first time. It’s a very different beast, and in some ways it changed a lot of my thinking.

Let’s say you’ve been living in a closet for the last 15 years, and didn’t know anything about middleware and messaging. Though somehow, you were up to speed technically on all things software when you came out of the closet.

Let’s say you have a project that requires middleware. You want to create a tender (RFP/RFI), but you don’t really know enough about middleware. And, you can’t buy it until you create a tender.

How do you “play with it” and actually do something, gaining the experience to make “the best decision” on your purchase1?

Open source.

Download it, start using it. Learn. Deploy an application, and learn more. In the case of middleware, make sure you write an abstraction layer between the middleware and your applications, so you can swap out the open source stuff should you need to.

I wonder if you’d need to though.

Open source is robust, supportable, enterprise-class.

Open source has grown up a lot. I’m not suggesting you download the bits, compile them, change them, and have to manage your own middleware product. I am suggesting that you use a supported product. And, should you make any changes, contribute them back so that they become part of the product.

Why should you do it?

I was about to write “it’s cheaper”.

I’m a believer in value, not cheap.

What it is is more productive. More valuable.

Here’s where it gets interesting though.

It’s not really about the software at all.

It’s about the people and the solution. It’s about the people that implement the solution. It’s about the expertise they bring to the project to make sure you’re doing the right stuff with the software. It’s about understanding the solution, so you win the market.

And, that’s a trend consistent across industries these days. With the move towards authentic marketing, and organizations depending more on freelancers (people) to get the right expertise, and the fundamental challenges to the media industries — music, publishing, newspapers, etc — as a result of the only value they bring being market access. Now, markets are accessible online easily – who needs intermediaries?

So, I have a question:

Is software media, in the same way albums or books or magazines are?

In those other industries… the companies that have been intermediaries are struggling to regain control of the relationship between the artist and the audience.

Yeah, artist.

Software developers (good ones) are artists. They’re creative. They’re passionate. They’re often surprisingly well rounded, and importantly so because the constantly relate all sorts of things back into their craft. Developers artistically express their ideas using tools available to anyone by applying creative, though specialized knowledge. While there’s a technique to it, don’t kid yourself. There’s a huge gulf between good technicians and great developers2.

Are software companies the next intermediaries to break?

Is software the next industry to be turned upside down? Some might argue it already is? Others, no way.

To that latter group, all I’ll say is if you think Sony Music has a lock on artists and how people buy music… that’s nothing compared to the lock IBM has on software and how companies buy software. Let’s talk sometime, because I’m not going to put that in writing!

Back on topic.

Let me recap, and followup with a recommendation.

Free is better than not-free, assuming similar capabilities. Capabilities, not features. You want enterprise ready code, someone to support it, a huge installed base, similar solutions in place to what you’re planing, etc.

Software companies aren’t bad, neither are record labels. Or newspapers.

But, they do lock you in to their way of doing business. Once locked in, they’re the ones with the leverage. Not the artist. Certainly not the consumer.

What matters? Differentiation matters.

Where are we getting differentiation today? It’s in the people. It’s in the artistry. No one likes to talk to those scripted call center reps in India? We praise Cablevision for being reactive on Twitter because we get to hear a human voice. We can relate to other people, and in my opinion the career of the future goes to the person who prepares themselves to compete for jobs based on their personality and experience, moreso than credentials or paper tigers (resumes).

So what’s the recommendation?

Work with a company that makes it about people, about the solution. Not about the product. These companies, like FUSE, or Red Hat, or Acquia provide the same quality software (or better!), the same quality of support (or better!), and they’re easier to work with because the relationship is all about the people and the solution, and not the product.

Let me say this a different way.

What if’ you’re trying to figure out what Social Business means to you?

By the way, I like this definition from Jeff Dachis:

“Social for us is fundamentally about building trust with our customers, our suppliers, our employees”

Why buy a product, when you actually need to figure out what the solution means to you (and your target audience)? Why not implement something, and see how it goes? Do it the Facebook way (at least according to the movie) — start with a few features, release them, see what people do with them, and react.

Best way to do this?

Have the right people at your side.

It’s certainly not to make a huge software purchase in the hope that you’ve been able to let vendors who create and sell the software educate you as to where your interests lie.

Update: Coincidentally, Facebook announced an open sourced data center hardware offering today. An innovative way to share their internal work in order to get some economies of scale and help others save energy from their research. I hope people improve on what Facebook’s done, and give it back to the Open Compute Project. See, that’s the power of open source.

  1. In my experience, companies have major failures here, and evaluate software very poorly when building an RFP by asking questions and playing vendors against each other in a proof-of-concept. A lot of time and money is wasted shamelessly. I wrote more about this elsewhere. []
  2. My favorite analogy is that of the musician. You can teach someone to play the piano. The student plays notes. Then they play notes better. It sounds good. Even great. But, at some point the great students begin to play music. And everyone knows the difference when they hear it. []

Speak Your Mind

*