The open source license is great for marketing and helps attract new users. I love the fact that ProcessMaker allows anyone to change the code, because it gives me great flexibility when I answer people’s questions on the public forum, which I have maintained since 2009. When people encounter a bug or need a new feature, I can tell them to go to line 1205 in workflow/engine/classes/class.pmFunctions.php and change the source code to fix it. I try to answer people’s questions on how to hack the source code and develop plugins for the software, but I’m not a core developer, so my knowledge is limited.
Nonetheless, ProcessMaker, Inc. doesn’t have open source philosophy baked into the DNA of the company. We use a number of proprietary tools inside the company (Bitkeeper, Jira and HipChat) and there is very little transparency and open collaboration in the code development, even within the company. The bug reports that I file and the code contributions that I write on behalf of the community are often ignored or rejected by the ProcessMaker development team.
It was interesting to see how Randal Schwartz and Simon Phipps at the show FLOSS Weekly evaluated ProcessMaker as an open source project when they recently interviewed Brian Reale, the founder of the company. Brian probably wasn’t the best person to interview for this show due to the fact that he’s not a programmer and they asked a number of programming questions, like “what’s your favorite programming language and text editor?” On the other hand, Brian is a great person to interview when talking about business process management (BPM) as a concept and how companies use the software. The interview was quite interesting, in my opinion, because the show’s hosts asked a number of probing questions, rather than the usual boosterism and pap that you find on most shows about software.
Simon Phipps, in particular, was focused on how much ProcessMaker functions like an open source project, and he immediately spotted the problems. Brian wanted to say that Sketch, which is the web interface to the proprietary ProcessMaker.io backend, was an open source project since the development was being conducted on Github, but Phipps pointed out that there had only been 7 commits to the project and none in the last two months.
In the end, Schwartz and Phipps were rather gracious, basically saying that none of the companies that develop business software like CRM, ERP, BPM, etc. function as open source projects, and they had a interesting conversation with Brian about why business software doesn’t generate good open source projects. Brian gave a decent answer by saying that most business users aren’t interested in contributing code. Brian is probably right, but I know that some of the people I have interacted with over the years on the forum would be willing to contribute code and ProcessMaker has a number of partners who might be willing to contribute. More importantly, I think it would improve the quality of the software if it were developed as an open source project, even if 99% of the code comes from company programmers. However, ProcessMaker has a proprietary Enterprise Edition, so it would be more difficult for the company to maintain both a public and private code repository. Also, ProcessMaker uses Jira, which is a proprietary bug tracker that has a number of useful features. It would cost too much in licensing fees to allow the public to have accounts on Jira, so the company would have to give up using Jira if it switched to a public bug tracker.
None of this is to say that ProcessMaker isn’t a good company or it develops bad software. ProcessMaker’s graphical user interface is quite nice and it says a lot about the company that it pays an employee like me to answer the community’s questions for free. Roughly half the questions I answer on the forum involve me either writing snippets of code to solve someone’s problem or me telling people how to fix their own code snippets. There aren’t many software companies that pay an employee to work 25 hours per week, answering programming questions for free. People would have to pay hundreds or even thousands of dollars to get a external consultant to answer those questions.
What I’m trying to highlight is the tricky line that companies like ProcessMaker, Inc. walk when they claim to be open source, but function as traditional software companies with a closed development model. Many people go out of their way to find and install free/libre/open source software, but then they expect that software to be developed like an open source project, which often doesn’t fit companies’ business models or their style of code development. At the end of the day, it is easy for me to criticize how my own company functions, but I’m not responsible for meeting payroll or keeping the business afloat. I have no idea what are the finances of ProcessMaker, since it is not a publicly traded company. Maybe walking the line between being open source and proprietary is the most profitable course, but I would like to see a company that develops business software attempt to function as a true open source project with public development and a public bug tracker that creates an active community of users and contributors.