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 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: 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, . [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November 2003, . [RFC4685] Snell, J., "Atom Threading Extensions", RFC 4685, DOI 10.17487/RFC4685, September 2006, . [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, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 7.2. Informative References [CDF] Ellerman, C., "Channel Definition Format (CDF)", W3C Note NOTE-CDFsubmit, March 1997, . [GEMINI] Solderpunk, "Project Gemini", Speculative specification, v0.14.3, November 2020, . ~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, . [JSONFEED] Simmons, B. and M. Reece, "JSON Feed Version 1.1", August 2020, . [LIRS] Hiya, "Last modified Information Relaying Specification", Version 2.1, December 2001, . [MCF] Guka, R. V., and T. Bray, "Meta Content Framework Using XML", W3C Note MCF-XML-970624, June 1997, . [MODSUB] Burton, K., "RDF Site Summary 1.0 Modules: Subscription", July 2002, . [OPML] Winer, D., "OPML 2.0", November 2007, . [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, . [RFC2046] Freed, N., Borenstein, N., "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, DOI 10.17487/RFC2046, November 1996, . [RFC3875] Robinson, D., Coar, K., "The Common Gateway Interface (CGI) Version 1.1", RFC 3875, DOI 10.17487/RFC3875, October 2004, . [RFC4287] Nottingham, M., Sayre, R., "The Atom Syndication Format", RFC 4287, DOI 10.17487/RFC4287, December 2005, . [RFC7230] Fielding, R., Reschke, J., "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, DOI 10.17487/RFC7230, June 2014, . [RFC7231] Fielding, R., Reschke, J., "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content", RFC 7231, DOI 10.17487/RFC7231, June 2014, . ~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, . [RFC7233] Fielding, R., Lafon, Y., Reschke, J., "Hypertext Transfer Protocol (HTTP/1.1): Range Requests", RFC 7233, DOI 10.17487/RFC7233, June 2014, . [RFC7234] Fielding, R., Nottingham, M., Reschke, J., "Hypertext Transfer Protocol (HTTP/1.1): Caching", RFC 7234, DOI 10.17487/RFC7234, June 2014, . [RFC7235] Fielding, R., Reschke, J., "Hypertext Transfer Protocol (HTTP/1.1): Authentication", RFC 7235, DOI 10.17487/RFC7235, June 2014, . [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, . [RSS2] RSS Advisory Board, "RSS 2.0 Specification", Version 2.0.11, March 2009, . 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]