Version 2.0.2 announcement
We are currently working on the next Release 2.0.2 of the Imixs JEE Workflow Engine. The new release will support JEE6 and Glassfish 3. It includes also extended Rest Service API and some additional bug fixes. See the Issue tracker for more details or check out the current Snapshot Sources.
Posted at 07:07PM Feb 08, 2010
Posted by: Ralph
Category: General
Glassfish & OpenID - JSR-196 with OpenID4Java
Imixs supports now a new Login Module which enables JEE Web Applications to authenticate against OpenID Providers.
You can test a Imixs Workflow Application using your own Google Account or any other OpenID Account on the ShareYourWork Online Workflow Plattform.
Read details about this Authentication Module for Glassfish here.
Posted at 07:30PM Jan 29, 2010
Posted by: Ralph
Category: General
Comparsion of JBPM and Imixs Workflow
If you take a closer look at the Imixs Workflow Project you may ask yourself where the project is different to other Workflow Engines like JBoss JBPM. So I will try to do a short comparison of JBPM and Imixs Workflow. This comparison is not in technical detail but it should give an overview about the goals the two open source projects. First I want to point out that the Imixs Workflow and JBPM are not rivals in the BPM market. Both projects are open source and both try to find solutions for similar but not equal problems in business process management.
In general JBPM and Imixs Workflow follow different goals in the area of
business process management. Where JBPM is more focusing on the
technical aspects of a workflow, the Imixs Workflow try to support the
users needs during a business process. JBPM gives you - as a developer
- the possibility to control the flow (workflow) in a business process.
You can provide the engine with implementations which takes care about
the current state of a process instance and you can implement event
handlers to control the transition from one state to another.
The Imixs Workflow tries to provide the end-user with informations
about the running tasks and the engine take care about typical
functionality of a human based worklfow management system.
So lets begin with the Imixs Modeler. With this technical modeling tool
you describe a business process mostly started by a user. In each
transition (WorklfowActivity) you describe what should happen with the
process instance. Therefore the Imixs Modeler provides a set of
WorklowPlugins which implement typical workflow functions like:
- Email notification (e.g. when a new task was started)
- Process documentation (what happens during a workflow of a process instance)
- Access Control (who should be able access or modify a process instance)
- Creation of Versions of a process instance
- ...and so on..
The Imixs Worklfow Plugins are comparable to JBPM ActionHandlers. But
the goal of the Imixs Workflow project is to provide precise
implementations of these functions.
So for example you can use the Imixs Modeler to configure a email
notification

The org.imixs.workflow.jee.plugins.MailPlugin will then read this
configuration during a process step and will perform sending a SMTP
Mail Message.
Or another example is the workflow History. This allows you to describe
what happens to a process during the editing by the users. This
workflow history can be displayed by an application to document the process flow.

As you can see these are less technical aspects and there is one of the differents to JBPM which is more answering the question how technical modules play together during a workflow transition. The Imixs Workflow is more focusing on human need during a business process.
But one of the most important features of the Imixs Workflow is the
access control of a process instance. You can define in each transition
who can read or modify the process instance (workitem).

