X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=HACKING;h=666d504e7336b61ef7d26f559e5b192c56fbd9de;hb=dde1b083571ed893cbb1990f01f9e11ed804cba5;hp=46f8a3edd93f1f8abdfa002fc082117c4b804acf;hpb=938cf615b743c62f5359285c2fd7da7b9f0ba6b0;p=public-inbox.git diff --git a/HACKING b/HACKING index 46f8a3ed..666d504e 100644 --- a/HACKING +++ b/HACKING @@ -1,15 +1,60 @@ hacking public-inbox -------------------- -Send all patches via to our self-hosting inbox at meta@public-inbox.org -It is archived at . +Send all patches and "git request-pull"-formatted emails to our +self-hosting inbox at meta@public-inbox.org +It is archived at: https://public-inbox.org/meta/ +and http://hjrcffqmbrq6wope.onion/meta/ (using Tor) + +Contributions are email-driven, just like contributing to git +itself or the Linux kernel; however anonymous and pseudonymous +contributions will always be welcome. Please consider our goals in mind: - Accessibility, Compatibility, Performance + Decentralization, Accessibility, Compatibility, Performance These goals apply to everyone: users viewing over the web or NNTP, sysadmins running public-inbox, and other hackers working public-inbox. -See design_www.txt and design_notes.txt in the Documentation/ directory -for design decisions made during development. +We will reject any feature which advocates or contributes to any +particular instance of a public-inbox becoming a single point of failure. +Things we've considered but rejected include: + +* exposing article serial numbers outside of NNTP +* allowing readers to inject metadata (e.g. votes) + +We care about being accessible to folks with vision problems and/or +lack the computing resources to view so-called "modern" websites. +This includes folks on slow connections and ancient browsers which +may be too difficult to upgrade due to resource demands. + +Only depend on Free Software packages which exist in the "main" +section of Debian "stable" distribution. That is Debian 9.x +("stretch") as of this writing, but "oldstable" (8.x, "jessie") +remains supported for v1 repositories. + +In general, we favor mature and well-tested old things rather than +the shiny new. + +Avoid relying on compiled modules too much. Even if it is Free, +compiled code makes packages more expensive to audit, build, +distribute and verify. public-inbox itself will only be implemented +in scripting languages (currently Perl 5) and optional JIT-compiled C +(via Inline::C) + +Performance should be reasonably good for server administrators, too, +and we will sacrifice features to achieve predictable performance. +Encouraging folks to self-host will be easier with lower hardware +requirements. + +See design_www.txt and design_notes.txt in the Documentation/ +directory for design decisions made during development. + +Perl notes +---------- + +* \w, \s, \d character classes all match Unicode characters; + so write out class ranges (e.g "[0-9]") if you only intend to + match ASCII. Do not use the "/a" (ASCII) modifier, that requires + Perl 5.14 and we're only depending on 5.10.1 at the moment.