At the beginning of this year the Cloud-Native Applications Seed Project (short: CNA Seed Project) was launched as described in this blog-post.
The goal of the CNA Seed Project is to gain experience in what it takes to migrate an application into the cloud. So at the heart of this project lies the application that will be migrated.
We set ourselves the following parameters in chosing a suitable application:
- Must be open source
- Should be a business application
- Should be a common used type of application
There were a lot of different types of business application types to choose from:
- Customer Relation Management (CRM)
- Enterprise Resource Planning (ERP)
- Document Management Systems (DMS)
- Ticketing Systems
- Content Management Software (CMS)
In the end we mainly focused on CRM applications because they are a common type of business application, is not too complex and a lot of open source solutions are available.
Sugar CRM is a very popular open source CRM-Software and many other CRM- Applications are built on top of it. Sugar CRM offers two different versions of its application. Only the community edition is open source but it won’t be developed further.
Developing on top of dead code does not make sense for us so this choice was abandoned.
Programming language: PHP
SuiteCRM one of the most popular open source CRM-Software according to some reviews [1, 2, 3]. SuiteCRM is a fork of SugarCRM. It has a large featureset and is therefore quite complex. Developer resources are available but most of them just explain how to write extensions of SuiteCRM. More general information about the application can be found in the SugarCRM documentation but it is not clear how much of it has changed after the fork.
Programming Language: PHP
Frameworks/Tools: Yii, RedBeanPHP (ORM), JQuery, Memcached (Optional)
Zurmo is a relatively new application and has a modern user interface. Special about zurmo is that it is gamified which means users are rewarded with game elements while using the application. The featureset covers the basic functions of a CRM so the application is not that complex. The reviews that can be found in the internet are particularly positive.
The code quality of zurmo seems to be high because it is developed test driven. Documentation and tutorials as well as the class reference and installation guides can be found on their website.
Programming Language: Java
OpenCRX is a Java web application with a very large featureset. It’s very well documented but the project is really big as it has more than a million lines of code.
Fat Free CRM
Programming Language: Ruby
Framework Rails (RoR)
Fat Free CRM is a Ruby on Rails application with a small featureset and seems not to be too complicated. But it’s very hard to find reviews or meanings to this application so it is not very popular.
Applications of other type have also been found but were not analyzed further.
DMS: OpenKM, Kimios, Seeddms
We chose Zurmo because it seems to have a good codebase, provides developer resources and does not seem too complex. It has the basic features of a CRM and looks modern and interesting.
Zurmo is a PHP-Application like most open source CRM applications we have seen. It uses popular frameworks and is developed with unit tests and functional tests with selenium.