Live data from Hacker News

The PostgreSQL documentation and the limitations of community

rhaas.blogspot.com

11–20 of 61 posts

Re: The PostgreSQL documentation and the limitations of community

#11

As a regular consumer of pg docs, I vehemently agree that they are incredibly detailed, and at the same time, daunting to navigate.

If their problem is an abundance of information that is hard to navigate, they really should start experimenting with retrieval-augmented generation search experiences [1] like Supabase AI. One of the great promises of LLMs for docs IMO is the ability to synthesize info from many sources to provide more targeted answers.

[1] https://technicalwriting.tools/posts/playing-nicely-with-gen... (my blog)

Re: The PostgreSQL documentation and the limitations of community

#12

Here's my perspective. I've been a technical writer (TW) for ~10 years. 3 at an IoT startup, 7 at Google. > The strengths of this process are also its weaknesses. A developer is, by definition, someone who spends the majority of their time doing development, which is to say writing code. Updating the documentation becomes a task that must be completed so that the code one has written can get committed so that one can…

Just curious. Where do you think that an open source project like PostgreSQL gets a budget to hire anyone? Let alone to dictate a new line of authority to the volunteers who are already maintaining it?

And don't forget that there are valuable volunteers who are likely to go elsewhere if too many new rules are added that they don't want to live with.

Re: The PostgreSQL documentation and the limitations of community

#13
post #12

Here's my perspective. I've been a technical writer (TW) for ~10 years. 3 at an IoT startup, 7 at Google. > The strengths of this process are also its weaknesses. A developer is, by definition, someone who spends the majority of their time doing development, which is to say writing code. Updating the documentation becomes a task that must be completed so that the code one has written can get committed so that one can…

Just curious. Where do you think that an open source project like PostgreSQL gets a budget to hire anyone? Let alone to dictate a new line of authority to the volunteers who are already maintaining it? And don't forget that there are valuable volunteers who are likely to go elsewhere if too many new rules are added that they don't want to live with.

Open Web Docs is a potential model to draw inspiration from regarding funding: https://openwebdocs.org

Presumably, PostgreSQL has leaders who are responsible for steering the ship. If the project is going to succeed long-term, those leaders have to find ways to keep their contributors happy while also creating an organizational structure that leads to good docs. Easier said than done, I know, but it really is as simple as that.

Sorry if any of my comments came off naive or obtuse when it comes to open source dynamics. But the reality is that you need good docs, and I'm just trying to give an honest assessment from my experience of the conditions that lead to good docs.

Re: The PostgreSQL documentation and the limitations of community

#15
I think Haas is basically right, that the structure flows from the community structure, and that it's not clear alterations would be a net win. pgsql-hackers is producing the kind of docs only they can, but many usful kinds of docs they cannot produce (per Haas's theory, e.g. more narrative in nature) are delegated to the relative anarchy of the Internet, in blogs, comment threads, stack exchange, and such.

While there should be a lot of hesitancy at the implied assumption that any particular arrangement is at the efficient frontier -- most situations can be improved in most or all dimensions -- an exchanged loss in the kind of documents that pgsql-hackers is suited to producing is hard to replace.

Re: The PostgreSQL documentation and the limitations of community

#16

As a regular consumer of pg docs, I vehemently agree that they are incredibly detailed, and at the same time, daunting to navigate.

How real is this problem though? I have no idea how they're organized because I'm usually led to whatever page I wanted to see by Google anyway.

Re: The PostgreSQL documentation and the limitations of community

#17
post #6
post #4

This is a very valuable post in my opinion. Documentation is so critical to open source as well as to the private sector. It can make the difference in how long it takes you to complete a project at work.

At this point I believe that documentation is the most important marketing artifact that a project has.

I always point out the readme pages of projects on github. How many times has that made the difference between you using the project or not?

Re: The PostgreSQL documentation and the limitations of community

#18

I love the approach of “change the code, write the documentation”; the code author is in a unique position to be able to explain the new behavior of the system. However, most FOSS projects could benefit from a technical writer, who can improve these first drafts to make them more usable. Back in the Stone Age, companies like IBM had vast writing staffs. As a result, you got entire walls full of documentation. For OS/…

The technical writing community refers to this approach as "docs-as-code". Just mentioning that keyword in case anyone wants to research the space further. There is a famous Write The Docs talk on the topic. I think the same author turned that talk into a book.

Fabrizio Benedetti did a cool analysis of various common docs-as-code architectures: https://passo.uno/docs-as-code-topologies/

Re: The PostgreSQL documentation and the limitations of community

#19
post #12

Earlier quoted context omitted.

Just curious. Where do you think that an open source project like PostgreSQL gets a budget to hire anyone? Let alone to dictate a new line of authority to the volunteers who are already maintaining it? And don't forget that there are valuable volunteers who are likely to go elsewhere if too many new rules are added that they don't want to live with.

Open Web Docs is a potential model to draw inspiration from regarding funding: https://openwebdocs.org Presumably, PostgreSQL has leaders who are responsible for steering the ship. If the project is going to succeed long-term, those leaders have to find ways to keep their contributors happy while also creating an organizational structure that leads to good docs. Easier said than done, I know, but it really is as simp…

Sorry if any of my comments came off naive or obtuse when it comes to open source dynamics.

If you want that apology to be meaningful, you should learn something.

When you're talking about a highly successful open source project that has been going for more than 3 decades, it is beyond ludicrous for you to say, "If the project is going to succeed long-term..." It already has succeeded long-term. And you would be better off figuring out why it works rather than lecturing about how it must work.

When you talk about "a potential model to draw from" for funding, please note that I've been involved with open source for about a quarter of a century. I've seen a LOT of funding models attempted. Mostly they run into one big problem. And that problem is that adding funding creates bruised egos because people say, "Why is he getting paid when I'm not?"

The one funding model that DOESN'T have this problem is when a company decides to pay its employees to work on features that it wants in the project. Now there are no bruised egos - the money comes from the company and it is clear why one person gets paid while another does not. There are still challenges with this model - employees are under pressure to get their contributions accepted whether or not the project likes them - but we've learned how to navigate those.

But now we're left back where we started. Companies who hire core developers don't generally need comprehensive documentation - they build internal documentation straight for their use case. So comprehensive external documentation is hard to find. Sometimes you'll wind up with things like an excellent introductory tutorial like https://docs.python.org/3/tutorial/. Usually, you don't. And generally it is hard to simply pay someone to take care of it for you.

Re: The PostgreSQL documentation and the limitations of community

#20
The problem with developers writing documentation is that they generally have too narrow of a view of things.

Here's an artificial example:

"Added a setting which allows you to change the size of a boba."

It doesn't answer any really useful questions, such as: why would you want to change the size of a boba? What is the effect of various sizes of boba? How does that interact with other settings?

As a database user, I actually want to know these things. Internally I have a mental model of how all these settings interact with the product, and I use information about the new setting to adjust that model.

For psql in particular, the documentation (as people have pointed out) shys away from anything too "opinionated."

But what it should do instead of have multiple opinionated examples. Multiple examples allow me to learn about the different tradeoffs and configuration options.

It reminds me of the old days, when the psql docs talked about optimization as a "black art", and basically said "it would be impossible to cover everything, so we won't cover anything."

Post reply on HN