How does open source figure into the build-or-buy decision? For an informed perspective, we turned to Bruce Snyder, co-founder and developer for the Geronimo project and a senior architect at LogicBlaze, a provider of open source solutions for SOA and business integration, including ServiceMix ESB and ActiveMQ messaging platform.
InfoWorld: To what extent has open source changed the landscape in terms of making a decision about whether to build or buy enterprise applications?
Bruce Snyder: I look at open source as augmenting that build decision to catapult things forward, especially in a scenario where you have in-house expertise, because it puts control in your hands. Building something in a reuse capacity is a lot easier than starting from scratch.
IW: So, we’re talking here about customizing existing open source software?
BS: Primarily, yes. Nowadays, it’s a lot easier to identify a business need and find an open source project that addresses it, at least partially, than it used to be. If you determine it’s good enough as a base from which to build out, and you’re able to invest the time and effort, that’s preferable to starting in a green field.
IW: What about the aspect of competitive advantage?
BS: If you can avoid a black-box solution and go with one that your development staff can manipulate to meet the growing needs of your business, then in my view you’ve got an advantage over a competitor who, let’s say, has chosen to get locked-in with a particular vendor. But you need to approach this with the understanding that the onus is on you and your development staff to maintain that software -- unless, of course, you contract with someone else for professional services and support.
BS: You can work your way up from the operating system, from Linux. On top of that you’ve got relational databases such as MySQL, PostgreSQL, and many others. Then you’ve got middleware, and within that category you’ve got application servers like Geronimo, JBoss, and much more. Then comes tooling, where you’re talking about Eclipse, NetBeans, etc. Beyond that, you can start talking about building custom applications. You can use different pieces and different libraries out in the open source arena: one to do data persistence, another to do the presentation layer, another to do network communication of some kind, and so on.
IW: How does one go about evaluating the software?
BS: I’d say on a project-by-project basis and in much the same way that you would evaluate commercial software. You have to ask, how mature is it? How good is the documentation? For example, if you’re evaluating an open source application server, you’re looking at a vast amount of source code. Without someone to help guide your way, diving into something that size can be pretty daunting.
IW: What are the pitfalls to consider?
BS: A lot of people have sold open source as a silver bullet, but it’s a piece of software. I put a lot of emphasis on the community. The documentation and support’s not going to be there without a diverse and vibrant community. The software’s not going to evolve very much, either. You have to go into it with your eyes wide open.