<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Last time this was up for discussion, I suggested we have a 'BinaryItem' with a 'BinaryId' that could well be a sha-1 and be used for de-duplication. This would be hashed on the binary data only, and would not have anything like 'name' or 'owner'.<BR>
 <BR>
then an 'AssetItem' would have a unique 'AssetId', context information like 'CreatedDate' and 'CreatedBy' and then a binaryId pointing to the common binary data.<BR>
 <BR>
If this feels difficult to handle, it would be a simple thing to create a combined 'view' in the database.<BR><BR>
this is akin to the case of 'InventoryItem' with unique 'InventoryId' where several users can have the same asset, but under different name (and with different permissions)<BR>
 <BR>
Also note that the binaryId probably would be a local reference only, ie, never shared over any trust boundary.<BR>
<BR>Best regards,<BR>Stefan Andersson<BR>Tribal Media AB<BR> <BR>Join the 3d web revolution : <A href="http://tribalnet.se/" target=_blank>http://tribalnet.se/</A><BR> <BR><BR><BR><BR>

<HR id=stopSpelling>
<BR>
> Date: Mon, 23 Jun 2008 18:13:13 +0100<BR>> From: melanie@t-data.com<BR>> To: opensim-dev@lists.berlios.de<BR>> Subject: Re: [Opensim-dev] Proposal to eliminate the name, description and invType fields from the assets db table<BR>> <BR>> Hi,<BR>> <BR>> Sean Dague wrote:<BR>> > Let's seperate the use case you have, from the way you would implement<BR>> > it on top of the existing system, which is wasteful in a bunch of ways.<BR>> > The use case is to track inventory generations of the same asset. I<BR>> > think that would be much better done by adding a field to inventory<BR>> > which is seeded on a new upload. Inventory transfers/copies keep that<BR>> > seed.<BR>> <BR>> That would only handle agent inventory. It would not handle textures <BR>> applied to prims, or used in clothing, or audio files referenced by <BR>> UUID from a script. Basically any asset that gets detached from <BR>> inventory becomes untraceable.<BR>> <BR>> The problem is this:<BR>> <BR>> User A uploads a texture. She creates a skin, which she sells.<BR>> <BR>> User B uses a ripper to clone the appearance of a person wearing <BR>> that skin. They extract the texture, and download it.<BR>> <BR>> They then proceeed to reupload the texture, create a skin from it, <BR>> and sell that.<BR>> <BR>> Person A files a DMCA complaint, which results in a takedown order. <BR>> If upload coalescing were in effect, those skins would use the same <BR>> UUID. There would be no way to destroy the skins that were created <BR>> from the copy and leave the ones created by the original creator <BR>> unharmed.<BR>> <BR>> If one upload = one asset, all I need is to replace the image data <BR>> with a "missing image", or, as Neb suggested, "Missing Ethics" <BR>> bitmap. All items created from it are instantaneously unwearable.<BR>> <BR>> All builds a stolen building texture is used on would then show that <BR>> replacement image, e.g. be unusable. The DMCA takedown would be <BR>> compiled with.<BR>> <BR>> With coalescing, there is no way that can be done, I would have to <BR>> remove the asset, which will destroy all builds/items created by the <BR>> legitimate creator as well. She would have a lot of very angry <BR>> customers.<BR>> <BR>> For those who want coalescing to save space, by all means, put it <BR>> in, but please leave the option for one upload = one asset. The <BR>> legal implications or business could be tremendous if that option is <BR>> taken away, negatively impacting all commercial grids.<BR>> <BR>> Melanie<BR>> <BR>> _______________________________________________<BR>> Opensim-dev mailing list<BR>> Opensim-dev@lists.berlios.de<BR>> https://lists.berlios.de/mailman/listinfo/opensim-dev<BR><BR></body>
</html>