[HN Gopher] Art of README (2020)
       ___________________________________________________________________
        
       Art of README (2020)
        
       Author : graderjs
       Score  : 158 points
       Date   : 2022-08-04 14:33 UTC (8 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | sinoue wrote:
       | As a former product manager the readme was used as a confessional
       | for known bugs that were deferred and that users might run into,
       | but had work arounds or didn't happen consistently.
        
         | sitzkrieg wrote:
         | i miss this usage. way more useful than developer centric stuff
         | that is shown at a code repo.. im at already at the code, maybe
         | a contributing or development file, or anything else really
        
       | Torwald wrote:
       | README.TXT ist not all uppercase because of anything Unix, but
       | because VAX/VMS had six dot three chars long file names and all
       | of them upper case.
        
         | eesmith wrote:
         | https://en.wikipedia.org/wiki/README points out that
         | "README.TXT" was used in 1974 at http://pdp-10.trailing-
         | edge.com/decus_20tap3_198111/01/decus..., which predates
         | VAX/VMS by a couple of years.
         | 
         | That was for a DECsystem-10, so still DEC, just a bit earlier.
        
       | dietrichepp wrote:
       | README is always the first commit. What is this project? What are
       | its goals?
       | 
       | This seems obvious to me now but it was not obvious when I was
       | younger. I _will_ forget what a project is.
        
         | Shish2k wrote:
         | > I will forget what a project is.
         | 
         | I sometimes completely forget what a project is, but I nearly
         | _always_ forget how to build / run / test / deploy it... Now I
         | make sure that simple copy-pastable one-liners for those four
         | steps are included pretty much right after I've written my top-
         | level "what is this for" sentence.
        
           | Zopieux wrote:
           | This so much. I can pretty easily reverse engineer why me, or
           | some folk on the internet, wrote some code. It might take
           | time, but reading a few files should do it.
           | 
           | The 'effing building or running process and its unwritten
           | dependencies/twirks though? Hell, better rewrite the project
           | from scratch than having to figure out the obscure
           | incantations I used 6 month ago.
           | 
           | I'm so glad our industry heavily pivoted towards package
           | managers with consistent `$ pkgmanager build` processes. I've
           | lost count of the number of times I did not document my
           | Python dependencies when I was younger.
        
       | sesm wrote:
       | In the early days of Clojure, community libraries used to have
       | the best readme-s I've ever seen. They always wrote what problem
       | this library is trying to solve, what other solutions exist and
       | how this solution compares to the others.
       | 
       | Sadly, this tradition slowly faded away, some readme-s of todays
       | Clojure libraries are indistinguishable from typical JS noob-trap
       | frameworks.
        
       | zfxfr wrote:
       | And before the README.MD there was the good old FILE_ID.DIZ
        
       | mouzogu wrote:
       | > keep your README succinct
       | 
       | so why isn't yours....
       | 
       | node community has horrible documentation in general, at least in
       | my experience of some shitty npm packages i was cursed to deal
       | with. giving non executable code samples to start.
        
         | akpa1 wrote:
         | > so why isn't yours....
         | 
         | Because this isn't a software project with a README, this is a
         | piece of writing about READMEs that happens to be in a
         | README.md file, likely because that's what GitHub displays by
         | default.
        
           | forgetfulness wrote:
           | It would serve the purpose better if it were structured
           | closer to its own ideal of a README than a quaint millenial
           | blog post from the 2010s
        
             | mouzogu wrote:
             | the front end community is full of 20 somethings who are
             | rediscovering the wheel every other month.
        
           | AndrewUnmuted wrote:
        
             | burnished wrote:
             | It's a means of widely distributing text files that can be
             | commented on, forked, improved, merged, and presents a
             | history.
             | 
             | Your alternative is hosting a blog and losing all of those
             | features and free hosting.
             | 
             | I do not understand how you can hold your opinion,
             | excepting perhaps an unexamined assumption that all
             | repositories must be exclusively for serious coding
             | projects. Which would be understandable but, I think, in
             | error.
        
         | [deleted]
        
       | teddyh wrote:
       | Here are the _traditional_ best practices of how README files
       | should look:
       | 
       | * https://tldp.org/HOWTO/Software-Release-Practice-HOWTO/distp...
       | 
       | * https://www.gnu.org/prep/standards/html_node/Releases.html#i...
        
         | chrismorgan wrote:
         | > _By ancient convention, this is the first file intrepid
         | explorers will read after unpacking the source._
         | 
         | > _2. A pointer to the project website (if it has one)_
         | 
         | And there you see a major shift that has happened in the last
         | fifteen or so years. README files used to be for _once you had
         | obtained the code_. But then GitHub co-opted them to be the
         | home page, and other forges have by and large followed suit. I
         | get _why_ (repository info blocks on SourceForge and similar
         | weren't great), but I wish that brand of pragmatism hadn't
         | happened. Fortunately, I think that if you create another
         | readme file in a .github / subdirectory, GitHub should use that
         | rather than the top-level readme file, so if you want to leave
         | a proper readme file at the top level but direct casual viewers
         | to an actual separate website with a deliberately stub GitHub
         | readme file ("Go to <https://example.com> for information about
         | the product, or look at the [in-repository README.md
         | file](../README.md) for information about the code."), you
         | should be able to do so. Otherwise you're stuck either stuffing
         | far too much inappropriate stuff into the readme file, or
         | having people miss out on what they should see. If I were in
         | this situation, I'd probably do that.
         | 
         | (See also https://news.ycombinator.com/item?id=32211789 where I
         | made this observation 11 days ago when a link to a code
         | repository that contained a traditional README, instead of to a
         | project page, led to surprise.)
        
           | pussycat wrote:
           | Interesting how in `cgit` you can auto detect README files,
           | but the default page for a repository isn't the readme, it's
           | the commit summary history. I'd say it's more "traditional".
        
             | teddyh wrote:
             | Presumably because "cgit" is used by the developers of the
             | code and not by the users of the code.
        
               | chrismorgan wrote:
               | I think it's clearer to say: the sorts of people that use
               | things like cgit are more likely to be using it just for
               | the _repository_ , and not as the project home page.
               | Certainly that's how I'm starting to use currently
               | gitweb.
        
       | masukomi wrote:
       | I feel like posting Matt Parker's spectacular "Readme Driven
       | Development" lightning talk is obligatory here:
       | 
       | https://youtu.be/23xzRCoDZf4
        
       | andix wrote:
       | A good Readme can make mediocre software really good. If it does
       | it's job, and people understand how and when to use it, this is
       | already a lot.
        
       | wizerno wrote:
       | This is another resource which carries useful tips along the same
       | lines: https://skerritt.blog/make-popular-open-source-projects/
        
       | thenerdhead wrote:
       | READMEs are necessary. They are like instructions that come with
       | appliances. Most of us will try to just use or assemble the thing
       | without instructions and then sure enough we dig through the
       | trash or try to find another manual online to humble us.
       | 
       | I think some READMEs can go a bit over the top with every
       | affordance or badge you can muster however. But I think we'd
       | rather have something than nothing which is all too common in
       | software.
        
       | motoboi wrote:
       | Perl is very god at that because of perldocs.
       | 
       | Javadoc is also great, but it's too much.
       | 
       | I miss that very much.
        
         | jandrese wrote:
         | One of the things Perl got right was insisting that the POD
         | start with a minimal working code example that you can build
         | off of.
        
         | mindcrime wrote:
         | _Perl is very god_
         | 
         | Typo, Freudian slip, or ???
        
           | jdthedisciple wrote:
           | ... or autocomplete
        
       | norwalkbear wrote:
       | Gitlab has a good starter readme example
        
       ___________________________________________________________________
       (page generated 2022-08-04 23:00 UTC)