I don’t see that MPL (+HD) as a way to ensure that modifications are brought back to the community. The intent of the license is that, but the way in which the platform/software is designed, one could write a module and completely change every behavior of the platform. I have seen this happen in the past and in fact consulted a large ISV to use this architecture because they were building a proprietary product and couldn’t tell the shareholders/customers that they internally use open-source software. To me, the “happy medium” is only an intent, but can never be a force to get contributions back. In fact, GPL/LGPL or others wouldn’t either.
That is one reason, why I have been of the opinion that we should use a permissive license like APL and talk to the conscience/goodwill of people who modify it (which in any case is all that can be expected). On the other hand, I see more and more deployments need a web service, because there is lack of local medical informatics skills or we would provide analytics-as-a-service based on data from multiple implementations. Here, AGPL might be useful, because we can ensure that anyone who takes our service and modifies it, needs to give back those changes. Unless off course, they may implement a module that uses (overrides without modifying code) the API internally and again provide added services. There again is a way to circumvent AGPL.
So what does MPL+HD really achieve, given that we have a modular architecture that allows changing everything from the system, without actually having to modify the source at all?