Re: In the absence of files...
So do I *have* to have Word installed, as it is described as the "owner" of the file that you sent me? Or can Libre Office be used? What if I have both installed, because I'm supporting Users who each choose a different program?
'Owning application' in this context only means 'the application responsible for managing that collection of bytes on this system.'. If someone sends you a file you open a compatible application and import it - or as now when you try to open the file in your mail client the operating system suggests a compatible application.
Is that SVG file "owned" by Inkscape or by the web browser from which I used "save link"? What about the SVG file I created using Inkscape but want to view in the browser?
The file is owned by Inkspace, the link is owned by the OS and would contain sufficient information to identify the original data and its owner. The browser would talk to Inkscape to render the SVG (and register its use of it) or offer to adopt a clone of the data for you. If you modify data linked to by or from another application you get prompted whether to notify the other application or just make a copy and update that.
If you uninstall an application:
* Any application that has registered and not released a link to data will notified so that it can decide how to handle it (clone its own copy or warn the user that it won't be able to render the data moving forward).
* You are asked if you want to keep orphaned data and if so it remains on your storage along with whatever metadata identifies the original application.
There might have to be an ability for the OS to provide access to 'orphaned' storage so that applications can search it and take over ownership of the data in some fashion. Although an application ought to be able to mark data as 'for me only' for security reasons as below:
Although the above seems complex it's better than the current system where if you uninstall an application you can lose access to data without realising it. At least here there is something that is responsible for and tracking each data object. This also improves security because it prevents applications from opening data objects willy-nilly. An attempt to open secret_db.sql with - say - a hex editor will be impossible because you can't navigate to it. The only way to access that database is to ask the owning application and that will (we hope) prompt the user for confirmation before allowing it.