• Stars
    star
    723
  • Rank 62,657 (Top 2 %)
  • Language
  • License
    Creative Commons ...
  • Created almost 8 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An oath for programmers, comparable to the Hippocratic Oath

Programmer's Oath

As a programmer, I swear to fulfill these tenets:

  1. I will only undertake honest and moral work. I will stand firm against any requirement that harms people unnecessarily.

  2. I will respect the lessons learned by those who came before me, and will share what I learn with those to come.

  3. I will remember that programming is art as well as science, and that warmth, empathy and understanding may outweigh a clever algorithm or technical argument.

  4. I will not be ashamed to say "I don't know", and I will ask for help when I am stuck.

  5. I will respect the privacy of my users, and use their data only to the end that it was entrusted to me for.

  6. I will be humble and recognize that I will make mistakes.

  7. I will tread most carefully in matters of life or death.

  8. I will remember that I do not write code for computers, but for people.

  9. I will consider the possible consequences of my code and actions. I will respect the difficulties of both social and technical problems.

  10. I will be diligent and take pride in my work.

  11. I will recognize that I can and will be wrong. I will keep an open mind, and listen to others carefully and with respect.

  12. I will be kind to my fellow programmers and offer help to the best of my ability. I will not feign surprise when they don't know something, or disparage their code.


Something missing? Disagree with a tenet? Think the wording should be changed? Please open an issue and we can figure it out. I highly welcome collaboration, and I will do my best to facilitate an oath that reflects a diverse range of views. Please read the code of conduct and abide by it. If you have a negative experience collaborating on this project, reach out to me and I will do my utmost to help.

Inspired by the Modern Hippocratic Oath and the Obligation of the Engineer.

Signing

We have a list of public signatures in the SIGNATURES file.

If you wish to sign, please add your username and the current commit hash to the end of the SIGNATURES file (leaving a newline after your addition), and submit a pull request.

If you do sign, please also consider sharing this repository in your communities and encouraging others to take a look.

Re-signing

The oath is a living document, changing based on the feedback and agreement of those who wish to contribute. When you sign, the commit hash serves as the 'version' of the oath to which you have agreed. This means you are beholden to only what you have signed, and not the versions of the oath that have come later.

Signatories are welcome to upgrade or downgrade to older or newer versions of the oath whenever they choose.

To do this, open another Pull Request. On your signature line, replace the old commit hash with the hash of the version you choose. A contributor will check and merge your alteration in the same way as they would a new signature. We recommend that signatories follow the repository through GitHub so that they can see updates as they are made, and decide whether or not to re-sign.

Humane technology

Awesome Humane Tech

The Center for Humane Technology (CHT) community - who strive to align technology to humanity's best interests - endorses this repository with the Humane Tech badge. Raising employee awareness within IT companies is one of the CHT's core pillars, and adhering to the Progammer's Oath is an excellent start to work towards this goal.

Related work

License

CC0

To the extent possible under law, Widdershin (the maintainer) and other contributors have waived all copyright and related or neighboring rights to this work.

More Repositories

1

flask-desktop

flask-desktop lets you create first class desktop applications in Python with HTML/CSS
Python
367
star
2

markdown-doctest

Test all the code in your markdown docs!
TypeScript
166
star
3

sonic-pi-cli

A simple command line interface for Sonic Pi, written in Ruby
Ruby
141
star
4

cycle-restart

Swap out the code in your Cycle.js apps on the fly!
JavaScript
123
star
5

cycle-ecosystem

What are the most popular and trending libraries for Cycle.js? (curated by robots and people)
JavaScript
76
star
6

rxjs-ecosystem

What are the most popular libraries in the RxJS ecosystem?
JavaScript
66
star
7

cycle-animation-driver

A Cycle driver for requestAnimationFrame
JavaScript
34
star
8

cycle-hot-reloading-example

A Cycle.js starter project with hot reloading using browserify-hmr
JavaScript
27
star
9

tricycle

