The back office for any company requires many different layers of software. Essentials like e-mail and a basic Web site are relatively simple commodities to run. The hardest job is delivering the kind of software that acts as the spinal cord for the business, that cares for all of the most essential details, big and small, that keep the customers paying the invoices and ensure the bank accounts hold enough money to make the payroll.
These systems go by names like customer relationship management (CRM) and enterprise resource planning (ERP), but they're really just a carefully crafted collection of database tables with a set of routines that keep the employees from messing up the information. They are usually so essential to a business that the database administrators can puff up their chests and make credible statements like, "Our company is really just a big database with a sales force and a warehouse that do its bidding." They're not far from the truth.
[ See the best that open source has to offer -- in collaboration, developer tools, enterprise applications, networking, platforms and middleware, productivity applications, security, and storage -- in InfoWorld's Bossies 2008. ]
Over the last decade, a number of open source solutions appeared that make it simpler for a company to digitize all of its operations by just downloading some code, firing up the compiler, and hooking up a database. These open source competitors began as very low-cost competitors to the giant enterprise packages from the likes of Oracle, SAP, and others.
Loss leadersThe space is now much more mature than a few programmers trading code. Companies like Openbravo, SugarCRM, and Compiere are billing themselves as professional open source companies that deliver at least two grades of products: a community edition and a professional one with support and often additional features. They are also starting to offer SaaS editions, hosting the entire stack for you in what may or may not be a "cloud" of servers.
These choices offer a fascinating glimpse of how open source development is adapting to commercialization, at least when it involves projects that are mirrored in some way by proprietary tools. You can pay nothing and enjoy many of the features of the open source version or you can become a paying client and receive better features and more hand-holding.
This isn't an easy decision because the companies have become very adept at figuring out what the world needs and what it is willing to pay for. After all, if they can't figure this out, they'll go out of business and set the open source version adrift. And such a market failure wouldn't be as catastrophic as it can be with a proprietary company because the open source code is still out there and you're still welcome to maintain it with your own budget. The companies like to brag that they don't lock you in.
The so-called community versions also serve as advertising. The companies want you to adopt them easily because a happy user is much more likely to upgrade to a professional version later. But they've also arranged things so that it's easy to outgrow the basic systems. Some may see this as a cynical ploy, but I've come to view these trial mechanisms as one of the gentlest and kindest forms of marketing around. It may not be as much fun as getting the sales rep to take you on a boondoggle to Las Vegas, but it's much better than sitting through PowerPoint slides filled with buzzwords and promises. Negotiating the decision between an open source or the professional version is full of nuances and choices, but everything is out in the open.
[ Jitterbit offers an easy GUI for data migration projects, but Talend Open Studio is tops for enterprise data integration. See the Test Center review, "Open source data aces." ]
For this piece, we concentrated on SugarCRM, Openbravo, and Compiere, although many similar tools might do the job. For instance, many e-commerce front ends offer so many features that they might be considered ERP platforms themselves. Companies like Magento are offering e-commerce solutions that provide nice storefronts with many back-office tools.
The stores tools are also appearing in unexpected places. Projects like Drupal and Joomla are supposed to be CMSes, but programmers are building shopping carts and other tools that are turning them into storefronts that offer enough features to be ERPs for small businesses.
Other acronyms are also growing into the ERP space. Business intelligence (BI), the newest buzzword for the reporting tools, is sophisticated enough to handle many of the ERP and CRM chores. Jasper and Pentaho are much more than just tools for dumping SQL queries into nice-looking tables. It doesn't take long to build your own CRM or ERP solutions from tools like this.
Business process management (BPM or BPMS), the art of turning flowcharts for how the employees interact into software that keeps everything running smoothly, might also be a good fit for some CRM or ERP instances. Intalio pulls together a BPM solution from open source parts.
But SugarCRM, Openbravo, and Compiere tackle the essential CRM and ERP functions head-on. Taking a close look at these three offerings gave us a chance to see how easy it is to build up a functioning back end and to understand just what the term "open source" means to someone with a boss who just wants the warehouse to talk with the sales force. All of the philosophical debates aren't as important when the database connection is being overwhelmed just before the Christmas rush.
SugarCRM: More power through plug-insThe SugarCRM application began in 2004 as a simple way to manage a business's data about customers and quickly found venture capital backing after becoming one of the most popular projects on SourceForge. The current version, 5.2, now organizes the interaction between a sales force and the customers who want to purchase things. It stores leads, manages sales campaigns, organizes accounts, and produces reports and graphs to track all of this activity.
The architecture doesn't hide much of the table structure. There are tabs for the major entries like contacts, leads, and accounts, and each tab has similar buttons for creating new entries or searching the old ones. There are a few wizards in some of the areas that need more hand-holding. One for generating e-mail campaigns, for instance, checks a number of configuration options to make sure the messages go out correctly. I wouldn't be surprised if the tool is most heavily used to send marketing messages.
The software is written in PHP and tuned to MySQL, although it can be adapted to work with other databases, including Oracle. The community edition comes with all of the basic features for filling out the tables with names of people and the meetings between them. The dashboard keeps a constant tally of the new leads and what happens to them. The system has always had a sophisticated plug-in structure, and there's one site, the SugarExchange, devoted to cataloging these open source and professional plug-ins.
One random estimate cited in Wikipedia says that the community edition includes 85 percent of the features of the professional versions, a fact that's probably based upon the number of tables in the database, not on the coolness of the features. The professional and enterprise editions come with some of the fancier enhancements, like more sophisticated reports, a customer portal, and mobile access. Most of the sophisticated plug-ins come at a price.
It's easy to get the impression that the community edition is being eclipsed by the professional version, especially because most of the marketing copy on the front page of the SugarCRM site is aimed at getting people to try and then buy one of the professional versions. And if you're already running the community edition, SugarCRM is ready to make it simple for you to upgrade to the proprietary ones. But there are substantial resources devoted to the community edition, including a number of forums and SugarForge, the repository for the main project and many plug-ins.
I think SugarCRM is doing a good job of supporting both the open source community and the substantially larger set of businesses that just need something with a few more guarantees. The forums are actively monitored by paid, official helping hands, but most of the discussions are focused on the trials and tribulations of installing the community edition in different environments. There's an active community of non-employees that maintains the simpler versions for businesses, and many are digging into the code to move around buttons, change URLs, share a log-in with another package like Moodle, or even modify the database tables.
The vitality of this world seems to bleed over into the professional editions. SugarCRM seems to have more newer features, like integration with third-party databases and social networks, than either Openbravo or Compiere, if only because there are so many projects in various stages of completion. The experimentation from the open source community fertilizes all of this creativity.
The module builder for SugarCRM lets you create new data tables and then build the panels for editing and displaying the tables with drag-and-drop tools in your browser.
At the same time, the company is clearly looking to help whenever it can for a fee. It just introduced Sugar Express, a product that matches hosting with the community edition. It's $499 for a year's subscription for up to 5 users and $799 for a year's subscription for up to 10 users. The prices rise if you go for the features in the professional version. The first tier is $30 per seat per month, and the full "enterprise" tier is $50 per seat per month.
The extra reports and widgets aren't the only elements available for sale. SugarCRM will also bundle hosting into the services on either shared or dedicated machines, a set of features that seems to be rapidly evolving. Two of the products (Sugar Express and Sugar Professional) come with hosting, but you can always move the installations to your own servers.
[ JasperServer Professional and Pentaho Reporting build on famous Java open source libraries for generating reports, but they’re no longer for developers only. See the Test Center review, "Open source reporting goes corporate." ]
SugarCRM is rapidly exploring the tools for managing these deployments. Its latest tool, called Cloud Console, is beginning to help businesses knit together a variety of Sugar installations that span a big company. The versions don't need to be exactly the same, and the different divisions can have their own templates and features.
It's hard to summarize all of the extra features that are appearing thanks both to SugarCRM and the community of commercial partners. The FastStack makes it simple to install every part quickly. I enjoyed fiddling with the module builder, a feature that lets you drag and drop the fields for the tables. Developing custom features doesn't require much programming at all. All you do is choose the names for the fields, and the rest of the forms and the tables follow.
More sophisticated solutions require digging into the PHP, something that is well supported. SugarForge holds hundreds of interesting plug-ins written to add features and integrate Sugar with many other open source and proprietary packages.
This is usually pretty straightforward. You write PHP code that can add extra features to the menus or the different pages. The core of the iNetGoogleMap plug-in, for instance, is built from about 100 lines of code that repack the data from the internal Sugar format into a URL for a Google Map. This core comes with a dozen or more other files that help integrate it with the system and localize it for any other languages. The mechanism for adding a plug-in is well developed and offers broad access to the underlying system.
There are a fair number of plug-ins devoted to adding ERP functions to Sugar. It's not hard to do an adequate job with this if your business is simple and the product line is small. There are plug-ins for adding inventory management, credit card processing, and pretty much everything you need to spin up your own ERP.
Some of these plug-ins are open source, although this can be a marketing tool. PlanetAuthorize.Net's plug-ins, for instance, offer real-time credit card processing with GPLed code. They make their money on the credit card fees. Others offer proprietary services.
I think SugarForge does a remarkably good job of merging the best of open source with the best of proprietary development. The access to the source code means that you can modify any part of the code you run, even if most of the modification will be handled through the plug-in mechanism. At the same time, the extra features from the proprietary version are a good enough deal that many serious firms with solid margins are going to want to buy them -- a purchase that doesn't prevent them from modifying and extending the code.
Openbravo ERP: Templating to tables and formsMany businesses want to automate more than just their sales force and customer service. Openbravo includes some rudimentary CRM capabilities and a big collection of routines for tracking goods through the warehouse to delivery -- a set of features that gives Openbravo claim to the acronym ERP. It's probably fair to say that it offers CRM too, although only the most basic kind.
This story, "Bending the back office: Open source CRM and ERP" was originally published by InfoWorld .