bikeshed/rfb/rfb3.txt

590 lines
21 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Bikeshedding Working Group ~lucidiot, Ed.
Request for Bikeshedding: 3 The Bikeshedding Company
Category: Informational April 4, 2021
Web Feeds (WEED)
Abstract
Members of the Tilde Pals mailing list have created a new community
known as the Weeds. This memo formalizes the practices of this
community to help The Bikeshedding Company find potential
bikeshedding opportunities in this new trend.
Status of This Memo
This document is not a Bikeshedding Standards Track specification; it
is published for informational purposes.
This document is a product of the Bikeshedding Company Working Task
Force (BC-WTF). It represents the consensus of the Bikeshedding
community. It has received public review and has been approved for
publication by the Bikeshedding Engineering Steering Group (BESG).
Not all documents approved by the BESG are a candidate for any level
of Internet Standard; see Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained on the tildepals
mailing list.
Copyright Notice
Copyright (c) 2021 The Bikeshedding Company and the persons
identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the Bikeshedding Company's
Legal Provisions Relating to Bikeshedding Documents in effect on the
date of publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
~lucidiot Informational [Page 1]
RFB 3 Web Feeds (WEED) April 2021
Table of Contents
1. Introduction ....................................................2
1.1. Notational Conventions .....................................2
2. Concepts ........................................................3
2.1. Weed Abbreviation ..........................................3
2.2. Web Feeds ..................................................3
2.3. Weed Users .................................................3
2.4. Weed Ring ..................................................3
2.5. Sprout .....................................................4
3. Best Practices ..................................................4
3.1. Linking ....................................................4
3.2. HTTP Servers ...............................................4
3.3. Multi-User Unix System Hosting .............................5
3.4. Threading ..................................................5
3.5. RSS Considerations .........................................5
4. Internationalization Considerations .............................5
5. Security and Privacy Considerations .............................6
6. BANANA Considerations ...........................................6
6.1. Registration of an E-mail Signature Protocol Abbreviation ..6
6.2. Creation of Known Weeds Registry ...........................6
7. References ......................................................7
7.1. Normative References .......................................7
7.2. Informative References .....................................7
Appendix A. Warranty Exclusion Statement ...........................9
Acknowledgements ...................................................9
Author's Address ..................................................10
1. Introduction
This Request for Bikeshedding (RFB) is a formalisation of the basic
rules that govern the community known as Weeds, a project developed
outside of the Bikeshedding Company.
This RFC does not define a standard, but only represents the general
consensus among the Weed Dealers and Consumers, to increase its
accessibility for newcomers. The Bikeshedding Company believes that
this project has a lot of potential for producing a high quality of
bikeshedding in markets the company has not explored before.
1.1. Notational Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document SHALL NOT be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
~lucidiot Informational [Page 2]
RFB 3 Web Feeds (WEED) April 2021
2. Concepts
2.1. Weed Abbreviation
The users of Project Gemini [GEMINI] have coined the term "gemlog"
to refer to the Gemini equivalent of a blog, as a "blog" is the
diminutive of "web log", and a gemlog is not on the web.
Similarly, a Weed is a web feed. A weed allows its creator to
publish content similar to what would be published on a blog, but
the content is not intended to be seen in a web browser; instead, it
should be viewed in a feed reader. The web log is therefore closer
to a web feed.
2.2. Web Feeds
A Web Feed is a syndication feed provided in a format such as RDF
Site Summary [RSS1], Really Simple Syndication [RSS2], Atom
[RFC4287], Channel Definition Format [CDF], JSON Feed [JSONFEED],
Meta Content Framework [MCF], Hina-Di [HINA], or Last modified
Information Relaying Specification [LIRS], over an open HTTP, HTTPS
[RFC7230] [RFC7231] [RFC7232] [RFC7233] [RFC7234] [RFC7235], Gopher
[RFC1436] or Gemini [GEMINI] server. This list is not exhaustive.
The contents of a Web Feed MUST NOT be easily readable in a web
browser that does not have built-in support for the weed's format.
Most modern browsers have removed support for RSS and Atom. CDF has
been dropped since 2009 and JSON Feed has not seen much adoption.
Publishing the contents of a weed to a server such as a version
control system with a web interface counts as violating the above
rule. Version control systems without web interfaces, or whose web
interfaces do not allow access to the weed to users outside of the
Weed Community, are acceptable.
2.3. Weed Users
A weed content writer is known as a Weed Dealer, as a reference to
the recreative substance. Similarly, a reader is known as a Weed
Consumer. Most Weed users are both Dealers and Consumers, and all
users are strongly encouraged to interact with each other.
2.4. Weed Ring
The Weed Ring is a technique allowing Weed Consumers to find other
Weed Dealers. A Weed Dealer is encouraged to share links to other
Weed Dealers they know of in their own Weed, allowing Consumers to
read the feed to find other Dealers and ensure a newcomer to the
community is not forgotten, or missed, by everyone else.
Weed Dealers can share other feeds by many means:
~lucidiot Informational [Page 3]
RFB 3 Web Feeds (WEED) April 2021
- Creating an Outline Processor Markup Language [OPML] file which
references the feeds in "rss" outline types, then linking to this
file from inside one of their published articles.
- Using the proposed Subscription module [MODSUB] of RSS 1.0 to
denote other channels in the RSS feed itself.
- Using the "related" link relation type in Atom to link to other
channels in an Atom feed.
- Using the Channel Definition Format's channel nesting feature.
- Using the Hina-Di entity block propagation feature.
- Linking to the related feeds in an item of a feed of any format,
in a way that can be read and understood manually by a user.
Weed Dealers that share other feeds SHOULD include all the weeds of
the Known Weeds BANANA registry.
The Weed Ring is also known as the Daisy Chain.
2.5. Sprout
A Sprout is a single weed post, item, article, published in a Weed.
3. Best Practices
3.1. Linking
Linking to weeds, or to files internal to a weed on a medium other
than another weed, or another file internal to a weed, MUST NOT be
done without the explicit consent of the Weed Dealer.
An exception can be made to this rule if the link is sent to a
community, or over a technology, where it can only be read by a
group of Weed users, a group of Weed non-users trusted by both the
Weed Dealer and the author sharing the link, or a group made of both
of the aforementioned categories. Examples include the Bikeshedding
Company, the Tilde Pals, and the Flying Basement.
3.2. HTTP Servers
The contents of the directory that holds the weed and any of its
related files SHOULD NOT be listable, to make the discovery of the
weed less likely.
An additional layer of security through obscurity can be achieved in
servers capable of dynamic webpage generation, for example servers
using CGI [RFC3875], by applying restrictions on user agents to block
web browsers.
~lucidiot Informational [Page 4]
RFB 3 Web Feeds (WEED) April 2021
3.3. Multi-User Unix System Hosting
Many weeds are hosted on tildes, pubnixes or other multi-user Unix
or Unix-derived systems. Weeds hosted on those systems SHOULD be
properly protected against discovery by third parties from inside the
system to ensure the invisible state of weeds. Such a level of
protection can be achieved using file permissions and access control
lists:
- Make the weed's parent directory and any of its contents only
accessible to the owner and the HTTP server.
- Make the weed's directory and any sub-directories readable only by
the owner; this makes reading a particular file possible, but not
listing the available files in a directory.
3.4. Threading
As Weeds form a rather tight-knit community, using a Sprout to reply
to another Sprout is a common and generally encouraged practice.
Most syndication formats do not specify ways to indicate a sprout
that another sprout replies to, or ways to refer to a single sprout
in a weed when sprouts do not have permalinks. Most formats will
usually refer to the HTML page that an item links to, but most weeds
do not have any links since everything is syndication-only.
The Atom Threading extensions [RFC4685] SHOULD be used in all
XML-based syndication formats that allow namespace extensions to
specify replies.
3.5. RSS Considerations
Weeds using the Really Simple Syndication or RDF Site Summary formats
SHOULD include the <guid> tag to allow other Weed Dealers to reply to
their sprouts or to avoid issues when an existing sprout is updated.
4. Internationalization Considerations
Many syndication formats that could be used for Weeds use old text
encodings that may not be displayed properly by modern systems or
allow encoding any alphabet or any language. When a format uses XML,
it is RECOMMENDED to specify its encoding using the encoding
attribute of XML declarations:
<?xml version="1.0" encoding="utf-8"?>
For text formats, the charset parameter [RFC2046] can be used to
specify the encoding, if it differs from US-ASCII.
UTF-8 [RFC3629] is the preferred encoding. If a format's
specification allows using UTF-8, it SHOULD be used, even if the
~lucidiot Informational [Page 5]
RFB 3 Web Feeds (WEED) April 2021
specification says a different encoding is preferred. If a format's
specification requires a different encoding, that encoding MUST be
used. If a format's specification does not indicate any encoding,
then UTF-8 MUST be used.
5. Security and Privacy Considerations
The Weed community has the potential to create a false sense of
privacy in inexperienced Weed Dealers, who might think nothing
published in a weed might ever exit it and might disclose private
information that they wished to only share to the community and not
to the rest of the Internet.
It is believed that three factors will be able to contribute to
minimizing those risks without requiring a technical change:
- The complexity of writing a syndication feed by hand.
- The desire to keep the Tilde Pals community, from which come all
of the Weed Dealers and Consumers, small enough to remain
human-sized.
- The trust and cooperation encouraged within the Tilde Pals
community, empowering more privacy-conscious users to warn their
fellow less-privacy-conscious users.
6. BANANA Considerations
6.1. Registration of an E-mail Signature Protocol Abbreviation
This document registers a new item to the "E-mail Signature Protocol
Abbreviations" registry:
Abbreviation: WEED
Protocol name: Web Feeds
Protocol specification: This RFC
6.2. Creation of Known Weeds Registry
This document creates a new BANANA registry entitled "Known Weeds".
The policy for future assignments to this registry is First Come
First Served [RFC8126]. This registry has three fields: the Weed
URL, the syndication format, and the change controller.
The BANANA SHOULD notify the Bikeshedders of any updates to the
registry by sending an e-mail to the Tilde Pals mailing list along
with a reminder of the registration process.
The Weed URL MUST be unique, and MUST be a valid URL pointing to a
~lucidiot Informational [Page 6]
RFB 3 Web Feeds (WEED) April 2021
Weed. The syndication format is an arbitrary string, meant for Weed
Consumers to more easily tell which Weeds they can follow depending
on their own feed reader's supported formats when accessing the
registry. The Change Controller is the only person allowed to
contact BANANA and request a later change to a Known Weed.
The initial values for this registry are specified below:
URL Format Change Controller
------------------------------------------- ------ -----------------
[REDACTED] RSS2 ~dozens
[REDACTED] RSS2 ~lucidiot
[REDACTED] ATOM ~acdw
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November
2003, <https://www.rfc-editor.org/info/rfc3629>.
[RFC4685] Snell, J., "Atom Threading Extensions", RFC 4685,
DOI 10.17487/RFC4685, September 2006,
<https://www.rfc-editor.org/info/rfc4685>.
[RFC8126] Cotton, M., Leiba, B. and Narten, T., "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
7.2. Informative References
[CDF] Ellerman, C., "Channel Definition Format (CDF)", W3C Note
NOTE-CDFsubmit, March 1997,
<https://www.w3.org/TR/NOTE-CDFsubmit.html>.
[GEMINI] Solderpunk, "Project Gemini", Speculative specification,
v0.14.3, November 2020, <gemini://
gemini.circumlunar.space/docs/specification.gmi>.
~lucidiot Informational [Page 7]
RFB 3 Web Feeds (WEED) April 2021
[HINA] kohgushi, "Asahina-Antenna meta data format version 2.2
(HINA/2.2)", Revision 0.13, July 2002,
<https://envs.net/~lucidiot/hina/hina2_2-rev0_13.html>.
[JSONFEED] Simmons, B. and M. Reece, "JSON Feed Version 1.1",
August 2020, <https://jsonfeed.org/version/1.1>.
[LIRS] Hiya, "Last modified Information Relaying Specification",
Version 2.1, December 2001,
<http://aniki.haun.org/natsu/LIRS.html>.
[MCF] Guka, R. V., and T. Bray, "Meta Content Framework Using
XML", W3C Note MCF-XML-970624, June 1997,
<https://www.w3.org/TR/NOTE-MCF-XML-970624/>.
[MODSUB] Burton, K., "RDF Site Summary 1.0 Modules: Subscription",
July 2002,
<http://web.resource.org/rss/1.0/modules/subscription/>.
[OPML] Winer, D., "OPML 2.0", November 2007,
<http://dev.opml.org/spec2.html>.
[RFC1436] Anklesaria, F., McCahill, M., Lindner, P., Johnson, D.,
Torrey, D., Alberti, B., "The Internet Gopher Protocol
(a distributed document search and retrieval protocol)",
RFC 1436, DOI 10.17847/RFC1436, March 1993,
<https://www.rfc-editor.org/info/rfc1436>.
[RFC2046] Freed, N., Borenstein, N., "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046,
DOI 10.17487/RFC2046, November 1996,
<https://www.rfc-editor.org/info/rfc2046>.
[RFC3875] Robinson, D., Coar, K., "The Common Gateway Interface
(CGI) Version 1.1", RFC 3875, DOI 10.17487/RFC3875,
October 2004, <https://www.rfc-editor.org/info/rfc3875>.
[RFC4287] Nottingham, M., Sayre, R., "The Atom Syndication Format",
RFC 4287, DOI 10.17487/RFC4287, December 2005,
<https://www.rfc-editor.org/info/rfc4287>.
[RFC7230] Fielding, R., Reschke, J., "Hypertext Transfer Protocol
(HTTP/1.1): Message Syntax and Routing", RFC 7230,
DOI 10.17487/RFC7230, June 2014,
<https://www.rfc-editor.org/info/rfc7230>.
[RFC7231] Fielding, R., Reschke, J., "Hypertext Transfer Protocol
(HTTP/1.1): Semantics and Content", RFC 7231,
DOI 10.17487/RFC7231, June 2014,
<https://www.rfc-editor.org/info/rfc7231>.
~lucidiot Informational [Page 8]
RFB 3 Web Feeds (WEED) April 2021
[RFC7232] Fielding, R., Reschke, J., "Hypertext Transfer Protocol
(HTTP/1.1): Conditional Requests", RFC 7232,
DOI 10.17487/RFC7232, June 2014,
<https://www.rfc-editor.org/info/rfc7232>.
[RFC7233] Fielding, R., Lafon, Y., Reschke, J., "Hypertext
Transfer Protocol (HTTP/1.1): Range Requests", RFC 7233,
DOI 10.17487/RFC7233, June 2014,
<https://www.rfc-editor.org/info/rfc7233>.
[RFC7234] Fielding, R., Nottingham, M., Reschke, J., "Hypertext
Transfer Protocol (HTTP/1.1): Caching", RFC 7234,
DOI 10.17487/RFC7234, June 2014,
<https://www.rfc-editor.org/info/rfc7234>.
[RFC7235] Fielding, R., Reschke, J., "Hypertext Transfer Protocol
(HTTP/1.1): Authentication", RFC 7235,
DOI 10.17487/RFC7235, June 2014,
<https://www.rfc-editor.org/info/rfc7235>.
[RSS1] Beged-Dov, G., Brickley, D., Dornfest, R., Davis, I.,
Dodds, L., Eisenzopf, J., Galbraith, D., Guha, R. V.,
MacLeod, K., Miller, E., Swartz, A. and E. van der Vlist,
"RDF Site Summary (RSS) 1.0", December 2000,
<http://purl.org/rss/1.0/spec>.
[RSS2] RSS Advisory Board, "RSS 2.0 Specification", Version
2.0.11, March 2009,
<https://www.rss-board.org/rss-specification>.
Appendix A. Warranty Exclusion Statement
This document and the information contained herein is provided on an
"AS IS" basis and TILDE.TOWN DISCLAIMS ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgements
The author would like to thank ~dozens for initiating the Weed
community.
The author would like to thank all subscribers of tildepals for
participating in, or at least putting up with, the Bikeshedding
Company's bikeshedding activities, and most importantly thank
themselves for existing and bringing such great shitposts to the
greater community.
~lucidiot Informational [Page 9]
RFB 3 Web Feeds (WEED) April 2021
Author's Address
~lucidiot (editor)
The Bikeshedding Company
m455.casa
72.137.16.55
The Internet
Email: lucidiot@brainshit.fr
URI: https://tilde.town/~lucidiot/
~lucidiot Informational [Page 10]