From 9899bf94a85e72557771c140123711fc0db276cd Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 27 Jul 2026 11:53:09 -0400 Subject: [PATCH 01/10] docs: OEP-70 Shared Design Collateral Contribution Requirements Adds a Process OEP requiring that design collateral contributed to the Open edX platform be contributed back into the shared Open edX Figma instance, under open access for reuse, as a condition of the work being considered complete. Pre-existing design files are granted amnesty, following the OEP-34 lint amnesty precedent. Claims OEP number 70; 69 is claimed by openedx/openedx-proposals#805. Arbiter and Review Period are still to be assigned. Co-Authored-By: Claude Opus 5 (1M context) --- ...oep-0070-proc-shared-design-collateral.rst | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 oeps/processes/oep-0070-proc-shared-design-collateral.rst diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst new file mode 100644 index 000000000..9b8ebf2ff --- /dev/null +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -0,0 +1,176 @@ +.. _OEP-70 Shared Design Collateral Contribution Requirements: + +OEP-70: Shared Design Collateral Contribution Requirements +########################################################## + +.. list-table:: + :widths: 25 75 + + * - OEP + - :ref:`OEP-0070 ` + * - Title + - Shared Design Collateral Contribution Requirements + * - Last Modified + - 2026-07-27 + * - Authors + - Sam Daitzman + * - Arbiter + - TBD (Needs an arbiter) + * - Status + - Draft + * - Type + - Process + * - Created + - 2026-07-14 + * - Review Period + - TBD (recommended 2 weeks) + * - References + - Open edX shared Figma instance; `Open edX Shared Design Collateral + `_; + :ref:`OEP-1 ` + +.. contents:: + :local: + :depth: 1 + +Abstract +******** + +This OEP establishes that design collateral contributed to the Open edX +platform must be contributed back into the shared Open edX Figma instance, +under open access for reuse, as a condition of the work being considered +complete. This applies to all design contributions to the platform. It applies +the same collaboration model the community already relies on for code to +design: a single source of truth, versioned work in branches, and maintainer +review before merge. + +Following the precedent of prior *amnesty*-style process changes (e.g., the +:ref:`lint amnesty `), +the requirement applies going forward only: existing and legacy design files +are granted amnesty and are not required to be retroactively migrated to match +the structure or format of the standard reference design collateral, though +contributing them is strongly encouraged. + +Motivation +********** + +Historically, Open edX has had no shared source of truth for design resources. +This created three recurring problems: + +1. **Duplicated, siloed work.** Every provider with design capacity maintained + separate, out-of-date versions of designs, and teams regularly recreated + designs from scratch for existing Open edX apps. +2. **Ambiguous intent.** Without a design source of truth, engineers could not + differentiate intentional design decisions from provider-specific Figma + quirks or accidents. +3. **High onboarding cost.** New design contributors had nowhere to start and + no history of decisions to build on, making community onboarding very + difficult. + +The shared Open edX Figma instance now provides that source of truth, with +resources across nearly all platform areas and modern, reusable file structures +aligned to Paragon. However, **adoption is now the central risk to future Open +edX community shared/open design efforts.** Strong in-person interest has not +translated into active use of the shared instance, and some active +contributions have built on openly shared components without contributing their +new files back or making them available for open reuse. + +Without a community-wide norm, a single provider effectively becomes the only +party keeping the files current, which is not sustainable. Codifying a +contribution expectation is the most direct lever to secure the long-term value +of the shared instance. + +Specification +************* + +1. **Contribution requirement.** Any accepted product proposal that includes + design work MUST submit its design collateral to the shared Open edX Figma + instance for the project to be considered complete. This SHOULD be captured + as an expectation in future design contributions. + + - **Note**: the contribution model is actively maintained by the `Design + `_ and `Frontend + `_ Working Groups, which will + allow for flexibility and openness in shared design collateral governance + going forward. + +2. **Open access.** Contributed files MUST be openly accessible and reusable by + the community (viewable and exportable, under an open license) so that + anyone can reference or build on them, including for open-format export and + agentic prototyping. +3. **Workflow parity with code.** Contributions happen in branches within the + shared instance. Design maintainers review work-in-progress and provide + feedback before it is merged into the live product-area files, mirroring the + code-maintainer model. Frozen release files are published to the Figma + Community as part of the release (Build-Test-Release, or BTR) process. +4. **Roles.** Each proposal and contribution stream has identified Author(s) + and an Arbiter, plus Design Maintainers (analogous to code maintainers) + responsible for reviewing and merging contributions. +5. **Communication and relay.** This expectation is relayed to current and + future contribution owners and providers, and at minimum current + contribution owners are asked to return files they worked on to the shared + instance. + +Backward Compatibility +********************** + +This OEP applies to new and future work only: **no regressions.** Design work +that predates this proposal is granted amnesty: providers are not required to +retroactively migrate legacy files into the shared instance, though doing so is +strongly encouraged. This mirrors the community's linting-amnesty precedent, +where new violations are disallowed while pre-existing ones are forgiven. + +Rationale +********* + +- **Proven model.** Code contributors already benefit from a shared source of + truth, versioning, parallel work, central issue tracking, and a shared doc + site (Paragon). Extending the same practices to design is a natural, low-risk + step. +- **Lower barrier to entry.** A shared, openly licensed instance lets new + contributors start from existing work instead of an empty canvas, + accelerating onboarding. +- **Cleaner handoffs.** A design source of truth lets engineers distinguish + intentional decisions from accidents, reducing guesswork and rework. +- **Reduced duplication.** Shared, reusable atoms, molecules, and full views + cut redundant design spend across providers. + +Rejected Alternatives +********************* + +- **Voluntary adoption only.** Already attempted through direct and + working-group outreach. It produced enthusiasm but insufficient + follow-through, leaving maintenance concentrated in a single provider. +- **Any single provider as ongoing design arbiter.** Rejected. The goal is a + shared community norm and capability, not a gatekeeper. Time-boxed resourcing + to help providers through first-time heavy lifts, plus reusable training, is + a complementary effort, not a permanent arbitration role. + +Open Questions +************** + +- Identification of the Arbiter. +- Exact licensing terms and access mechanics for contributed files. +- Whether the requirement applies to all design contributions or a defined + subset or tier. +- The support and resourcing model (e.g., a pilot and training) to help + providers meet the requirement. + +Change History +************** + +2026-07-27 +========== + +* Converted the working draft to the OEP format and claimed the number OEP-70. + +2026-07-14 - 2026-07-20 +======================= + +* Editing some details, asking for some community input. + +2026-07-14 +========== + +* Initial draft synthesized from recent Shared Design Collateral syncs and the + community provider-adoption debrief. From aa2475e8596017cdb6e7548e0d280ae3c59fb22e Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 15:19:23 -0400 Subject: [PATCH 02/10] docs: Separate reference links, preserve OEP-1 full name Co-authored-by: Sarina Canelake --- oeps/processes/oep-0070-proc-shared-design-collateral.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index 9b8ebf2ff..d2c9a6a05 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -25,9 +25,10 @@ OEP-70: Shared Design Collateral Contribution Requirements * - Review Period - TBD (recommended 2 weeks) * - References - - Open edX shared Figma instance; `Open edX Shared Design Collateral - `_; - :ref:`OEP-1 ` + - | Open edX shared Figma instance + | `Open edX Shared Design Collateral + `_ + | :ref:OEP-1 OEP Purpose and Guidelines` .. contents:: :local: From 26e997ff01f60e2068dd3d7df4fc5096e602fa1c Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 15:20:24 -0400 Subject: [PATCH 03/10] docs: Rephrase to avoid using Open edX as a noun Co-authored-by: Sarina Canelake --- oeps/processes/oep-0070-proc-shared-design-collateral.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index d2c9a6a05..f18ba2b91 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -55,7 +55,7 @@ contributing them is strongly encouraged. Motivation ********** -Historically, Open edX has had no shared source of truth for design resources. +Historically, the Open edX project has had no shared source of truth for design resources. This created three recurring problems: 1. **Duplicated, siloed work.** Every provider with design capacity maintained From 9655c459218091c400fdd1c2a7c8e2a5a993a886 Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 15:22:52 -0400 Subject: [PATCH 04/10] docs: Drops capitalization from "must" instance Co-authored-by: Sarina Canelake --- oeps/processes/oep-0070-proc-shared-design-collateral.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index f18ba2b91..a41139b1e 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -85,7 +85,7 @@ Specification ************* 1. **Contribution requirement.** Any accepted product proposal that includes - design work MUST submit its design collateral to the shared Open edX Figma + design work must submit its design collateral to the shared Open edX Figma instance for the project to be considered complete. This SHOULD be captured as an expectation in future design contributions. From c70b0ac0660781632c6f578faedfce04768cfa8b Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 15:45:41 -0400 Subject: [PATCH 05/10] docs: Drop additional unnecessary capitalization --- oeps/processes/oep-0070-proc-shared-design-collateral.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index a41139b1e..625c1f40d 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -86,7 +86,7 @@ Specification 1. **Contribution requirement.** Any accepted product proposal that includes design work must submit its design collateral to the shared Open edX Figma - instance for the project to be considered complete. This SHOULD be captured + instance for the project to be considered complete. This should be captured as an expectation in future design contributions. - **Note**: the contribution model is actively maintained by the `Design @@ -95,7 +95,7 @@ Specification allow for flexibility and openness in shared design collateral governance going forward. -2. **Open access.** Contributed files MUST be openly accessible and reusable by +2. **Open access.** Contributed files must be openly accessible and reusable by the community (viewable and exportable, under an open license) so that anyone can reference or build on them, including for open-format export and agentic prototyping. From 998fb5e81da6383e0e5f26015d67891cf6f16c01 Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 15:58:08 -0400 Subject: [PATCH 06/10] docs: Align change history to OEP convention Drops unnecessary detail from change history --- .../oep-0070-proc-shared-design-collateral.rst | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index 625c1f40d..31ebd9438 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -160,18 +160,8 @@ Open Questions Change History ************** -2026-07-27 -========== - -* Converted the working draft to the OEP format and claimed the number OEP-70. - -2026-07-14 - 2026-07-20 -======================= - -* Editing some details, asking for some community input. - 2026-07-14 ========== -* Initial draft synthesized from recent Shared Design Collateral syncs and the - community provider-adoption debrief. +* Document created. +* `Pull request #813 `_ From ac12cad2b491365f0c72b379735be6826374b1f0 Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 15:59:39 -0400 Subject: [PATCH 07/10] docs: Switch to automatic ordered list numbering --- .../oep-0070-proc-shared-design-collateral.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index 31ebd9438..f51410822 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -58,13 +58,13 @@ Motivation Historically, the Open edX project has had no shared source of truth for design resources. This created three recurring problems: -1. **Duplicated, siloed work.** Every provider with design capacity maintained +#. **Duplicated, siloed work.** Every provider with design capacity maintained separate, out-of-date versions of designs, and teams regularly recreated designs from scratch for existing Open edX apps. -2. **Ambiguous intent.** Without a design source of truth, engineers could not +#. **Ambiguous intent.** Without a design source of truth, engineers could not differentiate intentional design decisions from provider-specific Figma quirks or accidents. -3. **High onboarding cost.** New design contributors had nowhere to start and +#. **High onboarding cost.** New design contributors had nowhere to start and no history of decisions to build on, making community onboarding very difficult. @@ -84,7 +84,7 @@ of the shared instance. Specification ************* -1. **Contribution requirement.** Any accepted product proposal that includes +#. **Contribution requirement.** Any accepted product proposal that includes design work must submit its design collateral to the shared Open edX Figma instance for the project to be considered complete. This should be captured as an expectation in future design contributions. @@ -95,19 +95,19 @@ Specification allow for flexibility and openness in shared design collateral governance going forward. -2. **Open access.** Contributed files must be openly accessible and reusable by +#. **Open access.** Contributed files must be openly accessible and reusable by the community (viewable and exportable, under an open license) so that anyone can reference or build on them, including for open-format export and agentic prototyping. -3. **Workflow parity with code.** Contributions happen in branches within the +#. **Workflow parity with code.** Contributions happen in branches within the shared instance. Design maintainers review work-in-progress and provide feedback before it is merged into the live product-area files, mirroring the code-maintainer model. Frozen release files are published to the Figma Community as part of the release (Build-Test-Release, or BTR) process. -4. **Roles.** Each proposal and contribution stream has identified Author(s) +#. **Roles.** Each proposal and contribution stream has identified Author(s) and an Arbiter, plus Design Maintainers (analogous to code maintainers) responsible for reviewing and merging contributions. -5. **Communication and relay.** This expectation is relayed to current and +#. **Communication and relay.** This expectation is relayed to current and future contribution owners and providers, and at minimum current contribution owners are asked to return files they worked on to the shared instance. From a453befcd80c2d0bdb18987fcb5431d36c9e7598 Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 16:01:07 -0400 Subject: [PATCH 08/10] docs: Drop "Identification of the arbiter" --- oeps/processes/oep-0070-proc-shared-design-collateral.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index f51410822..a62236f03 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -150,7 +150,6 @@ Rejected Alternatives Open Questions ************** -- Identification of the Arbiter. - Exact licensing terms and access mechanics for contributed files. - Whether the requirement applies to all design contributions or a defined subset or tier. From c776fe6c8fd929c79a0caf68f3d6811687d8501e Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 16:03:59 -0400 Subject: [PATCH 09/10] docs: Drop rejected alternatives section --- .../oep-0070-proc-shared-design-collateral.rst | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index a62236f03..859f55c5d 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -136,17 +136,6 @@ Rationale - **Reduced duplication.** Shared, reusable atoms, molecules, and full views cut redundant design spend across providers. -Rejected Alternatives -********************* - -- **Voluntary adoption only.** Already attempted through direct and - working-group outreach. It produced enthusiasm but insufficient - follow-through, leaving maintenance concentrated in a single provider. -- **Any single provider as ongoing design arbiter.** Rejected. The goal is a - shared community norm and capability, not a gatekeeper. Time-boxed resourcing - to help providers through first-time heavy lifts, plus reusable training, is - a complementary effort, not a permanent arbitration role. - Open Questions ************** From b80c5052119d9720876eec391867001f9b47cf3e Mon Sep 17 00:00:00 2001 From: Sam Daitzman Date: Mon, 10 Aug 2026 16:10:53 -0400 Subject: [PATCH 10/10] docs: Increase specificity of release process Co-authored-by: Sarina Canelake --- oeps/processes/oep-0070-proc-shared-design-collateral.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oeps/processes/oep-0070-proc-shared-design-collateral.rst b/oeps/processes/oep-0070-proc-shared-design-collateral.rst index 859f55c5d..b47837363 100644 --- a/oeps/processes/oep-0070-proc-shared-design-collateral.rst +++ b/oeps/processes/oep-0070-proc-shared-design-collateral.rst @@ -102,7 +102,7 @@ Specification #. **Workflow parity with code.** Contributions happen in branches within the shared instance. Design maintainers review work-in-progress and provide feedback before it is merged into the live product-area files, mirroring the - code-maintainer model. Frozen release files are published to the Figma + code-maintainer model. Design files for each named release, frozen at the time of release cut, will be published to the Figma Community as part of the release (Build-Test-Release, or BTR) process. #. **Roles.** Each proposal and contribution stream has identified Author(s) and an Arbiter, plus Design Maintainers (analogous to code maintainers)