Swimming Upstream With Salmon

software open source

As you loyal readers will recall, I have just returned from traveling halfway around the world to see technology, and yet, ironically, this company is located less than 10 miles from my home, occupying a nondescript office off a leafy suburban street. The company is called Salmon LLC (www.salmonllc.com), and it builds applications for hire for many large customers, including insurance companies and consumer products companies. The stuff it builds isn't going to make headlines: customization and portal applications, sales and compensation apps, inventory management. But the way it conducts business is very exciting.

At the heart of Salmon is its own Java-based development environment called the Salmon Open Framework for Internet Applications (Sofia). What makes Salmon intriguing is that all the contract apps are built using Sofia, and that tool is given freely away via an open source license. What makes things even more interesting is that because Sofia is open source with tens of thousands of downloads, there is a community of developers that are using it and extending it, feeding those extensions back to Salmon HQ on that leafy little street on Long Island from all over the world.

"We have the biggest quality assurance department in the world," says Ken Hoffman, VP of sales for the company. What is more, Salmon puts it to work. "Someone sent in a module to do internationalization, and we took that code, put it up on our Web site, and then bid on a job where we ended up using it," he said. That is making money on the back of open source and being proud of it too -- and there is nothing wrong with that.

What I like about the Salmon guys is how they have turned themselves from selling tools to selling apps using their tools, and in the process making a better toolset, making a better company and growing their business. The company is now 30 people strong, and next month it will move into the top floor of an office building a few miles away on a commercial strip.

id
unit-1659132512259
type
Sponsored post

"You can't really write reusable code without having the experience of actually reusing it yourself," says managing director Nick Rosser. "Otherwise, you end up building new apps for every client, and our costs would go through the roof." One of the things Salmon has to be good at doing is being able to estimate and understand the business requirements of their potential customers, and then delivering their code at a fixed price and on a timely schedule. "Sometimes, we'll put together a short engagement to understand the requirements and make sure we and the client are comfortable with proceeding," he says.

Sofia is all about living in the open source world, using Java code and empowering developers to choose the best collection of tools. The integrated development environment is IBM's Eclipse, and the tool works with a wide collection of database and application and Web servers, including the usual suspects (SQL Server, Apache, MySQL, Tomcat, DB2, Sybase, WebLogic). "We have a very complex installer," says Rosser. "It detects what you have already installed in terms of servers and then sets up the hooks into these products."

What I like about Salmon isn't all that fishy -- it is that it's "a consulting firm that uses a product to generate more consulting revenue" as Hoffman said. Yet its product is out there in the open, and free for the asking. If you want to take a look at what the tool can do, go to the fujifilm.com Web site, which is written completely in Sofia (along with the Fatwire content management engine, a product from another small Long Island company). And think about how practicing what you preach can pay off.