These settings will be processed by the
org.imixs.workflow.plugins.AccessPlugin and mapped to the data
management used by the workflow application.
An typical scenario for this feature is a publishing process fully
controlled by the workflow engine. Imagine you have a document which is
edited by a team of web-authors. This document has a read and write
restriction so only the editor-team is able to read or modify the
document. When the document goes through a publishing process a
chief-editor can publish the document to the internet. Now the workflow
engine release the read restriction and restrict the write access to a
chief-editor team. So as a result now this document is readable by
anonymous web users but only editable by the chief-editor. The hole
functionality is completely controlled by the workflow engine and the
model description. There is no need to implement this behavior inside
the application.
So you can see the Imixs Workflow is more focusing what an actor in a
business process can do with a document or what should happen with a
document.
To get all this functionality into your application you need an
implementation of an Imixs Workflow Management System. I am talking
about Workflow Management System and not about Workflow Engine. This is
because the Engine is only responsible for the flow of a workitem and
not for the access and representation from a end-user-view.
As you can see on our project site the Imixs project consists of
different parts and libraries. There is the Imixs API which is a basic
Workflow Framework implemented in Java, the Imixs XML library which is
providing xml client functions for WebServices or Rest Services. And
the Eclipse based modeler to describe the technical model details like
email messages or the versioning of a document.
All parts are highly extensible. Also the Imixs Modeler allows to
implement an application specific plugin and control elements.
But if you want start with the Imixs Workflow "out of the Box" the
Imxis JEE Workflow is the most interesting part of the project. This is
a full featured workflow management system based on the JEE5 spec. This
implementation allows you to control any business process in any kind
of JEE/Java application. You can check out the
"imixs-workflow-jsf-sample" which is a workflow demo application and
also a good starting point to begin an individual workflow app.
There is a tutorial available which explains how all parts of the JEE
Implementation fit together.
http://workflow.imixs.org/roller/imixsworkflow/entry/building_a_imixs_workflow_webapp
As I explained at the beginning I don't want to go in technical details but give an overview what the Imixs Workflow is in different to JBPM. If you have any comments please let me know.
Posted at 07:08PM Dec 08, 2009
Posted by: Ralph
Category: General
Imixs Workflow JEE Lib 2.0.1 released
Today the new version 2.0.1 of the Imixs Worklfow JEE Library was finally released.
Read more about the Imixs Workflow API on the www.imixs.org Project Site.
We are starting now immediate the 2.0.2-SNAPSHOT release. One goal of this new release is support for Hibernate and JBoss APP Server.
Posted at 10:49PM Dec 01, 2009
Posted by: Ralph
Category: General
Imixs Workflow API 2.0.1 released
Today the new version 2.0.1 of the Imixs Worklfow API was finally released.
Read more about the Imixs Workflow API on the www.imixs.org Project Site.
Posted at 01:36PM Nov 28, 2009
Posted by: Ralph
Category: General
Imixs Modeler version 2.3.1 released!
The latest version 2.3.1 of the Eclipse based Imixs Workflow Modeler is now released.
The new version includes different bug fixes and improvements in usability like the "new Report Wizard" and a new design of the modeler perspective.

The new release includes also additional updates:
- Imixs Workflow Modeler - 2.3.1.v200911181830
- Imixs Workflow Modeler Integration Plug-in - 2.2.7.v200911181830
- Imixs Workflow Report Plug-in - 1.0.1.v200911181830
Read more: http://doc.imixs.org/modeler/
Posted at 02:15PM Nov 19, 2009
Posted by: Ralph
Category: General
Building a Imixs Workflow Webapp - Part III.
In the first part of my tutorial I explained how to define a business model using the Imixs Workflow Modeler. The second part describes how to setup the JEE Application server. Now its time to complete the tutorial and build the workflow application!
As you have seen I spent much time in explaining the modeling process and the server configuration. The reason is that the development of the JEE Workflow application is really easy and did not take much time. I will use the Maven build and configuration tool. The Imixs Workflow project is maven based and all components are available as maven artifacts. This makes it mostly easy to setup a application in a short time. It is necessary that you are familiar with java and as the application will be a web application you should also be familiar with html, css and JSF. But you did not need to be a JEE expert! You can use the Imixs JEE Workflow as components of your application. And you did not need to modify these components as they fulfill all the requirements to a scalable and robust workflow management system.
Building a new Application from a Maven archetype
When using Maven it is mostly easy to setup a new Imixs workflow project as this project provides a Maven archetype. A Maven archetype is kind of template or scaffold to build an new project. General informations about using maven in conjunction with imixs workflow can be found here .
Next I will explain how you can setup a new workflow project with Eclipse and Maven
This tutorial assumes that you are working with Eclipse IDE and you have installed the Eclipse Maven2 Plugin. You can also setup a new project using the maven standard command line tool with any other IDE. The usage of the maven command line tool will be explained on the Imixs JSF Tools Project site. Additional Informations about using Imixs Workfow with Maven can be found here.
Adding the java.net Repository Index
The Imxis Workflow Project is hosted on java.net . So first you should make sure that the java.net Maven repository is listed in your Eclipse Repository View. You can check the configured Maven repositories when you open the Eclipse view "Maven Indexes"

If the java.net Maven repository is not listed there you can add a new maven repository.
Click "Add Index" to add the java.net Maven repository 'http://download.java.net/maven/2/'

It can take some time until the nexus indexer have updated the repository index.
Create a new Project
Now you can create a new Project from the Imixs archetype.
Click "File->New->Project" and select the Maven Project Wizard

Next page in the wizard click next to choose an Maven Archetype from one of the repositories:

