X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Fdesign_notes.txt;h=3df5af3e3cf204c7954830d22a0de8b7fbd1d5e1;hb=174588f860f4ecda1896559928b6c72bf2857832;hp=c7a8b26dfe786b8560ecbb3e8e65d82f18c15582;hpb=19ccb17a3949bc82bf706cf68c629b0e0d25962e;p=public-inbox.git diff --git a/Documentation/design_notes.txt b/Documentation/design_notes.txt index c7a8b26d..3df5af3e 100644 --- a/Documentation/design_notes.txt +++ b/Documentation/design_notes.txt @@ -18,7 +18,7 @@ Use existing infrastructure * public-inbox can coexist with existing mailing lists, any subscriber to the existing mailing list can begin delivering messages to - public-inbox-mda(1) + public-inbox-mda(1) or public-inbox-watch(1) * public-inbox uses SMTP for posting. Posting a message to a public-inbox instance is no different than sending a message to any _open_ mailing @@ -27,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. @@ -56,7 +54,10 @@ Why email? * git, one of the most widely-used version control systems, includes many 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. + is based on the git mailing list: https://public-inbox.org/git/ + (or + http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/git/ + for Tor users) * Email is already the de-facto form of communication in many Free Software communities.. @@ -71,11 +72,12 @@ 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, a read-only NNTP gateway is implemented. + integrity. However, read-only IMAP and NNTP gateways are implemented. * 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. + and *BSD distributions. NNTP is not as widely-used nowadays, and + most IMAP clients do not have good support for read-only mailboxes. Why perl 5? ----------- @@ -86,6 +88,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 -------- @@ -112,12 +119,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 @@ -137,22 +143,16 @@ What sucks about public-inbox * some (mostly GUI) mail clients cannot set In-Reply-To headers properly without the original message. +* marketing - as it should: + Scalability notes ----------------- -Even with shallow clone, storing the history of large/busy mailing lists -may place much burden on subscribers and servers. However, having a -single (or few) refs representing the entire history of a list is good -for small lists since it's easier to look up a message by Message-ID, so -we want to avoid splitting refs with independent histories. - -ssoma will likely grow its own built-in ref rotation system based on -message count (not rotating at fixed time intervals). This would -split the histories and require O(n) lookup time based on Message-ID, -where `n' is the number of history splits. +See the public-inbox-v2-format(5) manpage for all the scalability +problems solved. Copyright --------- -Copyright 2013-2015 all contributors -License: AGPLv3 or later +Copyright all contributors +License: AGPL-3.0+