Skip to content

OSS checklist #1

@TheKinrar

Description

@TheKinrar

Set Up

Repository and Issue Tracking

  • Code repositories and issue trackers are present (best options: GitHub or Gitlab)
  • No special permission or specific institutional affiliation is required to access the repositories and issue trackers
  • No special permission or specific institutional affiliation is required to clone, build and run the project
  • Issue tracker had been set up according to blindnet's conventions

Website

  • Project has an associated website
  • No special permission or specific institutional affiliation is required to access any page of the website
  • Website features a project description of less than 100 words

Naming and Presentation

  • Project has a cool name that people can easily remember or reflects the purpose of the project
  • URL of the repository and title of the README contain the name of the project
  • URL of the repository and title of the README are clear, concise, and do not include any dispensable word
  • Project description is consistent across platforms

User documentation

README

  • Project has README.md file in its root directory
  • README specifies the purpose of the project
  • README content is clear, concise, and complete
  • README content makes no infringements to the plain language guidelines

Onboarding guides

  • README and project website contain the installation guide
  • Installation guide is clear and ideally can be performed by just copy-pasting the installation steps
  • README presents a minimum viable feature that hooks the user
  • Project is stable enough to offer this minimum viable feature without any bug or performance and security issue
  • README and project website contain the quick start guide
  • README explains the quick start in a few lines
  • Project website features a more detailed quick start guide
  • Quick start code should work without any bugs or performance issues
  • An example project containing the quick start code should exist
  • README has a link to contributor guidelines
  • Project website features a quick start guide for new contributors
  • Project website features a detailed contributor guidelines
  • README underlines at least one undebatable and objective strength of the project
  • Minimum viable feature confirms the presented strengths of the project

Communication channels

  • Project features communication channels exclusively for new users and contributors

Documentation

  • Documentation is available online
  • Documentation has a home page
  • Documentation has links to the project's repository and the blindnet website
  • Documentation includes a complete yet straightforward tutorial
  • (if applicable) Project as en embedded documentation (e.g. --help option for a CLI)
  • Documentation covers common use cases
  • Documentation contains usage guides
  • Documentation contains full API description and reference
  • Documentation contains project's glossary
  • Documentation contains information of inner workings of the library (i.e. explanation of an encryption protocol)
  • Documentation is searchable
  • All users and community members can easily find the documentation (i.e. a link exist and stand out in the README and website)
  • Documentation doesn't present any bug on any tool used to consult it (e.g. a documentation website can be read with any evergreen browser)
  • Anyone can easily report a documentation related issue
  • Anyone can easily contribute to the documentation
  • Documentation contains release notes
  • Community members are encouraged to propose improvements to the documentation
  • Documentation makes as few infringements to plain language guidelines as possible
  • Documentation appears complete
  • Documentation is stylistically consistent
  • Project features documentation specifically aimed at new users
  • Project has thoroughly documented installation processes
  • Project has thoroughly documented process of compiling source code
  • Project creates and maintains documentation via automated processes

License

  • Project use a valid license according to the Blindnet Open Source Program
  • Project does not require a contributor licensing statement or agreement
  • Project does not feature code with per-file licensing
  • Repository contains a LICENSE file containing the whole text of the license
  • README contains a link to the LICENSE file
  • License is consistent across the whole project (website, documentation, configuration files, code, etc.)
  • License is referred to in every packaged distribution of the project (e.g. npm - package.json)
  • Project doesn't contain any obvious code or dependency that could constitute an infringement of the license

Development

Contributing Guidelines

  • The project includes a CONTRIBUTING.md file in its root directory
  • Project clearly identifies opportunities for contributions of different types (code, documentation, design, etc.)
  • Repository includes a complete developer documentation
  • Requirements for development can be fulfilled on Linux
  • Requirements for development can be fulfilled on Mac OS
  • Requirements for development can be fulfilled on Windows
  • Anyone can fulfil the prerequisites for development within a reasonable amount of time; ideally, less than an hour of manual work (not including the building time, downloading dependencies etc.)

Developer Documentation

  • Repository includes a complete developer documentation
  • Developer documentation includes all installation steps, including prerequisites (with link to the specific part in the tool documentation whenever needed)

Testing

  • Repository includes testing tools
  • Repository includes unit tests
  • Repository includes a complete documentation of testing tools, methodes and conventions
  • Anyone can install testing tools and run the tests by only refering to the documentation

Release management

  • Release policies are documented in the repository and/or website
  • Releases follows a consistent versionning conventions (semver is recommanded by default)
  • Release process is automated and documented
  • Release process include clear guidelines to document changes and intentions in every release
  • All releases are well documented
  • Project publish releases at consistent intervals
  • Project has implemented a quality assurance process
  • Project uses automated continuous integration and development tooling
  • Project releases are available from consistent download location
  • (if applicable) Project releases software in multiple formats (e.g. UMD and ESM formats for JS libraries)

Activity

  • Project has issued a release in the past 12 months
  • Project releases software at consistent intervals

Organisation

Governance

  • Project has clearly identified lead maintainers
  • Project has identified means of contacting lead maintainers
  • Project has identified various roles contributors can occupy
  • README and CONTRIBUTING make mention of the Blindnet Openness Framework
  • Project makes and records decisions publicly according to the Blindnet Openness Framework

Code of Conduct

  • A Code of Conduct has been defined for the project
  • Code of Conduct is presented in README and CONTRIBUTING
  • Anyone can easily identify where and how to report an infraction to the Code of Conduct
  • Anyone can report an infraction to the Code of Conduct without any other requirement than having access to a largely used tool (e.g. email client or web browser)
  • Report of an infraction to the Code of Conduct can be treated in less than two working days

Metadata

Metadata

Labels

priority: 2 (required)High priority issue that should be resolved as soon as possibletype: enhancementImprove quality of an existing feature

Type

No type

Projects

Status

🆕 New

Status

🔖 Ready

Status

🔖 Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions