Problem Statement
There are many contributors to the Open edX platform that participate in a variety of ways - writing code for the Open edX software, translating the project, people performing Quality Assurance tasks, members of the Marketing working group, documentation writers, and more. While previously the Core Contributor Program has focused on code contributors, we want to send the message that all contributors to the platform play a meaningful role and deserve the designation Core Contributor.
Core Contributors have a set of Rights and Responsibilities to the Open edX platform. In exchange for those Rights to contribute, we ask for some Responsibilities: this will include signing a Program Agreement and following the responsibilities of the roles that are laid out below.
Who can become a Core Contributor?
What specific roles required is detailed in the below Role Descriptions section. In general, however, people wishing to be Core Contributors need to show sustained, active performance in the role prior to being nominated as a NTC. We call this the “3 Cs”: Commitment, Conduct, Caliber. These people follow the Code of Conduct, are respectful of other community members, and are generally polite and welcoming. That means if you wish to be a Core Contributor, you should begin by joining the Open edX project and participate in a way that’s meaningful to you. Reach out to us if you don’t know how to begin!
Core Contributor Role Descriptions
Roles are listed below; the person listed next to the role is the person most highly responsible for the definition.
edX Legal Requirements: Common for all Core Contributor Program Participants
We are asking that all Core Contributors, regardless of role, complete the following requirement:
Sign a Core Contributor Program Agreement, sent to you by Program administrators when you are invited to the program. This Agreement covers all NTC role types, so if you switch to a new role or add on responsibilities of a second, you will not need more paperwork (exception: the Committer role requires a bit more paperwork)
We are additionally asking that, for those Core Contributors contributing on behalf of an employer, all employers of Core Contributors sign the DRAFT: Nov 2021 Revised Declaration of Commitment to the Core Contributor Program when it is finalized in late November 2021, to demonstrate that they are willing to spend part of your time working on the Open edX project.
Project manager (leading Open edX projects and/or working groups) - Sarina
Responsibilities:
Effectively and efficiently enable collaboration on Open edX projects and working groups.
Perform quality control on the project throughout development to maintain the standards expected.
Planning
Create long- and short-term plans, including setting targets for milestones and adhering to deadlines.
Adjust schedules and targets on the project as needed.
Communications
Communicate updates and keep the project aligned with their goals.
Serve as a point of contact for the project.
Collaboration
Facilitate group discussions that result in effective decision-making when multiple options are present.
Delegate tasks on the project to community members best positioned and interested to complete them.
Prefer asynchronous discussions to accommodate global timezones.
Access:
GitHub - Write Access to GitHub Projects
Miro access for facilitating group conversations
Calendly account
Any additional access, as needed, to support particular projects and working groups that the PM is associated with.
Translation Reviewers - Eden
Responsibilities:
Translate edX strings into their spoken language(s)
Review/accept translations; serve as arbiters of correct translations
Attend Transifex Working Group meetings
Report edX-specific and uncontextualized strings to the edX team
Identify stellar translators in their language and encourage/support them
Access:
Access they already can get for free: translator access on Transifex, reviewing capabilities for their language(s)
edX requirements:
Required review of a Transifex training document instead of the privacy and a11y training courses
QA - Sarina
Responsibilities:
Test the following areas and produce actionable issue reports, following up with coders needing clarification, retesting, etc.
Test new features prior to or immediately after release, including accessibility and internationalization aspects
Test out/exercise named releases
Test and review documentation of features, both new and existing features (maintenance work)
Test and review release notes.
Access:
Potentially read only access to Miro
Potentially access to shared Google docs
Access they already can get for free: GitHub read access, devstack, edx.org student account
edX requirements:
Take the Engineering version of the a11y course to be able to better test a11y features
Marketing WG members - Eden
Responsibilities:
Website enhancements to increase consumer site traffic
Representing the Open edX project in public events, event planning and organizing (for both online and in person events)
Transifex contributions for the Open edX platform & website (Italian, French, Spanish, German)
Content Creation: identifying blog content & authors, social media content mgmt., website content in form of videos, images, demos + documentation
Access:
Website (authoring roles)
Transifex translator & reviewer access
Social media channel access
Shared space to discuss ideas, posts and launch dates (e.g. Adobe)
Documentation - Sarina
Responsibilities:
Proficiency in professional English
Follows the documentation specifications laid out in OEP-19
Maintain existing documentation: reviewing/updating documentation as needed, including:
Onboarding materials
Courses
Documentation infrastructure
Produce new documentation, including:
Test out released features and document their use
Test out developer-facing tools (devstack, Tutor) and document their use
Test out installing/running named releases and document how to do it
(potentially) provide documentation for unreleased features (note: I currently believe we do not have the capacity to support documentation of unreleased features)
Access:
Access they already can get for free: devstack, http://edx.org student account
Write access to edX documentation repositories
(potentially) access to shared Google docs & read-only access to Miro, if documenting unreleased features
Product managers - Sarina (Shelby from 2U/edX)
Responsibilities:
Define opportunity areas, other potential teams, gather input from the broader community
Ex ecommerce deprecation - would be good to have a product direction from the community about incorporating other third party payment providers
PM is required to have access to dev resources, so initially will need to be from an affiliated partner organisation or have other access to development resources (perhaps a coalition from the community?)
Unfortunately 2U/edX does not currently have opportunities for PM work that is not backed by dev effort
You don’t need to bring your own devs! There may be projects in the works already who would greatly appreciate the addition of a Product Manager to their efforts. Ask around in Discourse, on Slack, or ping people on PRs to find a good match.
Has a “champion” relationship with a PM (may act as a mentor/helper - good opportunity for an 2U/edX PM without direct reports)
Participates in Product team meetings to present product direction/approaches as needed
Unlikely to have to participate in Consumer Review meetings
Access:
Miro
Figma
In some cases, JIRA/Confluence
Shared Google documents
edX requirements:
Participate in an interview with the Product team - may be a case study + an interview with the edX product manager you’d be working most closely with initially
UX/UI - Sarina (Stacey from 2U/edX)
Responsibilities:
Create design work in standard tools for upcoming/in flight projects
Participates in Design Review meetings with edX UX team
Has a “champion” relationship with a UX manager
Unfortunately 2U/edX does not currently have opportunities for UX work that is not a part of established projects. This means you should bring your own community projects, or ask the 2U/edX team if there’s work available that you can pick up.
Access:
Miro
Figma
In some cases, JIRA/Confluence
edX requirements:
Participate in an interview with UX team
Does not start until we hire more UX managers in Q1
Open Source Pull Request Project Manager - Sarina (Natalia from 2U/edX)
Responsibilities:
Someone external coming in and managing OSPRs - does not need to be affiliated with an edX partner organization
Ideally someone technical enough to understand how complex a given changeset is
Can use CI tools
Able to communicate clearly and concisely to core committers & edX engineering about priority and relative effort
Follows newly incoming requests and triages them
Say Hi on the PR
Route to the proper team
Follows older PRs and bumps them
Ping the author if something’s been waiting on them for a long time
Ping the reviewers if something’s been waiting on them for a long time
We can train you on this job!
Access:
Already granted publicly: read access to GH, shared Slack channels
Ability to move ticket states on the open Jira OSPR board
Forum moderators - Sarina
Responsibilities:
Re-Categorize new topics
Remove spam posts/ban spam users
Organize older topics as needed/maintain the platform
Respond to topics with high quality answers - pointers to documentation, referral to other users, etc
Access:
Moderator role on discuss.openedx.org
Do we still use the #discourse-moderators Open edX Slack channel? if so: add to that channel.
edX requirements:
Open Question: Forum moderators will not be exposed to any edX internal details - we will rely on them to be independent operators, much like a volunteer moderator on any other internet forum (like Reddit, StackOverflow, etc)
However, if they need to sign an NDA, they should take the Privacy course
Since accessibility is not a concern on the Forums (the Discourse software takes care of a11y), we do not recommend they take the a11y course.
Code contributors - Sarina
The right to commit code directly to the Open edX project is not granted lightly. Please see the following set of pages which dives deeper into the rights and responsibilities of an Open edX code contributor: Core Contributor Program: Committers
What are a Core Contributor’s access & responsibilities?
CCs may need access to…
Internal 2U/edX tools
Various Google docs/sheets (WG members/Project mgrs/PMs/UX)
Design Tools
Figma (PM/UX)
Miro (PM/UX/QA/Project mgr)
Committer access to documentation repos (docs)
Admin access to marketing sites/materials (marketing WG)
Tools that already have access but we should be sure are set up
Appropriate Jira/Confluence access - may involve some access to currently-private spaces
Shared Slack channels
Should we adopt a “Champion” model?
Could have a Champion (essentially point of contact & advocate) per role type - thinking
The Transifex Working Group with assistance from Eden will serve as champion for and oversight of Translators.
We could build out a QA function organically and have a QA Working Group oversee team efforts
Marketing WG with assistance from Eden serves as champion/oversight of Marketing CCs
UX Core Contributors will work alongside a 2U/edX “champion”
Project managers will likely not need champions, but rather points of contact at the non-profit and possibly within other community member orgs necessary to carry out their work
Product managers will work alongside a 2U/edX “champion”, likely the person they work most closely with for a given project or someone acting in a bit of a mentorship-like capacity
For certain, the 2U/edX UX & Product Management teams would like their CCs to have a designated point of contact/mentor within the building, in order to advance a consistent platform product vision (for example, adhering to style conventions like Paragon)