View on GitHub

UWaterloo software development

Home

Policy | Licensing | Procedures | Auditing | Maintenance

Releasing procedures

UWaterloo encourages you to release code as an open source project. The Release Policy details the requirements.

  1. Name your project. Check that it does not conflict with an existing project or infringe on any trademarks.
  2. Include the following files in the root directory. The folder with the templates is available here.
    • README.md describing the purpose and state of the repository. A good README file is often critical to project success. This is also a good place to put any top-level and important information for newcomers to your project.
    • LICENSE using the appropriate license. See the release policy for more details.
    • CONTRIBUTING.md with instructions on contributing to your project.
      • Additionally, consider providing technical guidance like build instructions, coding conventions, or a project roadmap in the CONTRIBUTING.md.
    • CODE_OF_CONDUCT.md
    • SECURITY.md including instructions that enable users to privately report security vulnerabilities found in your project.
  3. Prepare the code for release.

    • Remove sensitive assets.

      • Remove any reference in the code to internal or confidential information, including internal paths, tools, codenames, proprietary fonts, internal telemetry and email aliases.
      • Remove any trademarks or product icons.
      • If any sensitive content or commit messages are found in commits, consider squashing the revision history.
      • To preserve sensitive history or if you wish the public repo to have zero non-commit history, rename the private repo and create a new blank slate repo with the intended public name and any commit history intended to be public.
    • Third-party open source. If your repository bundles third-party Open source software which is not managed by a dependency manager (e.g. RubyGems, NPM), describe its use and its license in a NOTICE file.
    • Best Practices. To the best of your ability, adhere to our software practices
  4. Submit your intent to relicense. Create an issue in the software-development repo to start your intent to relicense.

  5. Auditing. Refer to the Auditing process
  6. Going forward. A briefing will be sent for approval to the CIO. If your project is approved for release, read through our upcoming documentation for tips on managing an open source project at UW.