Bikeshedding Working Group ~lucidiot, Ed. Bikeshed-Draft The Bikeshedding Company Intended status: Informational April 1, 2021 Expires: October 1, 2021 Web Feeds (WEED) draft-weed-00 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 Bikeshed-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Bikeshed-Drafts are working documents of the Bikeshedding Company Working Task Force (BC-WTF). Note that other groups may also distribute working documents as Bikeshed-Drafts. The list of current Bikeshed-Drafts does not exist. Bikeshed-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Bikeshed-Drafts as reference material or to cite them other than as "work in progress." This Bikeshed-Draft will expire on September 26, 2021. 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] Bikeshed-Draft Web Feeds (WEED) April 2021 Table of Contents 1. Introduction ....................................................2 1.1. Notational Conventions .....................................2 2. Concepts ........................................................2 2.1. Weed Abbreviation ..........................................2 2.2. Web Feeds ..................................................3 2.3. Weed Users .................................................3 2.4. Weed Ring ..................................................3 3. Best Practices ..................................................4 3.1. Linking ....................................................4 3.2. HTTP Servers ...............................................4 3.3. Multi-User Unix System Hosting .............................4 4. Security COnsiderations .........................................5 5. Internationalization Considerations .............................5 6. Privacy Considerations ..........................................5 7. IANA Considerations .............................................5 8. References ......................................................6 Appendix A. Warranty Exclusion Statement ...........................7 Acknowledgements ...................................................8 Author's Address ...................................................8 1. Introduction This Request for Comments (RFC) 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. 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. ~lucidiot Informational [Page 2] Bikeshed-Draft Web Feeds (WEED) April 2021 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: - 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. ~lucidiot Informational [Page 3] Bikeshed-Draft Web Feeds (WEED) April 2021 - 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. The Weed Ring is also known as the Daisy Chain. 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. 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. ~lucidiot Informational [Page 4] Bikeshed-Draft Web Feeds (WEED) April 2021 - 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. 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 is the preferred encoding. If a format's specification allows using UTF-8, it SHOULD be used, even if the 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. IANA Considerations This document has no IANA actions. ~lucidiot Informational [Page 5] Bikeshed-Draft Web Feeds (WEED) April 2021 7. 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, [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, . ~lucidiot Informational [Page 6] Bikeshed-Draft Web Feeds (WEED) April 2021 [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, . [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. ~lucidiot Informational [Page 7] Bikeshed-Draft Web Feeds (WEED) April 2021 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. 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 8]