Colin Charles is a Community Engineer at MySQL AB. He lives in Melbourne, Australia and has been with MySQL since 2005. Before joining MySQL, he worked actively on the Fedora and OpenOffice.org projects. He currently spends a lot of his time making community-based projects happy using the MySQL database.
opentaps is a high-quality Enterprise Resource Planning (ERP) solution with Tier 1 functionality and scalability. In its former incarnation, it used to be known as Sequoia ERP.
opentaps is also open source licensed, meaning its free (as in freedom) and rather flexible. For a package that embraces the Service Oriented Architecture (SOA) fully, it is more than just buzzword compliant.
I recently got to speak with Si Chen, a core developer for the opentaps project, and also the owner of a company offering solutions to companies that require ERP. We conducted this via email, as well as a face-to-face meet at the MySQL User Conference 2006.
Colin: Please tell us a bit more about yourself and your background in computing.
Si Chen: I got my first programming "job" when I was about fourteen. My parents were in graduate school, and they had a programming job at the university. Since they were already pretty busy studying and raising me, they "outsourced" the programming to me. So I ended up writing a student registration management system for the university on an IBM mainframe using COBOL, Mark IV, and JCL.
Not ever wanting to do that again, I went to the Wharton School, got a degree in Finance, and went on to work as a fund manager on Wall Street. I managed investment portfolios for pensions, central banks, and hedge funds. As part of my job, I also oversaw the development of large systems for investment analysis and risk management. Later, I got involved with software development, open source, and opentaps through an online retailer I helped start.
Colin: How would you briefly describe opentaps from your perspective to new users? Why should they consider it?
Si Chen: "opentaps" is an acronym for "open source enterprise applications suite." It was originally called "Sequoia ERP," but I wanted a more memorable and interesting name like "MySQL" or "PHP." One night I just came up with "opentaps," and I thought it was kind of cool to have a name that could have several pronunciations, like "op:ent:aps" or "open:taps." (It comes with having a first name like "Si," I suppose.) Then everybody who saw it said "What a great name! opentaps stands for 'Free as in Free Beer,' doesn't it?" Well, not quite, but since we're an open source project, we should listen to our users, so I guess it's usually pronounced "open:taps."
The goal of opentaps is to deliver a high-quality Enterprise Resource Planning (ERP) solution with Tier 1 functionality and scalability, plus unmatched flexibility. Like any ERP solution, we offer enterprises a full 360-degree view of all the operations and processes taking place, so managers can see everything that is happening in the company, from customers and orders to inventory and financial results, and how they affect each other. We do this by building an integrated data model which can track activities through the enterprise and an application architecture that allows different modules to communicate with each other.
The chief advantages of opentaps versus commercial ERP solutions are cost, freedom, and flexibility, or what I'd like to call the "Free, Free, and Flexible" proposition. The first big advantage is cost. Not only is opentaps open source and therefore free of licensing costs, but it can also be developed on any operating system and with any database, including open source databases such as MySQL. As a result, you can save all your licensing costs and minimize your ongoing operating costs.
The second big advantage is freedom from vendor lock-in. Because you have the source code and can modify it, you no longer have to worry about a commercial vendor charging your arbitrary amounts for modification and support or withdrawing support altogether. You are in control. You can always support it yourself or rely on many vendors in the community to help you.
The third, and in my opinion most important, advantage is flexibility. Unfortunately most users don't understand just how important flexibility really is. They buy ERP software the way families buy refrigerators: they come up with a list of features, compare prices, and check the warranty. Well, ERP software is not a refrigerator. Your family will probably never want to make toast or surf the web with your refrigerator, but your business and industry can be expected to undergo major change during the ten plus years you may be using your ERP software. Whether you end up staying ahead of the curve or struggling to keep up with the pack would depend very much on how flexible your software is.
opentaps is probably one of the most flexible ERP packages out there, open source or commercial. Free access to the source code already gives users a lot of flexibility to customize it anyway they'd like. But even more importantly, the underlying architecture is built for flexibility. It's an extremely modular application where you can just drop in new components at any time. I believe it's also the first open source ERP project to embrace the Service-Oriented Architecture ("SOA") wholeheartedly. SOA is a fundamental shift in how ERP applications are built: business logic is broken out into discrete units called "services," made openly available, and then reused in infinitely flexible ways. This architecture gives us much greater flexibility compared to older applications.
Colin: When did you start working on opentaps? What was your motivation?
Si Chen: Again, a somewhat unusual story: we were really a user which over time became a developer and sponsor of an open source project.
After I left my career as a fund manager, I helped start an online retailer called "Gracious Style" and got involved with software again. As a little startup with no money, we naturally went the open source route, and we initially built our own systems in-house with Perl, PHP, and MySQL. As we grew though, we realized that these homegrown solutions could never keep up, and we needed an enterprise solution.
That was in 2003, and I found out about a project called "Open For Business" by coincidence. I really liked its philosophy of building large scale business applications using an integrated data model, open architecture, and open source communities. So I began to experiment with it. It took a while because I didn't actually know Java when I first started working with it, but eventually I became one of the core developers for the project.
"opentaps" came along in 2005 as our effort to promote Open For Business further. Our original goal was to take stable releases of Open For Business that we were using to upgrade our own deployment and make them publicly available to other users in the community, so we can all share common release points and upgrade cycles.
Another part of our effort was to develop two key modules which would be needed for an open source ERP product: accounting and CRM. These modules were developed by our company and will be part of future opentaps releases.
So at this point, opentaps is a combination of two things: a stable release version of the Open For Business project plus additional modules developed by Open Source Strategies and released under the dual license model (GPL and commercial). Open For Business already includes very strong e-commerce, Point Of Sales, manufacturing, warehouse, and order management capabilities. The added Financial and CRM modules developed by Open Source Strategies would round it out and make it a fully-featured open source ERP solution.
Colin: How many people are currently actively involved in maintaining opentaps?
Si Chen: opentaps is a product of Open Source Strategies, Inc. and is developed by our company. Open For Business is a larger community project and has a couple of dozen different contributors. The core developers ourselves, Sastau SRL in Italy, ANT Websystems in Thailand, Automation Groups, and Undersun Consulting, who originally started the project .
Colin: Could you give us a rough estimate on how many opentaps users are out there?
Si Chen: I actually don't know how many people are using it. The most popular deployment platform is on Linux. We have worked with several deployments using MySQL and we have also heard of other larger deployments with MySQL. With the new support for enterprise features like transactions and referential integrity in MySQL 5, I think there would be a lot more deployments using MySQL in the future.
Colin: Is there anything about MySQL you would like to comment on?
Si Chen: Well, you've already done a lot! The new MySQL 5.x does an excellent job of providing enterprise features, and an ERP system like ours depend greatly on it.. It was also very easy to setup and deploy.
Colin: Maybe anything we can improve on (in the future)?
Si Chen: Looking into the future, there are two areas that I'd like to ask from MySQL. The first is a scheme similar to "virtualization", where our ERP application can access a whole cluster of databases as if it were a single instance. These databases would automatically replicate each other, distribute the work load, and provide redundancy should one go down. I think this kind of high availability and scalability would be very important for larger enterprises.
The second thing I see is a shift away from purely relational applications towards applications that help users make meaningful sense about their business data, whatever form they may be in. To make this transition, I'd like to see us both think of our projects not as just "ERP" or "database"”" solutions but rather as "enterprise information" solutions.
For example, in our CRM application today, you would write an email to a client and then select a sales opportunity from a lookup menu to associate with the email. Only then would the application be able to group your email with a specific opportunity or case. The CRM application of the future, though, would work very differently: you would write and send your email with a desktop client, and the application would listen in the background and categorize it based on its content. When you later lookup a sales opportunity, you would see a list of emails ranked by how relevant they are rather than their fixed relationships to the sales opportunity.
I'm not sure yet what technology today would allow us to do this, as it seems that the way data is stored, organized, and retrieved would require some fundamental innovation. I do believe, however, that open source is fundamentally innovative, and I hope that we would be able to lead that innovation together.
Colin: It looks like what you're looking for is MySQL Cluster. Do give it a twirl. Before we end the interview, do you have any interest in other FOSS projects?
Si Chen: I would really like to have good reporting tools in our application, so users can make sense of their data and make intelligent decisions about their business with them. Ideally, I'd like to find an easy-to-use open source reporting tool which allows users to design reports on their desktop with graphical tools. Then, once they're finished designing those reports, they should be able to upload those reports into our system and run their reports on real data using an integrated version of the same reporting tool.
In essence, we've spent some time looking at BIRT, and we plan to spend some time looking at Pentaho as well. So far both sound very promising, and our experience with BIRT was quite good. If anyone has further thoughts, please let us know.
This interview was published in September, 2006.