Open Thinkering

Menu

Tag: Open Source

Open source community calls in the wake of GDPR

I am a supporter of the intentions and sentiment behind the General Data Protection Regulation (GDPR) that came into force last month. However, it comes with some side effects.

Take community calls for the open source community, for example. Here’s how they often work:

  • Agenda — someone with a level of responsibility within the project creates an agenda using a service you don’t have to login to access and to which everyone can contribute (e.g. Etherpad)
  • Synchronous call — at the appointed time, those wishing to participate connect to some kind of audio and/or video conferencing services (e.g. Zoom)
  • Recordings — those who are interested in the project but couldn’t participate at the time catch up via the agenda and recording.

I’ve been running community calls using this kind of approach for the last five years or so. It’s an effective method and a process I do so automatically, I didn’t even think about the GDPR implications.

Yesterday, however, I was informed (very nicely!) by Carlo Polizzi, Moodle’s DPO and Legal Counsel, that I needed to delete the data I’d collected in this way and find a new way to do this.

GDPR requires that (unless community members contribute anonymously) we must, at the very least:

  1. Gain consent from each individual that we can store their personal data and that they agree to our privacy policy.
  2. Inform individuals what that data will be used for and how long we will be storing it.
  3. Give them the option of withdrawing that consent at any time and having their data deleted.

This means, of course, that community members are going to have to register and then log in to a system that tracks them over time. I’ve written before about creating an architecture of participation for episodic volunteering. This certainly prevents more of a challenge for the ‘easy onboarding’ part of that.


So, not sure what to do, put up the Bat-Signal and asked my network. Out of that came suggestions to use:

  • An encrypted etherpad solution that auto-deletes after a specified amount of time (e.g. CryptPad)
  • Forum software that feels quite ‘realtime’ (e.g. Discourse)
  • A Moodle course with guest access open (e.g. MoodleCloud)

On a more meta level, I also had some feedback that synchronous communication discriminates users for whom English isn’t their first language and/or who are disabled.


For now, given the above feedback, we’re going to end community calls in their current guise. I’ve met with Mary Cooch, Moodle’s community educator to discuss a few options for how we could do things differently, and we’re going to explore using the existing MoodleNet discussion forum at moodle.org along with BigBlueButton.

If you’ve got any questions, comments, or suggestions, I’d love to hear them, as this is something that many other open source projects are going to have to grapple with, as well!


Image CC BY-SA opensource.com

Tools and spaces to create a positive architecture of participation

Earlier this year, in a post entitled How to build an architecture of participation, I explained how, in my experience, systems designed for user contribution require the following elements:

  1. A clear mission
  2. An invitation to participate
  3. Easy onboarding
  4. A modular approach
  5. Strong leadership
  6. Ways of working openly and transparently
  7. Backchannels and watercoolers
  8. Celebration of milestones

To build on that post, I’d like to explain the kinds of tools and spaces that can create a positive architecture of participation. Please note that, in and of themselves, merely using a tool or creating a space does not guarantee participation. Rather, the tools and spaces help as part of a more holistic approach to encouraging contribution.


When I run projects, as I am doing for Moodle as of this week (more specific details on that in a future post), the following are the kinds of tools I tend to use and the spaces I look to create. It’s worth pointing out that my guiding principle is always the ‘scaffolding’ of people’s attention, and that my mental model for this is influenced by the ‘alternative’ version of the RACI matrix:

Responsible
Those responsible for the performance of the task. There should be exactly one person with this assignment for each task.

Assists
Those who assist completion of the task

Consulted
Those whose opinions are sought; and with whom there is two-way communication.

Informed
Those who are kept up-to-date on progress; and with whom there is one-way communication.

 


A) Index

I’ve written before about why you need a single place to point people towards when discussing your project. Not only does it mean a single place for potentially-interested parties to bookmark and remember, but it ensures that the project team only have to perform the administrative duties of updating and curating links once.

Ideally, the URL you give out is a domain that you or your organisation owns, and which points to a server that you, or someone at your organisation, has direct control over. The specific software you choose to run that almost doesn’t matter, as it’s an index — a jumping off point to access spaces where things are actually happening.

Having a canonical URL for the project is useful to everyone in the RACI matrix, from the person responsible for its success, right through to those just being kept informed.

N.B. This is one of the points in Working openly on the web: a manifesto.


B) Documentation

Every project needs a flexible, easy-to-update space where the roadmap can be shared, decisions can be recorded, and an overall sense of the project can be gained.

Wikis are perfect for this task, although increasingly there are tools with wiki-like functionality (e.g. revision history, on-the-fly rearrangement of categories) that do the job, too. Ideally, you’re looking for something that allows your project to look good enough to encourage contribution in someone new, while you don’t have to spend ages making everything look pretty.

