Summary of the issues around the membership registry

There were a lot of questions and speculation around the state of the OSMF membership registry during the AGM and about its effects on the election. Having been as then-board members somewhat involved in trying to handle the CiviCRM situation we would like to try to untangle the timeline of events here somewhat on behalf of MWG.

For background: CiviCRM is the software we use for managing the OSMF membership. It is a open-source software which we run in our own custom installation. This installation also has some special modifications to handle our special requirements for active membership. MWG is the Membership Working Group which is responsible for managing membership.

We (MWG and OSMF board) have been aware of issues with the membership registration since December last year. The issue we found then was that payments with Paypal did not automatically enter into our membership database. You may remember that we postponed the election by a week and manually sent ballots to the effected members. MWG did not directly fix the membership database at the time. The reasoning was that we need to fix the bug first, which prevented the payments from being registered.

By the beginning of this year the MWG noticed that the active membership registration was broken. It first allowed people to join with less than 42 mapping days and then ignored usernames completely. This was beyond the capability of MWG to fix, so they engaged an external consultant to look into it. For various reasons this took quite a while, so that the fault registration remained possible until mid-year. The consultant could not fix the Paypal issue.

When Guillaume causally mentioned during the July board meeting that the membership database was still not fixed, we two board members immediately got in touch with MWG and together we drew up the plan for fixing the issues that Arnalie has also communicated to the membership.

To be crystal clear, we firmly stand behind MWG here and their integrity: they (and Michael and Dorothea in particular) went above and beyond duty then to make sure that the membership register was cleaned up. They manually touched hundreds of entries to make sure that by the time we sent out the ballots for the election all issues we were aware of were fixed. We did not receive any complaints with regard to these two issues, as far as we are aware.

This brings us to the complaints received after sending out the ballots. Please note that we explicitly invited members to recheck their eligibility and complain. MWG sent out 122 messages to people who, according to our database, were members for less than the required 90 days. We received 14 appeals and found that all of them were correct. They were corrected in the register and the members received their ballots. The root cause here was that under some circumstances the renewal of an active membership was not registered correctly in CiviCRM. We do have logs to prove the renewal was done but these logs are very long and need to be checked manually.

We also received a complaint from a member who was behind on renewal because they had not received a renewal notification. CiviCRM’s logs supported the story and the case was escalated to the board. The board decided to not grant the vote in this case because members do have a responsibility to look after their own membership. The notification issue will need to be looked into as well.

For full disclosure: there is one more known issue with the membership registry that did not affect election at all. About 30 members currently pay their membership twice because they have mistakenly set up two recurring payments in PayPal. MWG will get in touch with those affected at some point to find a solution for the double payments.

These are all the issues we are aware of at this point. That doesn’t mean that there are no others. Our assessment is that the remaining irregularities are not statistically significant and will not change much in the outcome of the election. However, we do not have the numbers to back up this claim.

A full audit of the membership register might be the best course of action at this point. Given the current size of the MWG, this is simply not something they can handle on their own. If the OSMF membership wants an audit, a group of volunteers needs to step up to do it, preferably containing people with some experience in reading logs and who are not afraid to run some SQL on a database if necessary.

Further down the road, all options are open right now including moving away from CiviCRM. But even there it is unclear if that is the simpler option because we may not find a provider that can support our special requirements for active membership.

Arnalie & Sarah

25 Likes

Sarah and Arnalie, thanks.

While it doesn’t make sense to dive too deep in to the technical side of things here, I suppose it would be helpful to know if there was a common root cause to the issues with the active member renewals that could be reasonably assumed to effect the other 108 members that received notices, or if the 14 cases were simply one off (manual?) data entry errors.

Simon

2 Likes

As far as MWG could make out the root cause so far, the problem arises when a renewal is aborted for some reason. The existing membership then ends up as “pending”. The event shows up in the activity log, so you can figure out what happened, when somebody complains. Unfortunately, pending memberships are quite common. They get generated each time a sign up is not completed, which happens often.

2 Likes

Thanks again.

All things considered, while it would be nice to get error rates lower (and that might mean moving to a different platform), I don’t really see any issues with the procedure itself, that is sending out notices for those members that are determined to not be eligible to vote. It seems to be perfectly reasonable.

I would suggest re-arranging the text of the message (see gist:ffceb5f55f0b4debfa70205752025c3e · GitHub), to be less BLT (Compliment sandwich - Wikipedia) and to state the issue up front with a clear indication that it could be in error, but that’s about it.

Simon

3 Likes

Thanks for such a full explanation, and for the work put in.

And perhaps I should make clear (in case something else might be inferred from my message on the osmf email list) that I don’t doubt anyone’s integrity here.

Here or somewhere else, I’d find it helpful to know a bit more about how active memberships make the register more difficult to maintain/make CivicCRM harder to mesh with our rules.

To become an OSMF member under the active contributor scheme, you have show that you have 42 mapping days. That means, when somebody signs up, they need to supply a OSM username, some kind of proof that they are that user and we then need to check that the 42 mapping days have happened.

