October 3rd, 2024, Advisory Committee and CS&S

Attendees

  • Danielle Robinson - Code for Science and Society
  • Kena Mayberry - Code for Science and Society
  • Esther M. Jackson - Advisory Committee
  • Antonin Delpeuch - Advisory Committee
  • Jan Ainali - Advisory Committee
  • Martin Magdinier - Project Manager

Discussion regarding governance update

Conversation status

Progress to update the governance is stalling due to a lack of feedback from the community—a mix of lack of feedback and lack of will to change. There was a discussion within the Advisory Committee on September 26th not to rush things or push changes to the community. The impression is that few people went through the entire document.

This week, Martin had a conversation with two core developers as documented here.

Martin is not sure that we will get any feedback that is more meaningful at this point.

Returning to the heart of the governance change, there is a desire:

  1. that when OpenRefine applies for grants (in some ways making technical decisions about what gets resourced), there is the correct amount of buy-in for the community.
  2. to clarify how the Advisory Committee and developer groups works together.
  3. to increase the transparency of how decisions are made within the community. With Antonin leaving the project, we want to have more certainty on how we can onboard new contractors via grants or collaboration with partner organizations (like WMSE).

Current role of the Advisory Committee

Martin reflected that something the Advisory Committee appears to be more of an external group trying to influence the direction of the project. The situation is somewhat similar to the relationship between Wikibase and the Wikibase Stakeholder Group.

Wikibase is a software developed by Wikimedia Germany, always open source but built for Wikimedia's needs. Some organizations find the project great and start using the tool and investing in it - some needs are different than Wikimedia Germany. The Wikibase Stakeholder Group was built to share knowledge between participants, advocate, and work with Wikimedia Germany. Today Wikimedia Germany is part of that group - there is cooperation but not 100% alignment. Sometimes, Wikimedia Germany will not accept proposals from the community, and sometimes, there is will and collaboration.

Today, the distance between the Advisory Committee and the developer group seems similar to the one between the Wikibase Stakeholder group and wikibase.

Are we really two different entities trying to work? Or are we really one community? Martin has been here for 14 years and shared what it was like before Antonin joined. As we start a new chapter, what is this relationship going to be? If we hire a developer and we depend on Tom merging and he is not responsive for an extended period of time (which he can do as a volunteer), what are we going to do?

Developer perception on the governance.

Some developers don’t see a need to involve anyone but developers in the project. They don't see a need for an Advisory Committee or formalized user community for the project to succeed.

The core of the problem is that we're trying to solve something that the developer community does not see as a problem. The developer group has a clear contributing guide, so they don't see the need for more transparency. Aside from the work Antonin has done, there isn't a real desire to attract more developers.

The way that Thad sees it - one or two people with merge rights, everyone else is managing PRs. At this point is the governance a benevolent dictator or meritocratic governance? Both are valid governance systems.

Reflecting on previous attempts to onboarding more developer

Ways we tried to bring on new people, some ways did not work out. We focused on the first few pull requests and did not really have the next step. Make the path beyond the first contributions more clear. However, this is not a shared diagnosis of the problem. We have tried to do GSoC and Outreachy, but we have a too small team really to do these internships. Sometimes you can’t expect long-term contributions from the interns.

Antonin did a lot of work on presenting at conferences and on Wikimedia Sweden (WMSE) onboarding. This is very recent, and we don’t have control over whether WMSE continue to invest.

Next step for the governance

  • Atomize the individual changes we are trying to make. Giving people less homework to do in order to say something intelligent/ contribute to the project. Ester looks at governance documents and pulls out three points that really need more discussion and takes an approach to raise these issues and discussion.
  • Continue to move slowly and not steamroll anyone
  • Small touches to the existing model might be easier for people to engage with. We could talk about how the governance is currently and - better to do if the relationships are defined. Martin to update the current governance to reflect how we currently operate rather than trying to define a new governance.

As I've stated before...these expressions of "onboarding" and "joining" are not the right framing of reality of the project.
Those expressions do not necessarily coincide with the expression of "contributing". Anyone can contribute to OpenRefine's code and documentation and even bring about change to the governance through simple discussion and setting up meetings, without the need to "onboard" or "join" any group or team within the project.

There are simple protections and methodologies towards our source code ("don't break the build, if you do, you fix the build" and "1 approval by a core team member needed for merging a PR into master"). Beyond that, I do think having policies that setup teams for folks to coordinate within would be a wise direction forward.

Lastly, concerning the governance of the OpenRefine project itself, it should give the highest directional authority to a Project Director, following them, the set of core team members. Project director is voted upon by core team members. Core team members should be validated by other core team members through meritocracy and simple voting for new members to be a part of the core team. Similarly, votes are needed to eject standing core team members.

It's really a very simple governance, because it concerns:

  1. the source code and
  2. project authority rights

Beyond those 2, the issues raised have been around finances, funding, grants, etc.
My take is that should continue to be the responsibility of the Project Director, with core team members - effectively, a Project Leadership Committee (PLC), and in the governance stated as such. When it comes to details, or needing to detail out some polices set forth by the PLC, then they can do so in policy documents (not the governance, which should stay simple, straightforward).

My opinion has been that TOO MUCH is trying to be shoved into a simple governance document, instead of being put into other Policy documents.

(The above are my opinions, as I am no longer a member of the core team, and no longer a member of the PLC - I have retired voluntarily fully from any OpenRefine leadership, and retain only my volunteer role of an occasional contributor)

But wait, Thad, where does any of what you said apply to an Advisory Committee?

It doesn't. That's the whole point. The Advisory Committee or any external group is expressly that, external to the OpenRefine Project governance. The Advisory Committee should also not have control of any OpenRefine Project general funds. Monetary decisions for the general fund should be the responsibility of the PLC - with any external groups simply "advising" the PLC.

And the PLC should be meeting online publicly at least once per quarter. And not some 1 hour quicky. Direction, funds, core team decisions, all need to be reviewed and discussed, so 2-3 hours is much more advisable in my opinion. In other words, less frequent monthly, and more in-depth quarterly.

Hi, @thadguidry. I like a lot of what you have written; I’m attracted to simplicity. That said, I’m not totally understanding the PLC versus Advisory Committee aspect of your proposal. How is the PLC nominated/elected? Why couldn’t the Advisory Committee serve this role? Regardless, what’s the structure by which the community would be able to nominate candidates and elect them to the PLC/AC?