X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Fdesign_notes.txt;h=9ad497743f070593448acbfa4bcfeb2e41f83c01;hb=b41c19abcf0b0ac8a5f55678bfb0058ad50b3179;hp=f81a616f9fa4ce8dd6dd23c9b0273197e21d3478;hpb=b549d1b05849bdddfe227288ba501cbe26a6330d;p=public-inbox.git diff --git a/Documentation/design_notes.txt b/Documentation/design_notes.txt index f81a616f..9ad49774 100644 --- a/Documentation/design_notes.txt +++ b/Documentation/design_notes.txt @@ -1,8 +1,9 @@ -Design notes ------------- +public-inbox design notes +------------------------- Challenges to running normal mailing lists ------------------------------------------ + 1) spam 2) bounce processing of invalid/bad email addresses 3) processing subscribe/unsubscribe requests @@ -26,9 +27,7 @@ Use existing infrastructure * Existing spam filtering on an SMTP server is also effective on public-inbox. -* readers may continue using use their choice of mail clients and - mailbox formats, only learning a few commands of the ssoma(1) tool - is required. +* Readers may continue using use their choice of NNTP and mail clients. * Atom is a reasonable feed format for casual readers and is supported by a variety of feed readers. @@ -40,7 +39,7 @@ Why email? developers and users of Free Software should not rely on proprietary tools or services. -* Existing infrastrucuture, tools, and user familarity. +* Existing infrastructure, tools, and user familiarity. There is already a large variety of tools, clients, and email providers available. There are also many resources for users to run their own SMTP server on a domain they control. @@ -53,9 +52,10 @@ Why email? There is no need to ask the NSA for backups of your mail archives :) * git, one of the most widely-used version control systems, includes many - tools for for email: git-format-patch(1), git-send-email(1), git-am(1). - Furthermore, the development of git itself is based on the git mailing - list. + tools for for email, including: git-format-patch(1), git-send-email(1), + git-am(1), git-imap-send(1). Furthermore, the development of git itself + is based on the git mailing list: https://public-inbox.org/git/ + (or http://hjrcffqmbrq6wope.onion/git/ for Tor users) * Email is already the de-facto form of communication in many Free Software communities.. @@ -70,9 +70,9 @@ Why git? * git is distributed and robust while being both fast and space-efficient with text data. NNTP was considered, but does not support delta-compression and places no guarantees on data/transport - integrity. However, an NNTP gateway (read-only?) is possible. + integrity. However, a read-only NNTP gateway is implemented. -* As of 2014, git is widely used and known to nearly all Free Software +* As of 2016, git is widely used and known to nearly all Free Software developers. For non-developers it is packaged for all major GNU/Linux and *BSD distributions. NNTP is not as widely-used nowadays. @@ -85,6 +85,11 @@ Why perl 5? * git and SpamAssassin both use it, so it should be one less thing for admins to install and waste disk space with. +* Distributing compiled binaries has higher costs for storage/cache + space is required for each architecture. Having a runnable, + source-only distribution means any user already has access to all + of our source. + Laziness -------- @@ -111,12 +116,11 @@ Laziness * Avoids bikeshedding about web UI decisions, GUI-lovers can write their own GUI-friendly interfaces (HTML or native) based on public archives. - Maybe one day integrated MUAs will feature built-in git protocol support! Web notes --------- -* Getting users to install/run ssoma (or any new tool) is difficult. +* Getting users to install/run any new tool is difficult. The web views must be easily read/cache/mirror-able. * There may also be a significant number of webmail users without @@ -125,10 +129,25 @@ Web notes * Expose Message-ID in web views to encourage replies from drive-by contributors. -* Raw text endpoint allows users to write client-side JS endpoints +* Raw text endpoint allows users to write client-side endpoints without hosting the data themselves (or on a different server). +What sucks about public-inbox +----------------------------- + +* Lack of push notification. On the other hand, feeds seem popular. + +* some (mostly GUI) mail clients cannot set In-Reply-To headers + properly without the original message. + +Scalability notes +----------------- + +See the public-inbox-v2-format(5) manpage for all the scalability +problems solved. + Copyright --------- -Copyright 2013, Eric Wong and all contributors. -License: AGPLv3 or later + +Copyright 2013-2019 all contributors +License: AGPL-3.0+