Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2569 posts at DZone. You can read more from them at their website. View Full User Profile

Case Study: How OSS Helped One Startup Beat Larger Companies

04.01.2010
| 15971 views |
  • submit to reddit
Many companies are still not comfortable with using a software solution unless they are paying for it.  However, tech companies that use mainly Open Source Software in their development stack, once a rarity, are now becoming more common.  The overall maturation of the open source community has lead to many low cost, production-ready options for building enterprise-class applications and websites.  OSS has helped one startup, Verical, compete with their larger, richer, proprietary-software-using rivals.  DZone interviewed the VP of Engineering at Verical, Jes Lefcourt, to find out what open source tools Verical uses and how his startup became more productive than some of its competitors with minimal overhead.

Verical Marketplace is a website similar to craigslist or ebay for B2B (business-to-business) reselling of surplus electronic components.  When a company has an excess of equipment because of changing supply and demand, Verical provides an outlet for companies to sell their supplies to one another.  The component manufacturers can also use Verical Marketplace to offload any extra supply they might produce.  

Lefcourt says that Verical's development stack is completely comprised of open source solutions.  The Java Platform itself is the most valuable open source technology that Verical implements.  "We have utilized open source software in all aspects of our software development including continuous integration, project builds, source code management, integrated development environments, runtime, testing and monitoring," said Lefcourt.  "Most of the tools that we use were built using Java.  The Java runtime environment and the corresponding development kit are freely available for use."  The wide range of mature tools for Java along with the thriving and passionate community show us the high level of success that an open source technology can achieve.  At every level of Java application production, there is a battle-tested open source tool that developers can use for free.

This is a list of the main tools in Verical's pure-OSS stack:

  • Spring - IoC, MVC, web services, validation, testing, security, transaction management
  • Hibernate - ORM
  • LuntBuild - Continuous Integration; build automation and management
  • Tomcat - Servlet container; manages catalog, inventory, purchasing guide
  • Apache httpd - Web server; session management
  • Apache Commons - Reusable Java components
  • Maven - Project management; static analysis of Marketplace code
  • MySQL - Database for inventory search
  • Flex - Dynamic experience design tool
  • JUnit - Unit testing
  • Linux - Operating System; performs better than many commercial OSes

Lefcourt knows there are some disadvantages to OSS.  A lot of open source projects don't enjoy the level of support that most commercial projects have, but that's where the open source community comes in.  Lefcourt says that while there's no paid support team on standby for most OSS, there is, in many cases, a rich user community that creates, blogs, tutorials, and documentation for even the most unusual problems and use cases.  A strong supporting community is one of the most telling signs as to whether or not an open source project has business-viable potential.  The more popular a project becomes, (usually a sign that it is a useful solution) the more contributors it gains.  More contributors means more improvements to the software.

These are some indicators used to determine if an OSS project is viable for your company:

  • Functionality meets the needs of your use cases
  • Releases are just as frequent, if not more frequent than commercial vendors
  • The project roadmap is favorable to your use cases
  • There is strong community support
  • Real world (business) use cases
  • The software is commercially backed (e.g. Spring, JBoss, Linux) meaning it is probably well supported with commercial support available
  • Extensive, organized documentation is available
  • Integrates well into existing solutions

Lefcourt says that for many OSS using companies have been able to diagnose and create a solution for bugs much faster than with proprietary solutions because you're able to open up the source code and you don't have to wait for a patch.  Open source also means open architecture, so integrations, plugins, and other custom improvements based on your company's needs are an option.  "It gives you a greater ability to determine your own future," said Lefcourt.  The shared knowledge of the community provides best-practices and new use cases that can reduce the time-to-market for your next release.  Lefcourt says the availability of helpful plugins and useful information on open source solutions leads to more agility in development and more frequent product releases.  

"With our very small team, we've been able to accomplish the same things that have required large departments from our competitors," said Lefcourt.  "Our initial version was out the door and live within months versus year-long initiatives that some larger companies needed.  We were able to control our own development and release schedule as opposed to being beholden to suppliers of commercial software.  We were able to find the right tools to address each individual problem and pick and choose as we went without significant concern for cost or interoperability."  Lefcourt said he wouldn't be as confident in Verical's tooling if they were combining proprietary technologies that weren't made to interoperate with anything made by another vendor.

Using only open source, Lefcourt believes that Verical has built one of the best B2B websites in terms of performance and usability.