The Nexus Catalog provides you with all Archetypes provided from the Maven repository locations. To find the Imixs JSF Sample Archetype enter "org.imixs" in the filter input filed:

select the imixs-workflow-jsf-sample-archetype and klick next.
On the following wizard page you can specify the Group and Artifact ID of your new project and also configure additional project settings. I use "com.mycompany" as a Group Id and "MyWorkflowApp" as the artifact Id.

The Imixs JSF Sample Archetype provides three property values which allows you to configure your project setup. These settings are used to configure the security realm and the database connector which I have configured in Part II. of this tutorial. It is possible to change these settings afterwards but you are much faster if you specify this right properties during the creation process.
Complete the project setup
After all settings are completed click finish to create and setup the new JSF Workflow project. Maven will create a new Multi-Module Project containing all necessary parts of a JEE Application!
Unfortunately there is a bug in the Eclipse Maven plugin that
prevents file filtering and so the project folders of the EJB, Web and
EAR Moduls stay called e.g. _rootArtifactId_-web. (See
MNGECLIPSE-1054). In the 1.0.0 relase of the Eclipse Maven Plugin this bug will be fixed. But I will show which steps are necessary to fix the wrong project paths.
After you have create your workflow application you will see the following eclipse project structure.
Looks good but when you open the parent node "MyWorkflowApp" you will see that the subfolders are not correct named.
"__rootArtifactId__" should be replaced in "MyWorkflowApp". But this is currently not done by the Maven Plugin.
So you need to replace the folders manually in "MyWorkflowApp-ear", "MyWorkflowApp-ejb" and "MyWorkflowApp-web"
After that you have to fixup the pom.xml file in the parent project. Open the pom.xml and remove the old named modules listed there with the "__rootArtifactId__" präfix:
So thats it. Now you can build your workflow application. Run the maven context command "run as -> maven install"
You will the the BUILD SUCCESSFUL message in the console output.
To test this application you can deploy your application in your glassfish server by the application. You can find the new Build in your Eclipse Workspace in "MyWorkflowApp/MyWorkflowApp-ear/target/MyWorkflowApp-ear-0.0.1-SNPSHOT.ear" and also in your local maven repository (~/.m2/)
After you have deployed your application you can synchronize your workflow model created in part I. of this tutorial.
Use the SyncType "Web Servcie (Multipass)"
Make sure that the WebService enpoint is entered correctly. (You can test the WorkflowModel webserice from the glassfish console)
Congratulations you are finished! Now you are ready to run your Imixs web workflow application!
http://localhost:8080/myexample/pages/workflow/workitem.jsf

Posted at 09:39PM Nov 05, 2009
Posted by: Ralph
Category: General
Java.net has approved and published the Imixs Workflow Project
Java.net has finally approved and published the Open Source Project Imixs Workflow.
The project started in the incubator of dev.java.net before three years and evolved its status now into the main projects listed on dev.java.net in the Java Enterprise community.
Project Directory Listing URL: Imixs Workflow
Project Space URL: http://imixs-workflow.dev.java.net
Posted at 05:00PM Sep 27, 2009
Posted by: Ralph
Category: General
Building a Imixs Workflow Webapp - Part II.
In the first part of my tutorial I explained how you define a business model using the Imixs Workflow Modeler. This part concerns about the setup of your application server on which you can run the workflow application later. I will describe the setup of Suns Application Server Glassfish which is common running a JEE application. But you can also use a different JEE application server.
From the point of view of a workflow management system (WfMS) the application server is responsible for two important things: the authentication of a user and for saving workitems (a running process instance) into a database. As the Imixs JEE Workflow components are based on the JEE5 specification this can be configured outside of our application using the application servers admin console. Next I will describe the two configuration steps.
Setup a Security Realm
To authenticate and authorize users to work with the Workflow application it is necessary to define a Security configuration. This is also called a Security realm. You can use and configure any authentication framework supported by your application server environment. But for testing I use a simple file based security Realm. Follow the steps below to setup a new security realm named "imixsrealm" in your glassfish server:
- start admin console -> http://localhost:4848/asadmin
- navigate to Configuration->Security->realms
- add a new file realm named "imixsrealm"
- choose the class Name "com.sun.enterprese.security.auth.realm.file.FileRealm"
- Set the JAAS Context to "fileRealm"
- Set the Key File to a new File name. e.g. "imixskeyfile"
- press OK to create the new realm.
The name "imixsrealm" will be used by my workflow application to select the security configuration.
One part of the security realm is to authenticate a user who tries to access my application. The other part is to authorize a user and grant access to the workflow application. Therefor each user account needs to be owner of one of the Imixs security Roles defined by the Imixs JEE Workflow System. The security roles are mapped by a application to different access groups. So you need now to define different users assigned to different groups used by your application.
To add or mange a user open the new realm configuration and click on button "manage users"
I add the following test accounts and groups:
| UserID | Group | Description |
| Manfred | IMIXS-WORKFLOW-Manager | This user will have maximum access |
| Eddy | IMIXS-WORKFLOW-Editor | This user can edit allworkitems |
| Anna | IMIXS-WORKFLOW-Author | This user will be allowed to create workitems and edit his own |
| Ronny | IMIXS-WORKFLOW-Reader | This user will be only allowd to read workitems |

