Define an overall goal to have an answer for questions you do not know yet.
Truly respect and invite the users to collaborate.
Be transparent and write everything (!) down.
Be inviting and combine your centralized team with a federated approach.
Use your design system as a bootcamp for new colleagues.
Clearly communicate the states of your components and also provide beta states to let your community experiment.
Make decisions comprehensible and document the reason for every version.
Create a decision tree to let the users know how they can contribute.
Celebrate contributions.
Naming is hard, do it collaboratively.
Enable flexibility by offering a mix of fixed and loose rules.
Don’t forget your designers and define areas for creativity.
Everyone benefits if products are easier to use.
Define your principles in ranges so that future components can also be classified.
Define rough patterns to have an environment for the components.