]> Sergey Matveev's repositories - public-inbox.git/blob - HACKING
import: use bytes::length for true data length in bytes
[public-inbox.git] / HACKING
1 hacking public-inbox
2 --------------------
3
4 Send all patches via to our self-hosting inbox at meta@public-inbox.org
5 It is archived at <http://public-inbox.org/meta/>.
6
7 Please consider our goals in mind:
8
9         Decentralization, Accessibility, Compatibility, Performance
10
11 These goals apply to everyone: users viewing over the web or NNTP,
12 sysadmins running public-inbox, and other hackers working public-inbox.
13
14 We will reject any feature which advocates or contributes to any
15 particular instance of a public-inbox becoming a single point of failure.
16 Things we've considered but rejected include:
17
18 * exposing article serial numbers outside of NNTP
19 * allowing readers to inject metadata (e.g. votes)
20
21 We care about being accessible to folks with vision problems and/or
22 lack the computing resources to view so-called "modern" websites.
23 This includes folks on slow connections and ancient browsers which
24 may be too difficult to upgrade due to resource demands.
25
26 Only depend on Free Software packages which exist in the "main"
27 section of Debian 7.0 and later.  (We will bump version requirements
28 as time passes, but this is current as of January 2016).
29 In general, we favor mature and well-tested old things rather than
30 the shiny new.
31
32 Avoid relying on compiled modules too much.  Even if it is Free,
33 compiled code makes packages more expensive to audit, build, and
34 distribute and verify.  public-inbox itself will only be implemented
35 in scripting languages (currently Perl 5).
36
37 Performance should be reasonably good for server administrators, too,
38 and we will sacrifice features to achieve predictable performance.
39
40 See design_www.txt and design_notes.txt in the Documentation/ directory
41 for design decisions made during development.