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.