Try Cycle.js in your browser, no setup required.
JavaScript
25
star
10

stream-tree

stream-tree is a way to write functions as ASCII flowcharts in JavaScript.
JavaScript
24
star
11

rx-undoable

Easily add undo and redo to your RxJS or Cycle.js apps
JavaScript
22
star
12

hypertmux

A web powered tmux client
JavaScript
21
star
13

positron

Compile your Javascript apps to Android
JavaScript
17
star
14

recycle

cycle-restart built from the ground up for xstream
JavaScript
17
star
15

handwritten-wasm

Wasm examples, brought to you by humans!
16
star
16

cycle-collections

Moved to cyclejs/collection
JavaScript
9
star
17

cycle-music-sequencer

An easy way to make melodies in your browser, powered by Cycle.js and Tone.js
JavaScript
9
star
18

wat-shell

Replace Bash with Ruby, because why not?
Ruby
6
star
19

dotfiles

My terminal config. tmux/zsh/neovim
Vim Script
5
star
20

BushingPicker

A website to generate customized bushing setups for longboard trucks!
Python
4
star
21

bonsai-editor

JavaScript
3
star
22

cycle-carousel-example

Because a person in a youtube comment asked if it was possible
JavaScript
3
star
23

ghostwriter

An autocompleting editor for writing raps and rhymes.
JavaScript
3
star
24

cycle-dev-server

An experimental development server for Cycle.js with an inbuilt web editor
JavaScript
3
star
25

how-to-write-javascript-without-going-insane

Because it's clearly too late for me.
JavaScript
2
star
26

cycle-scripts-widdershin

My personal Cycle.js starter, for use with create-cycle-app
JavaScript
2
star
27

cycle-talk

My slides for my Cycle.js talk at Node.js Wellington
JavaScript
2
star
28

kaihoko

A shopping list that automagically buys your groceries for you.
Ruby
2
star
29

cycle-architecture-test

Testing an architecture idea for Cycle.js apps
JavaScript
2
star
30

node-line-profiler

An experimental line by line profiler for Node.js.
TypeScript
2
star
31

katana

A CLI app for code katas. Hone your mind.
Ruby
2
star
32

Tuara

Tuara is a platform aimed at connecting people with niche skills with the organizations in their community that their help could most impact.
CSS
1
star
33

randall

Discord bot used for Freestyle Fortres
Ruby
1
star
34

imagine-him-happy

Ludum Dare 50 Entry
ShaderLab
1
star
35

cho

A digital Table Tennis scoreboard
JavaScript
1
star
36

swat4-positional-audio

A Mumble plugin for SWAT 4, adding positional audio support
C++
1
star
37

Twytter

Dev Academy Week 4 Team Project - Twitter Clone
Ruby
1
star
38

talks

Any talks I give that I happen to record.
1
star
39

timestacker

Ruby
1
star
40

cycle-rest-collection

TypeScript
1
star
41

skelemation

TypeScript
1
star
42

fdbk

A space for giving and receiving feedback on your creative works
Ruby
1
star
43

cycle-pong

Pong implemented in Cycle.js, recorded as I go
JavaScript
1
star
44

something-completely-different

Stuck in a loop browsing the internet? Try something completely different.
TypeScript
1
star
45

declarate

TypeScript
1
star
46

eda-code-downloader

Download all the code you wrote at Dev Academy, I dare you!
Ruby
1
star
47

mind-your-breath

An app for mindfulness meditation
Objective-C
1
star
48

old-game-maker-games

All my old projects from when I first started coding
Game Maker Language
1
star
49

emoji-world

TypeScript
1
star
50

nzskate-search

Search all the NZ skate shops from one place!
Python
1
star
51

graphy-graph

Graphing first and second order derivatives with Cycle.js
JavaScript
1
star
52

genetic-vim-golf

Solve vim golf problems with genetic programming
JavaScript
1
star
53

workspaces

Workspaces lets you create temporary folders to work in, that can then be archived or deleted easily.
Shell
1
star