Re-license and shift Bahmni Appointments Backend Module to MPLv2 license

OpenMRS team has expressed interested to adopt the Bahmni Appointments Module (backend) for O3, but they cannot do so due to the AGPL licensing requirements of this module currently. The proposal is to change the license moving forward of this module to a more permissive license, likely the MPLv2 (Mozilla Public License), which OpenMRS ships with (See OpenMRS MPL with Health Disclaimer License details here: OpenMRS License Information​ – OpenMRS.org).

In the words of @grace :

Reason: The O3 Appointments squad engineering members have decided that we’d like to move forward using the Bahmni Appointments Module as the go-to for supporting Appointment functionality in O3. This means it would be added to the O3 RefApp. However we cannot do that right now because it would force the licence of the entire RefApp and components to change to AGPL. Tactically, there are also a number of O3-specific additions we’d like to make.

Currently this module is licensed using AGPL-v3:

And this is the OpenMRS Forked version:

We discussed this during a Bahmni coalition call, 2 weeks ago, and the attendees there were OK with making this change, so that this module can be easily packaged within OpenMRS and Bahmni going forward.

I wanted to post this to the wider community for feedback/concerns. Does anyone see an issue with making the license change for the Bahmni appointments module? We will wait for a period of 1 week, before going ahead with the changes (which will likely require a re-release of the current module with AGPL, and then switch the next version into MPLv2).

Please let us know! thanks!

@angshuonline @taseew @sthote @grace openmrs @binduak @jennifer @burke

2 Likes

Its been 12 days since this post. Across two PAT calls and one Bahmni Coalition call, everyone was in agreement with the license change. So, we are going ahead, as there have been no concerns raised.

I have created a JIRA issue with steps to make the change, and track this. Please refer to: [BAH-3168] - Bahmni - JIRA [3168]: (Change license of Appointment Module (Backend) from AGPL to OpenMRS MPL license so it can be adopted by OMRS too)

cc: @grace @angshuonline @rahu1ramesh @parvathybabu @binduak @burke

Someone from the core team will pick this up this week, and post an update. If you think some additional steps need to be done, please let us know or update the JIRA issue with comments directly.

Once the license has been updated, we will update this thread again, and then OpenMRS/CURE/other teams can raise PRs for the new licensed module.

2 Likes

@gsluthra / @grace - thanks for moving this forward. I happened to take a look at the appointments module today and noticed that there is a required dependency that I hadn’t been aware of on the teleconsultation module: https://github.com/Bahmni/openmrs-module-appointments/blob/master/omod/src/main/resources/config.xml#L17

The teleconsultation module is also licensed with the AGPL, so that would also need to be adjusted if we are hoping to adjust the appointments module: https://github.com/Bahmni/openmrs-module-teleconsultation/blob/main/pom.xml#L14

However, it would be great if we could re-visit if the teleconsultation module is in fact required or if it can be re-configured to be an optional / aware-of dependency.

Let me know if you think I’ve gotten any of this wrong, I just happened to notice and wanted to raise this as a possible issue.

Thanks, Mike

@mogoodrich / @ibacher FYI

2 Likes

Thanks for pointing this out @mseaton. In the interest of keeping things clean, we will go ahead and relicense the telecon omod also as OpenMRS MPLv2.

1 Like

Re-license and shift Bahmni Appointments Backend Module to MPLv2 License

Context: Re-license and shift Bahmni Appointments Backend Module to MPLv2 license

JIRA: [BAH-3168] - Bahmni - JIRA

The OpenMRS Team expressed their interest in packaging the openmrs-module-appointments module with O3. However, a crucial requirement for this integration was that the module’s license aligns with O3’s licensing terms.

In response to this, the Bahmni Coalition/Community has collectively agreed to facilitate the necessary changes. The primary goal was to align the license of the Appointments module with both Bahmni and OpenMRS licenses. Additionally, it’s important to note that the Appointments module has a direct dependency on the openmrs-module-teleconsultation omod. Therefore, the license of the openmrs-module-teleconsultation has also needs to be transitioned from AGPLv3 to OpenMRS MPLv2.

To ensure a seamless transition for both the modules, a 1.8.0 standard release was initially made with the AGPLv3 license. However, with the release of version 2.0.0-SNAPSHOT, both the openmrs-module-appointments and openmrs-module-teleconsultation modules underwent a significant license change, now officially licensed under OpenMRS MPLv2.

In parallel with these licensing adjustments, we have taken steps to ensure that the Bahmni LITE/Helm umbrella charts are configured to pull the new 2.0-snapshot builds of the appointment and teleconsultation modules. For the same, the module versions within the openmrs-distro-bahmni repository have been updated to 2.0.0-SNAPSHOT.

With these changes, teams are now free to raise PRs against the OpenMRS MPL licensed codebase for review and merge. These adjustments are essential to facilitate seamless integration and compatibility between the modules and O3. If you have any questions or require further details, please feel free to reach out.

4 Likes