Thursday 27 November 2008

Open source systems that are not really OPEN

Recently while evaluating Concourse's CRM product, Concursive for a proposed implementation, we nearly got taken in with Concourse's claim of the product being open-source. According to them, the product was "An open source Java-based application.." but on downloading it, the accompanying license stipulates quite clearly "You may not redistribute the code". Fine!! If I cannot redistribute the code, how can I deliver a solution built around it. Also, if I could not deliver the solution why would I want to waste a month or so trawling through and understanding the million lines or so lines of code before I can modify it to meet my ends.

I can understand the company wanting to hang onto its IP and earning some revenue by "selling" the license but why term the product open-source? Just because I can view or modify the code for my internal use, its of no use to me.

According to the Open-Source Initiative , the Open-Source definition includes the right to freely-distribute the source code . This is the essential spirit of open-source software and should be adhered to when sticking the open-source label on a product. Misusing the term will only annoy developers and earn the product a 'do not use' label.

Tuesday 18 November 2008

Building workflows with JBOSS's jBPM

On a recent engagement, I had another opportunity to work with jBPM. The BPM in jBPM stands for Business Process Management and since its a part of the JBOSS enterprise suite, it works closely with the JBOSS application server and the JBOSS Eclipse IDE.

jBPM has its own Process Definition Lanaguage (jPDL) that it based on an XML schema. While learning the jPDL and designing a process is one way of getting started, the other easier alternative is to use the Grahical Process Designer (GPD). The GPD is available as a plug-in for JBOSS Eclipse and using the steps outlined in this article you can get yourself setup in a matter of minutes. The second part of the same article shows how you can create your first jBPM project and a BPM process within it. If you want a more detailed overview of the process creation and deployment, this webinar is a great way to learn about the GPD.

jBPM being open-source is great value for the advanced capabilities it offers. It also integrates well with JBOSS Rules (a.k.a DROOLS) and allows the user a lot of latitude in setting up the BPM component. The JBOSS jBPM site is a good place to start learning and using the tool.