Again, documentation is useful for everyone involved in the project, whether responsible, assisting, consulted, or informed.


C) Tracker

One of the biggest things that people want to know about a project is the current status of its constituent parts. There are lots of ways of doing this, from a straightforward kanban approach, to a much more powerful (but potentially more confusing) ticket/issue-based system. The latter are favoured by those doing software development, as it helps avoid unhelpful ambiguity.

My time at Mozilla convinced me that there’s huge value of having everyone at an organisation, or at least on a particular project, using the same tool for tracking updates. The value of this is that you can see what is in progress, who’s working on it, what’s been completed, any questions/problems that have been raised, and so on.

While the tracker might only be used rarely by those being kept informed of the project, it’s invaluable for those responsible, assisting, or being consulted.


D) Asynchronous reports

Producing regular updates ensures that there is a regular flow of information to all parties. In my experience, it’s ‘out of sight, out of mind’ when it comes to digital projects. You have to keep reminding people that work is ongoing and that progress is being made on the project.

One way to do this is to blog about the project. Another way is to send out a newsletter. There are plenty of ways of doing this, and it’s worth experimenting with differing timescales as to the frequency of updates. While a bit of (appropriate) colour and humour is always appreciated, so is getting to the point as quickly as possible in these updates.

Reports are primarily for the benefit of those being kept informed about the project. It’s worth remembering that these people may, depending on changes in project direction (or their interest/free time), be in a position to assist or be consulted.

A word about social media. Sending out updates via Twitter, Facebook, and the like is great, but I find following the POSSE (Publish Once, Self-Syndicate Everywhere) approach works best. Use social networks for what they’re best at: surfacing and linking to information in a just-in-time fashion. I wouldn’t use them for the actualy content itself.


E) Synchronous meetings

Depending on the size of the project team and the nature of the project, you may decide to run synchronous meetings more or less regularly. You should certainly run some, however, as they afford a different kind of dynamic to asynchronous, text-based approaches.

There are plenty of tools that allow you to have multiple people on a synchronous audio (and/or video) call, ‘dialling-in’ from wherever they are in the world. It goes without saying that you should be mindful of the timezones of potential contributors when scheduling this. You should also all be looking at an agenda that can be updated as the meeting progresses. The project’s documentation area can be used for this, or something like Etherpad (one of my favourite tools!)


What have I missed? I’ve still lots to learn from those more experienced than me, so I’d welcome encouragement, pushback, and any other comments in the section below!


Image by Daniel Funes Fuentes and used under a CC0 license

How to build an architecture of participation

Back in 2014, when I was still at Mozilla, I wrote a post entitled Towards an architecture of participation for episodic volunteering. I bemoaned the lack of thought that people and projects put into thinking through how they’re going to attract, retain, and encourage the volunteers they crave.

‘Architecture of participation’ is a term used to describe systems designed for user contribution. It’s a term I use relatively often, especially at events and thinkathons run by our co-op. Not only is it a delightful phrase to say and to hear, but (more importantly) it’s a metaphor which can be used to explore all kinds of things.

In my 2014 post, I made some suggestions for ways to improve your project’s architecture of participation. I’ve updated and improved these based on feedback and my own thinking. Based on my experience, to build an effective architecture of participation, you need:

  1. A clear mission – why does this project exist? what is it setting out to achieve?
  2. An invitation to participate – do you have an unambiguous call to action?
  3. Easy onboarding – are there small, simple tasks/activities that new volunteers can begin with?
  4. A modular approach – do volunteers have to commit to helping with everything, or is there a way which they can use their knowledge, skills, and interests to contribute to part of the project?
  5. Strong leadership – do the people in control of the project embody the mission? do they have the respect of volunteers? have they got the capacity to make the project a success?
  6. Ways of working openly and transparently – does the project have secret areas, or is everything out in the open? (this post may be useful)
  7. Backchannels and watercoolers – are there ‘social’ spaces for members of the project to interact over and above those focused on project aims?
  8. Celebration of milestones – does the project recognise the efforts and input of volunteers?

Most of the links I can find around architectures of participation seem to be tied to Web 2.0 developments pre-2011. I’d love to see a resurgence in focus on participation and contribution, perhaps through the vehicle of co-operativism.

If you’ve got another couple of features that lead to a positive and effective architecture of participation, I’d love to hear them. Then this can be a 10-point list! As ever, this post is CC0-licensed, meaning you can do with this whatever you like.


(Image drawn by audience members during a keynote I gave at Durham University in 2015)

css.php