@bistenes Thanks for pointing this problem. I am a fairly new to the OpenMRS community (just joined in Jan’20). I am also selected as a GSoC’20 student and working on adding SMART-on-FHIR functionality to OpenMRS.
I agree with the fact that many OpenMRS modules are not maintained but I think that this is not only because of ownership / responsibility problems but also because we have very few active new/intermediate developers. I mean to say that we have plenty of dev5 and dev1 developers but what about dev2,3,4 I don’t see much of them active in the community.
From my post I want to mainly point out the fact that OpenMRS as a community is not being able to attract a good amount of new developers. Lesser new developers means lesser chances of dev2,3,4 developers who actually should be the once maintaining and reporting errors in different OpenMRS modules.
I would like to share some of my on boarding experiences with OpenMRS and I would also like to suggest few things.
So as @ssmusoke said “Most new developers join during GSoC” I also joined during the GSoC period. I should say that OpenMRS as a community has huge entering barriers (Walls) but once you cross those one can easily start contributing only if one is bold enough to ask silly questions like I did. But we as community members should understand that everybody is not bold enough to ask questions directly on TALK. I am not at all saying that we don’t have good members to help but only that reaching them is a difficult task. @ibacher has helped me immensely.
Reasons why I say this (OpenMRS has huge WALLS):-
When a beginner first lands on the TALK page of OpenMRS he/she can only see titles which are all very overwhelming and frightening mostly coming from experienced developers (dev3, dev4, dev5) which totally demotivates a beginner from asking environment setup related questions (which is generally the starting point for all beginners).
Now if a beginner tries to ask a question via Personal Message [PM] to a community member, they can’t because they don’t have the access to do that (a /dev level is required to do so). For a beginner to be able to ask a question they’ll atleast have to spend few days reading posts on TALK which is totally acceptable and logical but for a beginner to stick with a community in the very initial days is very tough I guess.
If one tries to setup their environment themselves then also it is almost impossible (unless he/she is an experienced developer) to set it up because none of our wiki pages explains / provides working links on how to install MySQL 5.6 and Java 8 on Linux, Windows or Mac. It was almost impossible for me to install such an old version of MySQL on my machine. But hopefully we’ll get out of this problem soon because I can see developers working on it.
One more thing which a beginner (or at least I face during my initial days) that there are so many confusing names which we use very frequently inside the community but they might not make sense for a beginner. Few examples Reference application, OpenMRS SDK, OpenMRS Distribution, OpenMRS Platform. And the versions are a lot more confusing.
One Android client specific thing which demotivates beginners is the Demo server. Most of the times its down which makes it impossible for a beginner to login to the OpenMRS App. I understand there might be a problem which causes this but a beginner can never imagine that there might be a problem from the community side, they always blame themselves for it.
Likewise if a module or core is broken and a beginner is not able to build and deploy it they get demotivated and might leave the community.
Most of the problems have very obvious solutions but somethings that I would like to suggest :-
OpenMRS community should have a more approachable and at the same time professional chat platform like Gitter or if not this atleast we should make our existing platforms more engaging. I know OpenMRS is on Telegram and Slack but on Telegram I can only see bot messages and nothing else. This would help beginners to get a easy start.
I think OpenMRS also lacks on the documentation part. It can be a case that all the modules don’t need maintenance as we have shifted to more sophisticated technologies but it’s better to add a Depreciation Notice or something similar (like supported by versions below
2.0.xetc) in the readme of every module.
Also it will be nice if we can provide links to download MySQL, JAVA, Maven versions which actually works with OpenMRS. Some newer getting started tutorial videos will also be nice.
I am at /dev/1 stage and pointing out so many things might not be something I should do. Just trying to help make the OpenMRS community better. Sorry for the wall of text.