Setup a Database connection
The next step is to setup a Database connection which can be used by your workflow application to store the workitems created and modified by users into a database. Again - as the Imixs JEE Workflow depends on the JEE5 specification the application is independent form a specific database vendor. I mostly like the MySQL Database, but you can use any other database system. The JEE database connection is based on the JDBC standard and each connection defined by a server will be named unique by the JNDI Name. In my case my application expects a JDBC ressource with the name "jdbc/workflow-db".
To setup a new Database connection for MySQL in the glassfish server console follow these steps.
- start admin console -> http://localhost:4848/asadmin
- navigate to Application Server > Resources > JDBC > Connection Pools
- click "new" to create a new database source
- name: your database name (e.g. "workflowdb")
- resource type : javax.sql.DataSource
- Database Vendor : MySQL - click "next". Now you can configure necessary properties depending on your database setting:
- DatabaseName: "workflowdb"
- URL: "jdbc:mysql://localhost:3306/workflowdb"
- Password: "*****"
- User: "root" - click "finish" to create the new connection. You can test the connection using the "ping" button in the configuration page. (Note: it is necessary that if you use MySQL place the MySQL jdbc driver (mysql-connector-java-5.1.7-bin.jar) into the folder : [glassfish-install]/domains/domain1/lib/ext/ )
Now create a new JDBC Resource with the Name "jdbc/workflow-db"
- Navigate to "Application Server > Resources > JDBC > JDBC Resources"
- click "new" to create a new resource
- jndiName: jdbc/workflow-db
- PoolName: workflowdb (this is the name of the database connection created before)
Now that we have setup our application server I am ready to build and deploy my workflow application.
Posted at 02:06PM Sep 08, 2009
Posted by: Ralph
Category: General
Building a Imixs Workflow Webapp - Part I
This Tutorial shows how to build a web based workflow application using the Imixs open source workflow framework. As the Imixs workflow project gives you a powerful technology building a business process management system (BPMS) it is mostly easy to setup a new web application without spending to much time into development. Its time to focus on the business process and your customers needs!
The Imixs Workflow Project is open source and so the project gives you the possibility to customize your workflow management system as you would mind. There is a lot of additional documentation about the different technologies and also a discussion forum where you can ask any question. So don't worry about your plans to develop a strong, scalable and robust workflow management system (WFMS) with Imixs Workflow.
The Tutorial consist of three parts.
- Part I. - shows the creation of a workflow model. The workflow model is the blueprint where you describe how your business process should work. You can use the Eclipse based graphical Imixs Workflow modeler to develop a Imixs Workflow model.
- Part II. - concerns about the setup of your application server which is responsible to authenticate users and store workitems (a running process instance) into a database.
- Part III. - will show you how to build and deploy the web application. This is mostly easy as you can use Maven to setup a scaffold in a few seconds which will provide you with a typical web application project based on the latest JEE/JSF Technology. You can use the scaffold to start further development or just start you own implementation. Its up to you.
The hole tutorial will take less than 15 minutes. So I suggest you to check it out!
Creating a Workflow Model
To start this tutorial I will explain how you can create a new Workflow Model which describes your business process. This is the typical first step in business orientated development. And this is also that part which your customer will be able to follow best as this step is more business orientated and less technical.
The Trouble Ticket Workflow
In this Tutorial I will develop a "Trouble Ticket Workflow System". A trouble ticket system (also called issue tracking system or incident ticket system) is based on a business process that manages and maintains lists of issues, as needed by an organization. Trouble Ticket Systems are commonly used in an organization's customer support call center to create, update, and resolve reported customer issues, or even issues reported by that organization's other employees.
A ticket is the "workitem" managed by your application which contains all necessary informations about the reported customer issue .
In my example scenario I will design the workflow very simple to demonstrate the principle and basic concepts of the Imixs Workflow:
- A customer service operator receives a telephone call, email, or other communication from a customer about a problem. The operator creates a new issue in the Trouble Ticket system. The status of our workitem is now "open"
- Next a member of the technician team verifies that the problem is real, and not just perceived. The technician will also ensure that enough information about the problem is obtained from the customer. The technician accepts the ticket or reject it. An accepted Ticket will change the status of the workitem into "in progress".
- As work is done on that issue, the system is updated with new data by the technician. Any attempt at fixing the problem should be noted in the issue system.
- After the issue has been fully addressed, it is marked as solved in the issue tracking system and the ticket will be closed. Status "closed"
This is a BPMN diagram from the workflow which shows the process flow:

To create this BPMN diagram I use the Eclipse BPMN Modeler which is a nice and easy to use modeling tool based on eclipse.
Using the Imixs Modeler
In the next step you create a technical model of the business process. To create a new Imixs workfow model I use the Eclipse based Imixs Workflow Modeler. The Imixs Workflow Modeler is used to describe the technical flow of a workflow. You can configure a lot of application specific behavior within this tool which will reduce the time for coding the application. The Imixs Workflow Modeler can be installed very easy using the Eclipse Update Manager. If you have not yet installed the Imixs Modeler follow this installation guide.
From the Eclipse IDE you can crate a new Imixs model file to store the workflow model. A Imixs model file has the file extension ".ixm".

You
can create you new Model file in the /src/ folder of any eclipse
project. Create a new folder /workflow and create a model file
"model.ixm". Or you can use the New Wizard or simply create a empty file
"model.ixm".
When you open this file you see the Imixs Workflow Editor:

Now you can create a new Process Group called "ticket" and add three Process Entities described in your bpmn business model:
- new Ticket
- in process
- closed
You will find a full description at: how to model a business process on the IX Modeler project Page.
After all you model can look like this:

If you don't want to create the model by yourself you can download the complete model file from here.
Now the first Part of our Tutorial is finished. Continue with Part II.
Posted at 12:03PM Sep 08, 2009
Posted by: Ralph
Category: General
Migration to new Imixs Workflow JEE API
If you migrate form the ix-workflow project to the new imixs-workflow project it is not posible to redeploy with the new JEE Implementation into an existing EJB / EAR module.
So I recommand to follwo these steps:
- backup the entities form you exsiting Imixs Worklfow Application with the new (!) org.imixs.workflow.jee.adminclient.web 1.4.3 using the Export Feature.
- Take care about the new persistence unit used in the persistence.xml
org.imixs.workflow.jee.jpa - Redeploy you new project with the persistence.xml option:
<property name="toplink.ddl-generation"
value="drop-and-create-tables" /> - Reimport you backupfile with the new imixs WOrkflow AdminClient Tool
Posted at 03:18PM Jul 25, 2009
Posted by: Ralph
Category: General
New! Imixs Workflow Project
I am proud to announce that we started the new Open Source Workflow Project Imixs-Workflow on dev.java.net. This project arise from the ix-workflow project we developed about for more than 3 years. But the new project is much more easy to use. We developed a bunch of simplifications in the Workflow API so the hole project is now much easier to integreate. I would be happy if you can give me some feedback to that project on the project home page.
I will provide a short video next time to show how easy it is building workflow applications based on the API.
Posted at 11:28PM Jul 16, 2009
Posted by: Ralph
Category: General
Database Migration Derby -> MySQL
If you have started you workflow project using the build-in Derby Database from Glassfish you maybe can run into a performance problem if you manage a lot and complex of Data. This is because Derby is not so scalable in managing complex SQL statements like other Database Management Systems. In such a case you can easily migrate your workflow system form Derby to MySQL which is much more scalable.
Follow these steps to migrate data in a running system
- Start your Derby DB and Glassfish Server
- Make sure that your Workflow System is up and running
- Switch to the IX JEE Admin Client.
- Connect to the EntityPersistenceManager from your Workflow Instance
- Start a export using the default EQL Statement. This will export all existing Data of your workflow system into a file
>SELECT wii FROM Entity wii
If the export did not succeed a reason can be the HeapSize of your Glassfish Server instance. You can increase the default HeapSize from 512m to 1024m using the Glassfish Admin Console.
Go to : Applicationserver->JVM Settings -> JVM Options
and change -Xmx512m into -Xmx1024m - Undeploy your Workflow Instance
- Shutdown your Derby Database
- Setup a new MySQL Database and create a new JDBC Connection Pool using the Glassfish Console
- Now you can switch the JDBC/Ressource of your Workflow System from your Derby Database to your new MySQL Database
- Deploy your Workflow Instance again - this will generate the necessary Tables in your new MySQL Database
- Optionall : after deplyoment you can setup Entity Index Fields manually if necessary
- Import your Data form the Export File you generated in Step 5.
Thats it!
If the import process fails on MySQL check the following:
PacketTooBigException
If you got the Excepiton:
com.mysql.jdbc.PacketTooBigException: Packet for query is too large
you should change the max_allowed_packet setting in your MySQL server for the import process
- Open your MySQL console
>mysql -u root -p - Change the max_allowed_packet setting
>SET GLOBAL max_allowed_packet=3000000000; - Restart your Glassfish Server (not the MySQL Database!)
- Reimport your data
- Restart you MySQL Server and Glassfish Server to reset the max_allowed_packet settings.
PersistenceException
If you got the Exeption:
javax.persistence.PersistenceException: Exception [TOPLINK-4002]
(Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))):
oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data
truncation:
Data too long for column 'DATA' at row 1
MySQL tells you that the BLOB field is to small to store the data. This is because MySQL generates per default a SmallBlob (64K) for your Data Fields in the Entity Table. You can change the Blob type after the deplyoment of your Workflow Instance :
- Open your MySQL console
>mysql -u root -p - Connect to to your Database
>USE mydatabase; - Change the BLOB Type to LONGBLOB (4GB) or MEDIUMBLOB (16MB)
>ALTER TABLE Entity CHANGE DATA DATA MEDIUMBLOB NOT NULL;
Posted at 10:36AM May 30, 2009
Posted by: Ralph
Category: General
New Version of IX Modelers
The new version of the IX Modeler for Eclipse is now available!
The new relase 2.2.9 of the Basic module and 2.2.6 of the Integration module includes a lot of enhancements of the user interface. The management of Process and Activity properties is now extended by a new property editor concept. All properties are now managed using the "Tabbed Properties View Extension Points". This allows you to extend the IX Workflow Modeler in your Software projectes much faster as you can now use the eclipse standard extention point for tabbed properties.
The new version was tested with Eclipse 3.4.2 for Windows and
Linux.


