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.
tCRIL 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)
Maintain existing documentation: reviewing/updating documentation as needed, including:
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 you already can get for free: devstack, learner account on tCRIL-hosted Open edX instance, local instance, or other community-based instance
Write access to Open edX documentation repositories
(potentially) access to shared Google docs & read-only access to Miro, if documenting unreleased features
Take the content author’s track of accessibility course (TBD)
Product managers - Sarina
The Product Manager CC role is currently vague and mostly undefined. If you are interested in fulfilling this role, please prepare a brief proposal indicating:
what project you want to tackle
What your involvement would look like (would you work with a team? What is that team? Would you be doing any Product Analyst type work? (analyzing subjective and objective data to help inform product proposals an direction))
What types of support you think you would need
(if possible) What types of training you might need or want
How you plan to use your 20 hour/month Core Contributor commitment
Please send your proposal to firstname.lastname@example.org. Currently, we are not in the state to provide projects or delegate work to a volunteer, but we would love to assist you in the project(s) you wish to work in.
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
More responsibilities TBD depending on candidate proposal
Depends on proposal/project
Depending on projects, may wish to do a brief interview/meet & greet with you
Take the content authoring version of the a11y course (TBD)
UX/UI - Sarina
Create design work in standard tools for upcoming/in flight projects
Participates in Design Review meetings with 2U/edX UX team, as needed
Has a “champion” relationship with a UX manager, as needed
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.
Take the content authoring and/or developers versions of the a11y course depending on focus (high level or writing some frontend) (TBD)
Open Source Pull Request Project Manager - Sarina (Natalia from 2U/edX)
Someone external coming in and managing OSPRs - does not need to be affiliated with an 2U/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 & 2U/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!
Already granted publicly: read access to GH, shared Slack channels
Ability to move ticket states on the open Jira OSPR board
No additional requirement
Forum moderators - Sarina
Forum moderators have the “moderator” capability in the Open edX forums. Additionally they may serve as Community TAs for one or more courses hosted on a tCRIL-hosted Open edX instance.
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
(for regular forum) Moderator role on discuss.openedx.org
(for regular forum) Access to #discourse-moderators in Open edX Slack
(for Community TAs) Community TA permissions on one or more tCRIL-produced Open edX courses
No additional requirements
Content Authors - Sarina
This role refers specifically to those community members with authoring permissions on a tCRIL-hosted Open edX instance.
Please note: The Course Author role is separate and distinct from the Course Administrator and Course Data Manager roles, and there is explicitly no guarantee that a Course Author will be approved to serve as an administrator or data manager on any given course, including a course that they authored.
Author content for one or more tCRIL-produced courses
Studio (authoring) access to one or more tCRIL-produced courses in the tCRIL Open edX instance
Content authoring accessibility course (TBD)
This role refers specifically to those community members with admin permissions for one or more courses on a tCRIL-hosted Open edX instance. Admin permissions are defined as permissions which allow you to view sensitive learner information such as learner email addresses, learner course grades, and problem submissions. A person with an in-course designation of “Community TA” does not fall under this umbrella but rather would fall under the “Forum moderators” CC distinction.
Perform administrative tasks for such courses, including but not limited to responding to learner requests and managing course bulk email
Course team member or course admin level permissions in the LMS
If needed/desired, Discussion moderator access (grants “Staff” badge in course forums)
In addition to the normal Core Contributor program agreement, you will be asked to sign an addendum that will cover access to and management of learner data
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)
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 tCRIL and possibly within other community member orgs necessary to carry out their work
Product managers will work alongside a 2U/edX or tCRIL “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)