I think the biggest failure of the open web is simply the lack of a "Publish" function. You can consume on the open web just fine, but for publishing you need to own a server, not just a client. That in turn gave growth to Youtube, Facebook and Co., as they allowed people to publish content with just a web client.
Search and payment are important as well, but only really become relevant when the content is on the web.
The simplest approach to something like this is Apache homedirs or finger plan files [0]: you write some text in a file in your home directory and a service makes it accessible to anyone who connects to your machine. Apparently plan files were somewhat popular thing at one point; you could finger the machines at id Software and read what John Carmack was doing on any given week [1].
The problem with this approach is that the internet (not just the web) is not end-to-end. Assuming your ISP isn't using CGNAT, I have to:
- Punch a hole in my firewall or setup up a DMZ host. Unless my workstation is the only thing on my network and hooked directly into my modem, but nobody does that. Everybody has a LAN with private addressing.
- Setup dynamic DNS, since there's no guarantee that my ISP has given me a static address. In practice this isn't that bad, but if I lose power in a thunderstorm you need to have the same name you had before.
- Harden and update whatever service I run. It'll get probed regularly, and is a high value target since it presumably runs on the same machine where I run my password manager or buy things using I credit card.
A VPS is just a convenience and security measure here. You get a public IP address without any additional management (default-deny firewall, NAT) and can isolate your private data from the VPS which is more likely to be compromised.
The alternative would be to make a new network which gets rid of all the extra layers of management - just your machine, with a publicly accessible name that you can point people to. No smart network appliances in-between imposing NAT, DHCP, or firewalls beyond the one on your machine. I think there are P2P networks which work like this, or Tor if you give your machine a name in the .onion namespace. I don't know of any which are better on the security aspect though.