How “open” is open source business software?

I have worked for ProcessMaker, Inc. since 2009, mainly because the company allows me to work part time with flexible hours, but also because it develops free/libre/open source software (FLOSS). The core of ProcessMaker comes with an open source license, the AGPL, but the company has never functioned like an open source project. The development is almost exclusively behind closed doors. We have a public bug tracker, but the bugs get fixed in a private bug tracker, so the community can’t see when their bugs get fixed. We have no beta releases for public testing of the software. Anyone who downloads the software can play with the PHP and JavaScript code, so we get a couple dozen bug reports or forum posts per year that contribute bug fixes and new features, but there is very little community involvement in the development of the software, aside from bug reports and posts on our forum.

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.

When asked how many external developers the project had, Brian said “10,000”, which made me sit up in surprise when I heard it. Even the Linux kernel doesn’t have that many developers! Brian was probably talking about the number of people who develop processes with ProcessMaker which often involves adding custom snippets of PHP and JavaScript code. Phipps then looked at the Github commits and politely told Brian that he was wrong. At that point, Brian should have clarified what he was talking about, but he didn’t and it looked bad.

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.

3 thoughts on “How “open” is open source business software?

  1. Gary

    Amos, you’re right, ProcessMaker in the future will be only enterprise and I think they need to mantein the open source project. Don’t forget processmaker came from an open source project, they need to keep this wonderful project in order to say thank you to the community and contributors.

    Like

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s