If memory serves right, the MWG did all this manually in the beginning, which is of course less than ideal. You really want an automated process that immediately checks your OSM contributions. That’s why there now is a custom plugin for the registration. If you are interested in the technical details, you can have a look at the code. It is open-source:

Unfortunately we don’t have anybody in the MWG right now with the in-depth knowledge of CiviCRM (or the time) to write such a plugin, so MWG engaged an external consultant. That’s perfectly fine but with a one-time consultant, when things break, there is nobody immediately at hand to fix the problem. This is why there were so many delays.

Having a permanent member of MWG with some programming knowledge of CiviCRM would be an enormous win and would get us two-thirds of the way of permanently resolving the on-going problems. If you are reading this and think that could be you, please get in touch.

We could also do with some help with the system administration of the CiviCRM server. Right now a lot of the configuration is done manually. The result is that things fall apart every time we try to update something and it takes hours to figure out what manual tweak makes it run again. There are some ideas how to integrate better with our chef automation and make changes testable before they go into production but we lack the person-power to implement any of it.

7 Likes

For the sake of completeness. I’ve matched the recipients against the PayPal receipts already during Sunday, but would not want to preempt a more comprehensive research.

Everyone fully paid up had been able to vote.

Only one fully paid up member has received the notification of not being able to vote. But also received a vote and voted, so no harm done. The root cause here is that the member in question changed the email address on renewal. To the computer this looked like two distinct people, and that entry had already been reconciled during the election week.

The complainant itself of the AGM has qualified for voting based on their Active Contributor membership. A payment has been made in addition, but would have been too late if not the Active Contributor membership existed anyway before.

In a third case a very active member made a donation of 20 EUR in June but applied for Active Contributor membership in September. Again, by the rules seen strictly not eligible to vote. But from human common sense one could have argued to backdate the membership.

Other cases vary in having paid after the deadline, in having uncommon payment schedules, having some payments declared to be donations, or being 10 GBP or 15 EUR (13.5 GBP) instead of 15 GBP. These all are according to the rules not fully paid-up memberships, notwithstanding that the members might have qualified by active contributorship.

To sum this up: this is a bunch of endless corner cases with no common root cause. I would also go with Simon’s line of thought that we might want to rethink and simplify our rules to reduce the number of possible edge case classes.

7 Likes

Thanks @lonvia and @drolbr for the explanations.

I would completely support this.

Typical in membership orgs, and recommended by the legal textbooks, is:

  • Payment of a subscription is essential for joining: as others have observed on other threads, money passing is normally the most easily audited marker of membership rights.
  • For the same reason, voting rights are normally also tied to payment (as they are at OSMF, I think, for those that have to pay; but some don’t have to pay; so this is complicated).
  • A single anniversary for all subscriptions - so all subs have to come in by 1 Jan (say).

Between OSMF’s full / associate members, paying / active members, and right-to-vote/member-but-at-this-meeting-no-vote members, we have a lot of permutations. Maybe a clear but comprehensive taxonomy, or a process flowchart, might help. I’ll see if I can produce one, unless someone beats me to it.

Sounds good. Until you learn there are many countries where it is physically impossible to pay! e.g. if you’re in Iran, or Nepal, you can’t transfer money to OSMF to pay! You can’t use Paypal or do a bank transfer.

Traditionally, a UK small member based organisation would just say “Tough! People in these countries can’t join, we’re the West Yorkshire Model Railway Club, Sorry, but we’re OK without members in Iran“. The OSMF Active Contributor (and previously Fee Waiver) Programme helps solve this, by giving these people free membership.

Like many “complicated things” in OSM(F), the complication stems from the real world, and us trying to deal with that.

5 Likes

This ^ is an important point.

Thanks, I didn’t know (though I suppose I’m not surprised).

I still feel the advantage of a financial trail is plenty enough to offset the difficult cases. If we’ve solved the problem of “these people can’t pay” with “no one has to pay, but some people will choose to, and we’ll juggle it all”, I think we’ve introduced more complication than was necessary to solve the problem. (I know assoc. mem’ship is partly about privacy, too - but I hope UK company law is improving there.) A limited fee waiver programme seems more proportionate.

Btw, I would prefer the fee to be very small, or tied to the Big Mac index bread-loaf index. Possibly even “pay what you like - but pay something, and the median in your country is _”.

Last thing for transparency is that I’ve recently joined MWG (I assume that’s a fact, formally speaking), but these are my own views.

UK company law improving aside, there is also the issue of moving the Foundation to the EU to consider within all this. If this will be taken as an opportunity to simplify the membership structure, address privacy concerns, or both, is to be seen.

There is.

I hear this suggested quite a lot. imho,

  1. Solving the database rights issue is not a solution to the membership issues. We should keep these conceptually separate, because the practical solutions must be different.
  2. Robust governance (I’m tempted to say bomb-proof governance) is a pre-requisite for a successful move. To transfer the whole of the company’s property into another jurisdiction is going to need totally watertight consent from the members, which can only happen if we know exactly who can vote, and on what resolutions, and that the vote count is unimpeachably accurate.

PS Any complexity in the membership types we now have will either have to be replicated in the EU, or else resolved before we get there. So I’d say we press on and resolve the membership issues now.