├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.swp 3 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | 2 | # Contributor Covenant Code of Conduct 3 | 4 | ## Our Pledge 5 | 6 | We as members, contributors, and leaders pledge to make participation in our community a 7 | harassment-free experience for everyone, regardless of age, body size, visible or invisible 8 | disability, ethnicity, sex characteristics, gender identity and expression, level of experience, 9 | education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or 10 | sexual identity and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and 13 | healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our community include: 18 | 19 | * Demonstrating empathy and kindness toward other people 20 | * Being respectful of differing opinions, viewpoints, and experiences 21 | * Giving and gracefully accepting constructive feedback 22 | * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the 23 | experience 24 | * Focusing on what is best not just for us as individuals, but for the overall community 25 | 26 | Examples of unacceptable behavior include: 27 | 28 | * The use of sexualized language or imagery, and sexual attention or advances of any kind 29 | * Trolling, insulting or derogatory comments, and personal or political attacks 30 | * Public or private harassment 31 | * Publishing others' private information, such as a physical or email address, without their 32 | explicit permission 33 | * Other conduct which could reasonably be considered inappropriate in a professional setting 34 | 35 | ## Enforcement Responsibilities 36 | 37 | Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior 38 | and will take appropriate and fair corrective action in response to any behavior that they deem 39 | inappropriate, threatening, offensive, or harmful. 40 | 41 | Community leaders have the right and responsibility to remove, edit, or reject comments, commits, 42 | code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and 43 | will communicate reasons for moderation decisions when appropriate. 44 | 45 | ## Scope 46 | 47 | This Code of Conduct applies within all community spaces, and also applies when an individual is 48 | officially representing the community in public spaces. Examples of representing our community 49 | include using an official e-mail address, posting via an official social media account, or acting as 50 | an appointed representative at an online or offline event. 51 | 52 | ## Enforcement 53 | 54 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community 55 | leaders responsible for enforcement at (= Joel Dueck). All complaints will be 56 | reviewed and investigated promptly and fairly. 57 | 58 | All community leaders are obligated to respect the privacy and security of the reporter of any 59 | incident. 60 | 61 | ## Enforcement Guidelines 62 | 63 | Community leaders will follow these Community Impact Guidelines in determining the consequences for 64 | any action they deem in violation of this Code of Conduct: 65 | 66 | ### 1. Correction 67 | 68 | **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or 69 | unwelcome in the community. 70 | 71 | **Consequence**: A private, written warning from community leaders, providing clarity around the 72 | nature of the violation and an explanation of why the behavior was inappropriate. A public apology 73 | may be requested. 74 | 75 | ### 2. Warning 76 | 77 | **Community Impact**: A violation through a single incident or series of actions. 78 | 79 | **Consequence**: A warning with consequences for continued behavior. No interaction with the people 80 | involved, including unsolicited interaction with those enforcing the Code of Conduct, for a 81 | specified period of time. This includes avoiding interactions in community spaces as well as 82 | external channels like social media. Violating these terms may lead to a temporary or permanent ban. 83 | 84 | ### 3. Temporary Ban 85 | 86 | **Community Impact**: A serious violation of community standards, including sustained inappropriate 87 | behavior. 88 | 89 | **Consequence**: A temporary ban from any sort of interaction or public communication with the 90 | community for a specified period of time. No public or private interaction with the people involved, 91 | including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this 92 | period. Violating these terms may lead to a permanent ban. 93 | 94 | ### 4. Permanent Ban 95 | 96 | **Community Impact**: Demonstrating a pattern of violation of community standards, including 97 | sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement 98 | of classes of individuals. 99 | 100 | **Consequence**: A permanent ban from any sort of public interaction within the community. 101 | 102 | ## Attribution 103 | 104 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at 105 | [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0]. 106 | 107 | Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla 108 | CoC]. 109 | 110 | For answers to common questions about this code of conduct, see the FAQ at 111 | [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at 112 | [https://www.contributor-covenant.org/translations][translations]. 113 | 114 | [homepage]: https://www.contributor-covenant.org 115 | [v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html 116 | [Mozilla CoC]: https://github.com/mozilla/diversity 117 | [FAQ]: https://www.contributor-covenant.org/faq 118 | [translations]: https://www.contributor-covenant.org/translations 119 | 120 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Durable Computronics by Joel Dueck is licensed under [CC BY-SA 4.0][1]. 2 | 3 | Contributions and pull requests are welcome. By contributing, you agree to follow the [Code of 4 | Conduct][2] and that you license your contribution under the same license used by the rest of the 5 | project. Please consider publicly signing the [Single CLA](https://singlecla.com). 6 | 7 | [1]: http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1 8 | 9 | [2]: CODE_OF_CONDUCT.md 10 | 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # “Durable Computronics” [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md) 2 | 3 | *Durable computronics* is a placeholder name for a fantasy ethos of computing (embodied in a fantasy 4 | set of institutions) that favors reliability, security, personal accountability and simplicity over 5 | functionality and innovation. 6 | 7 | I have no vision for seeing this implemented in the real world and do not pretend that it is 8 | feasible given the current landscape of incentives. Again, this is fantasy; approach it as 9 | a creative “world-building” exercise for a speculative civilization, rather than as a serious policy 10 | proposal. I would simply like to imagine a set of rules and institutions that might give rise to 11 | a world where “software engineering” as a profession actually does carry the same legal and 12 | scientific rigor required of electrical engineers, structural engineers, mechanical engineers, civic 13 | engineers, etc.; where the pace of change in technology is much slower; and where technology is an 14 | evergreen structural support to a way of life. 15 | 16 | Contributions and pull requests are welcome. By contributing, you agree to follow the [Code of 17 | Conduct][1] and that you license your contribution under the same license used by the rest of the 18 | project. Please also consider publicly signing the [Single CLA](https://singlecla.com). 19 | 20 | [1]: CODE_OF_CONDUCT.md 21 | 22 | ### Informative examples in history and fiction 23 | 24 | * Computers in [Maniac][2], which rely heavily on mechanical inputs, and use screens almost entirely 25 | as dumb pixel buffers 26 | * The Commodore 64 caked with dust and fine oil droplets that has seen active use in an auto repair 27 | shop for the last four decades 28 | * The computers that control your car 29 | * Real-time operating systems 30 | * The [“network 31 | ban”](https://scifi.stackexchange.com/questions/54734/making-sense-of-battlestar-galacticas-network-ban) 32 | in Battlestar Galactica (disclaimer, I haven’t actually watched the show) 33 | 34 | [2]: https://en.wikipedia.org/wiki/Maniac_(miniseries) 35 | 36 | ## Professional licensing and liability 37 | 38 | The design of computational electronics, including software and interfaces, placed into use by any 39 | person other than the designer or their adult partner(s), must be signed by a licensed Computer 40 | Engineer (the engineer of record), as well as reviewed and approved by a public official (who shall 41 | also be a licensed Computer Engineer). The engineer of record is personally liable for each separate 42 | failure event of any system built according to their designs. If a system deviates from its design, 43 | the contractor becomes liable for any such failure, whether related to the specific deviation or 44 | not. 45 | 46 | A design may include other certified hardware or software designs as components or layers, but 47 | liability for failures in a design remains fully with that design’s engineer of record; it cannot 48 | legally be passed through to its components’ engineer of record. 49 | 50 | ### Personal use 51 | 52 | People are free to design and operate electronics of any kind for their own use or the use of other 53 | adults residing with them, for any otherwise legal purpose, without formal training or 54 | certification. 55 | 56 | ## Designs 57 | 58 | Designs constitute hardware, source code *and* documentation; where certification is required, the 59 | entire stack is reviewed and certified as a single design. 60 | 61 | The sale or distribution of general-purpose hardware components without accompanying software, user 62 | interface and documentation is prohibited. 63 | 64 | The documentation must specifically address each of these areas: 65 | 66 | * Authorized access and operation 67 | * Information preservation (including integrity/interference guarantees) 68 | * Environmental tolerances 69 | * Interactions and designed behavior 70 | 71 | Designs are categorized in Rings according to their intended use: 72 | 73 | * **Ring 0**: Power generation and distribution; any medical use; operation of any transport faster 74 | than 10 km/hour, or over/through water at any speed, or more than six meters above the ground at 75 | any speed 76 | 77 | * **Ring 1**: Storage and retrieval of any non-public information; measurement and/or display of 78 | time, weather, market prices, or any other public data used to coordinate and direct activity 79 | 80 | Both hardware and software must be provably correct according to the criteria given in its 81 | documentation *and* the minimum requirements (*TK*) for its ring level. 82 | 83 | ## Software and source code distribution 84 | 85 | Software may be distributed, in source code or binary form, separately from hardware, without 86 | licensing, certification or documentation requirements. 87 | 88 | Any software placed into use on a non-personal system, or for any business purpose, must be part of 89 | a formal design signed by an engineer of record and reviewed/approved by public officials. 90 | Accordingly, commercially available software must have its complete source code available to 91 | licensees. 92 | --------------------------------------------------------------------------------