Democratizing Development

From Open Source Ecology
Jump to: navigation, search

What are some best practices that make access to contributing easy?

OSHWA Summit 2020

G's Review

User:Groques's review:

Offers a good introduction of how the maturation of free and open-source software development led to increased democratization of the field.

Mentions a few key areas of best-practices in software development for open-source hardware to follow to become equally democratized:

  1. Accessibility
  2. Test
  3. Automation

The OSE Workbench Platform exemplifies many of these industry standard best-practices in the above key-areas.

For example:

  • Accessibility
    • Provide great libraries - OSE Workbench Platform will include the OSE Workbench Core library with common functionality to all workbenches
    • Seamless build systems - OSE Workbench Platform leverages Docker and containerization technology to create reproducible builds and distributed local development environments for workbench development
    • Write thoughtful error messages - OSE Workbench Platform includes a osewb CLI with thoughtful error messages that tell users what went wrong, and commands to execute in order to fix the problem. The OSE Workbench Core library also prints great warning messages in FreeCAD's Report view when unexpected scenarios occur for troubleshooting and debugging.
    • OSE Workbench Platform generates new workbenches with out-of-the-box support for modern-looking and mobile-friendly documentation sites, in addition to its own documention site
  • Test
    • OSE Workbench Platform generates new workbenches with out-of-the-box support for unit tests and continuous integration via Travis CI.
    • OSE Workbench Platform also provides support for generating coverage reports to aid in finding holes and gaps in current test coverage
  • Automation
    • OSE Workbench Platform provides the osewb CLI to automate common and repetitive tasks OSE workbench developers perform
    • OSE Workbench Platform provides an osewb init command to generate new workbenches automatically
    • OSE Workbench Platform plans to provide a osewb make command to initialize code for common patterns