We've supported this in Wildfire for quite some time. You can read about
how this works at:
http://www.jivesoftware.org/wildfire/plugins/presence/readme.html
We haven't thought of a really good way to represent opt-in yet --
you'll see the types of work arounds we have in place by reading the
doc.
Easiest way is to simply have a contact in the roster representing the
web presence service, if you are allowing that contact to see your
presence then you are allowing the world to see your presence, its how
most jabber web presence systems in the past have operated, it also
means you can subscribe to a web presence service that's available
remotely rather than being tied to your own server.
Richard