User Tools

Site Tools


en:news:fork

Why FreeHealth?

FreeHealth is a fork of FreeMedForms that I started in August 2016. FreeMedForms was created in 2008 by Dr Eric Maeker, who was the main developer of the project from 2008 to 2015 and who wrote 80% of the code.

Background

I started using FreeDiams, the electronic prescribing app of FreeMedforms, in 2011. I was replacing a sick family physician at the time and her medical office didn't have any decent software to do the job. I started contributing modestly to the project in 2012 by writing documentation, reporting bugs and answering questions from users. Then I got more involved. I installed and administered the fist VPS of the community in 2014. During 2014, as I was beginning to immerse myself in the 300.000 lines of code written in C++/Qt (a language and a development framework that I had never used before), most contributors left the project. In 2015, when I sent my first commits as a very junior developer, Eric Maeker stopped contributing to FreeMedForms and stopped answering to most of my questions about the code, despite his proposed "mentoring of the wear" program set up to attract junior developers. He now had other professional and personal priorities and couldn't find time for the project, which was just fine. After all, he had already done an immense and great job and it was up to new contributors to pursue the effort. From July 2015 to August 2016 I was the only contributor to FreeMedForms code. During one long year I debugged, maintained, and added new features to the code. I built and released 2 new versions of the app (0.9.6 & 0.9.8). I managed the entire community and its tools without any help (web servers, wiki, doxygen documentation, forum, mailing lists). From time to time I would receive a private email from the project leader requiring me to do this or that, in a tone more reminiscent of a boss ordering a task to an employee than of a proposal coming from an equal partner in a non profit open source project. I swallowed the pills, went on with my work, and started to suspect why all other developers and contributors had left the boat…

Reducing the sail

Being the only contributor to a huge and complex project, I strived to simplify the code or make it less complect. On 11/20/2015 I proposed to deprecate SQLite and keep MySQL only because making all new features and database structure changes compatible with both databases involved more work than doing the same with only one, and because all than can be done with SQLite can be done as well and faster with MySQL. I got no answer.

The tempest

On 08/05/2016, 8 months after my proposal, I started to implement the phasing out of SQLite. Nothing was definitive: if users wanted it to stay and if I could get help to implement and test new features with SQLite, I was ready to keep it. I also proposed to introduce MySQL embedded server inside the app bundle to simplify testing and to satisfy users who wouldn't want to install MySQL server on their computer. Eric Maeker finally broke his long silence to voice his opposition to my plans. In public, his messages sounded polite and reasonable. In private, the tone was now akin to a CEO or CTO addressing one of his interns. As I was asking for more democracy in the governance of the project, the answer I got led me to conclude that all efforts to change the hierarchical style of the FreeMedForms project would be in vain.

The solution

I have never been a fan of one-man rule. Eric Maeker is a fantastic developer and coder, but his style as a project leader resulted in the departure of all contributors of the project, including me. I needed a friendlier environment to go on working on the code. I decided to fork the project.

Future

I am convinced that forking an open source project can be beneficial1) for users and developers alike. I will do my best to keep both applications compatible and to give more choice to users, not less. I will try to build a friendlier, more democratic and more open community, without hierarchy. You are welcome!

Jérôme Pinguet
@freehealthio

en/news/fork.txt · Last modified: 2016/08/18 17:48 by Jérôme Pinguet