Skip to content
View BrianJDrake's full-sized avatar
  • Perth, Western Australia
  • 07:06 (UTC +08:00)
Block or Report

Block or report BrianJDrake

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
BrianJDrake/README.md

Brian Drake

This user's GitHub contributions:

  • Meet the general standards described below for clarity, modularisation, security and support.
  • Are supported to the extent possible in this user's limited free time.
  • (for original contributions) Are free of copyright.
  • Are libre (or 'free as in freedom'), meaning that everyone is free to use, study, change and distribute them.

Software standards

All of this user's software meets, and all software should meet, the general standards below.

Some commonly accepted software does not meet these standards; in some cases, examples are given below.

Clarity

  • Code (including APIs and automatically generated code) is self-documenting and works the way that type of code would be expected to work (where possible).

    A good example of unclear automatically generated code that turned out to be problematic is Emscripten's glude code.

  • Dependencies are clearly stated.

    Static imports are placed together in a typical location. For dynamic imports triggered by function calls or similar constructs (like in JavaScript), if the import specifier (just not the timing of the import) is known in advance, then the function call is wrapped in another function and the wrapper function's definition is placed together with any static imports.

    An example of dynamic imports that are typically not placed together with static imports is lazily loaded Vue Router components.

Modularisation

  • Each part is as universal as possible (in particular, JavaScript code is isomorphic and uses strict mode).

Security

  • Software is secure by default. In particular:

    • Software, by default, respects existing security boundaries, including those between operating system users. In particular:

      • Software creates temporary files (and directories) securely.
      • Software properly handles the possibility of local web servers being accessed by other local users.
    • Software does not access the network, except as necessary to follow the commands it is given.

  • Recommendations given in documentation are secure.

Support

  • All versioned material uses semantic versioning.
  • For all supported material, all critical issues (including security issues) are fixed via minimal patches as soon as practical.

Support

For all current (not archived) GitHub repositories, the latest release version is supported to the extent possible. No level of support is actually guaranteed; this user supports these repositories in their limited free time.

Forks are only included if they indicate that this user has taken responsibility for them.

Copyright waiver

Most works are automatically covered by copyright, but all of this user's original GitHub contributions are dedicated to the public domain (no copyright) under the CC0 1.0 Public Domain Dedication, a copy of which is in LICENSE.txt.

Freedom

All of this user's GitHub contributions (including third party material, except some quotes) are libre (or 'free as in freedom'). This means that they provide the public basic freedoms; these are the freedom to:

  • Use the material for any purpose.
  • Study and change the material.
  • Distribute the material (with or without changes).

These freedoms are provided automatically, with minimal requirements (such as attribution), and can only be revoked for a particular user if that user violates those requirements. Material that denies the public these freedoms is called 'proprietary'.

Popular repositories

  1. GitHub-test GitHub-test Public archive

  2. GitHub-README GitHub-README Public archive

  3. BrianJDrake BrianJDrake Public

    Config files for my GitHub profile.

  4. fork-bytecodealliance-jco fork-bytecodealliance-jco Public

    Forked from bytecodealliance/jco

    JavaScript tooling for working with WebAssembly Components

    Rust

  5. universal-web-app universal-web-app Public