You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/contributing.md
+31-7Lines changed: 31 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,12 +3,14 @@
3
3
<!-- vim-markdown-toc GFM -->
4
4
5
5
-[Goal of the Project](#goal-of-the-project)
6
+
-[Editorial Process](#editorial-process)
6
7
-[Example Law: The Law of Leaky Abstractions](#example-law-the-law-of-leaky-abstractions)
7
8
-[Translations](#translations)
8
9
-[How do I know if a law is relevant?](#how-do-i-know-if-a-law-is-relevant)
9
10
-[How do I know if a law is 'well known' enough?](#how-do-i-know-if-a-law-is-well-known-enough)
10
11
-[Use of Images](#use-of-images)
11
12
-[Developer Guide](#developer-guide)
13
+
-[Contributor Credit and a Possible Book](#contributor-credit-and-a-possible-book)
12
14
13
15
<!-- vim-markdown-toc -->
14
16
@@ -33,12 +35,23 @@ Some other tips:
33
35
- Do not advocate for the law, or aim to be opinionated on the correctness or incorrectness of the law, as this repository is simply the descriptions and links.
34
36
- Avoid 'you' when writing. For example, prefer "This law suggests refactoring should be avoided when..." rather than "you should avoid refactoring when...". This keeps the style slightly more formal and avoids seeming like advocation of a law.
35
37
36
-
An example law is shown below, which covers most of the key points:
38
+
## Editorial Process
39
+
40
+
Every contribution is edited, either before it is merged or shortly afterwards. In practice this means changes to style, tone, structure and length, a check that the description is correct and relevant, and a check that quotes and images are properly attributed.
41
+
42
+
A law may therefore end up reading quite differently from the version that was submitted. This is not a comment on the quality of the contribution. The aim is to keep a long document in a single voice, and to keep every entry to the same shape and length.
43
+
44
+
Two things make this much easier:
45
+
46
+
- Do not copy and paste text from other sources, unless it is explicitly quoted and attributed. See [Use of Images](#use-of-images) for the equivalent point about pictures.
47
+
- Include a link to the source for anything you reference, and the licence for any image.
37
48
38
49
---
39
50
40
51
## Example Law: The Law of Leaky Abstractions
41
52
53
+
An example law is shown below, which covers most of the key points.
54
+
42
55
[The Law of Leaky Abstractions on Joel on Software](https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/)
43
56
44
57
> All non-trivial abstractions, to some degree, are leaky.
@@ -87,19 +100,30 @@ A good test is 'If I search for it on Google, will I find it in the first few re
87
100
88
101
## Use of Images
89
102
90
-
Please make sure to attribute images properly if you are referencing them. Also, include a white background, as some viewers will be viewing the site in 'Dark Mode' which can make images with a transparent background difficult to read.
103
+
Original diagrams are strongly preferred. If you do reference an image from elsewhere, please include the source URL, the author and the licence in the pull request, so that it can be attributed properly. Images without a clear licence cannot be accepted, and images may later be redrawn to keep the artwork consistent.
104
+
105
+
Also include a white background, as some viewers will be reading in 'Dark Mode', which can make images with a transparent background difficult to read.
91
106
92
107
## Developer Guide
93
108
94
109
Where possible, anything which is not the core `README.md` file is kept in the `.github/` folder to keep the landing page for the repository as clean as possible.
95
110
96
-
To use the makefile, pass its path explicitly, e.g:
111
+
The website at [hacker-laws.com](https://hacker-laws.com) is built from `README.md`. To build and serve it locally:
97
112
98
113
```bash
99
-
make -f .github/makefile
114
+
cd .github/website
115
+
make install
116
+
make serve
100
117
```
101
118
102
-
Or create an alias:
119
+
Run `make` on its own to see the other targets.
103
120
104
-
```bash
105
-
alias hlmake="make -f .github/makefile"
121
+
## Contributor Credit and a Possible Book
122
+
123
+
This project may in time be turned into a book.
124
+
125
+
If that happens, every contributor will be credited in an appendix. Contributors are listed by GitHub handle by default. If you would prefer to be credited by name, please say so in your pull request.
126
+
127
+
By opening a pull request you grant the maintainer a permanent, worldwide, royalty-free and non-exclusive licence to use, edit, translate and publish your contribution in any format, including print and electronic editions which are sold. You keep the copyright in what you wrote, and remain free to use it elsewhere yourself.
128
+
129
+
The repository stays under [CC BY-SA 4.0](../LICENSE) and will remain free to read.
Copy file name to clipboardExpand all lines: README.md
+2-8Lines changed: 2 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,6 @@
8
8
- 🧠 Check out my new project [Terminal AI](https://github.com/dwmkerr/terminal-ai)
9
9
- ☕️ Like this project? Consider [buying me a coffee with a one-off donation](https://github.com/sponsors/dwmkerr?frequency=one-time)
10
10
- 🎧 Listen to the podcast [The Changelog - Laws for Hackers to Live By](https://changelog.com/podcast/403)
11
-
- 📖 Download the [PDF eBook](https://github.com/dwmkerr/hacker-laws/releases/latest/download/hacker-laws.pdf)
12
11
- 🌏 See the Translations: [🇧🇷](./translations/pt-BR.md)[🇨🇳](https://github.com/nusr/hacker-laws-zh)[🇫🇷](./translations/fr.md)[🇮🇹](./translations/it-IT.md)[🇱🇻](./translations/lv.md)[🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr)[🇷🇺](https://github.com/solarrust/hacker-laws)[🇪🇸](./translations/es-ES.md)[🇹🇷](./translations/tr.md)[🇮🇩](./translations/id.md)[🇯🇵](./translations/jp.md)[🇵🇱](./translations/pl.md)[🇻🇳](./translations/vi.md)
13
12
14
13
---
@@ -88,7 +87,6 @@
88
87
-[The Principle of Least Astonishment](#the-principle-of-least-astonishment)
89
88
-[Reading List](#reading-list)
90
89
-[Online Resources](#online-resources)
91
-
-[PDF eBook](#pdf-ebook)
92
90
-[Podcast](#podcast)
93
91
-[Contributors](#contributors)
94
92
@@ -98,6 +96,8 @@
98
96
99
97
There are lots of laws which people discuss when talking about development. This repository is a reference and overview of some of the most common ones. Please share and submit PRs!
100
98
99
+
This project may in time be turned into a book. If it is, all contributors will be credited in an appendix, listed by GitHub handle, or by name if requested in the pull request. See the [Contributing Guidelines](.github/contributing.md) for details.
100
+
101
101
Warning: This repo contains an explanation of some laws, principles and patterns, but does not _advocate_ for any of them. Whether they should be applied will always be a matter of debate, and greatly dependent on what you are working on.
102
102
103
103
## Laws
@@ -1216,12 +1216,6 @@ Some useful resources and reading.
1216
1216
1217
1217
-[CB Insights: 8 Laws Driving Success In Tech: Amazon's 2-Pizza Rule, The 80/20 Principle, & More](https://www.cbinsights.com/research/report/tech-laws-success-failure) - an interesting write up of some laws which have been highly influential in technology.
1218
1218
1219
-
## PDF eBook
1220
-
1221
-
The project is available as a PDF eBook, [download the latest PDF eBook with this link](https://github.com/dwmkerr/hacker-laws/releases/latest/download/hacker-laws.pdf) or check the [release](https://github.com/dwmkerr/hacker-laws/releases) page for older versions.
1222
-
1223
-
A new version of the eBook is created automatically when a new version tag is pushed.
1224
-
1225
1219
## Podcast
1226
1220
1227
1221
Hacker Laws has been featured in [The Changelog](https://changelog.com/podcast/403), you can check out the Podcast episode with the link below:
0 commit comments