Right now, visiting a website can be sufficient to effectively install an invisible background service that runs so long as the browser is running (or, on Windows, even when the browser *isn't* running!), and doesn't go away when the page's tab is closed. This is unexpected behavior for a website, and there's also no obvious way through the UI (other than an about: page) to see these and stop or uninstall them.
Handy for push notifications, but generally when a desktop user quits a *native* app, its notifications stop. When they close a web app, however, they will continue to receive these notifications, with no obvious way to turn them off.
Service workers represent a new pattern that users may be unfamiliar with (I know I was) which may make it harder for them them to know what is running on their machine. I propose:
a) explicitly prompting for permission from the user every time a website wants to install a service worker (separately from the "allow notifications" privilege)
b) having a visible representation in the browser toolbar indicating background activity, where clicking on it shows a dropdown of everything that's allowed to run and makes it easy to revoke permission for each.
MacOS already requires the user to allow apps to run in the background and makes it easy to revoke those permissions. Why should firefox be *less* transparent about what's being allowed to run in the background than the operating system itself? Moreover, surfacing this so that users are aware is both a visible demonstration that the Firefox project cares about their privacy and control over their machines, *and* would differentiate Firefox from other browsers that continue to make this invisible.