Posted at 12:03AM Apr 05, 2009
Posted by: Ralph
Category: General
Licensing of Imixs IX OpenSource Workflow
As we were often ask about the licensing of of the Imixs IX OpenSource Workflow which is subject to the General Public License (GPL) I want to give you today a short idea how your individual Software project is affected form this license.
Assuming that you plan to develop an individual software system using the Imixs Workflow System you have to take care about the subject of GPL. But since your software project is no workflow management system
like the Imixs IX Workflow itself, there is no reason to worry about the
GPL.
In contrast if you enhance or modify components of the IX Workflow
Implementation or you implement a derived unit you are constrained to
leave this code also under GPL.
Our goal is to avoid that someone
restrict the purpose of the IX Workflow Software. Everyone is free to
use the Imixs IX Workflow as free software in the manner of the Free
Software Foundain (http://www.fsf.org/).
So
we appreciate everybody who plan to use the IX Workflow in an individual Software
Project. You be bound to inform your users and customer that the Imixs IX
Workflow is fee software under GPL. This means that he will receive
also the source code (of the Imixs IX Workflow) or can get it if he
want it. He can change the software or use pieces of it in new free
programs.
If you enhance the Imixs IX Workflow you are bound to
leave this code again under GPL and share your experience with the
community.
So we did not restrict you in your freedom to
develop software using the IX Workflow. We also did not restrict your
freedom to distribute your software or charge for service if you wish.
Free Software is about to exchange experience and knowledge, not to restrict other people in there freedom to use it.
Posted at 10:50AM Jan 21, 2009
Posted by: Ralph
Category: General