Skip to content
This repository was archived by the owner on Apr 4, 2025. It is now read-only.
This repository was archived by the owner on Apr 4, 2025. It is now read-only.

[BUG-20036] Temp attachment without transfer #2738

Closed
@sl-service-account

Description

@sl-service-account

How would you like the feature to work?

Using an analog of llAttachToAvatarTemp, given the correct script permissions, a scripted object should be able to attach itself to an avatar while retaining its current ownership. That is, it should not automatically be transferred to the wearer, even temporarily. (It's fine if these "correct script permissions" can only be established in an Experience.)

Why is this feature important to you? How would it benefit the community?

A scripted object can use llAttachToAvatarTemp to attach to an avatar other than its current owner, but is then temporarily transferred to that avatar while it is worn. That's consistent with the longstanding assumption that anything worn is owned by its wearer, but it imposes major limits on the utility of temp attachments and (especially) Experiences.

An example of this problem: At least one popular multi-animation engine (AVsitter) has a built-in Experience that provides seamless attachment of props to those sitting on scene objects ("furniture") scripted with the engine, once they've granted permissions to that Experience on that or any other such furniture. The problem is that this engine is written to support furniture creators who will then sell the furniture to a second party, and the attachments will be made to a third party, which means these prop attachments must be given both Copy and Transfer next-owner permission by the furniture creator, in order for them to work as current temp attachments.

It's not merely that the furniture maker may not want to supply such permissions, but that they themselves should not need a license to distribute those props with such permissions. This fully severs a value chain: externally-sourced props simply cannot be used. (This can't really be solved by an IP legal mechanism; it's way beyond any normal EULA to try to impose compliance by someone not even a party to the agreement.)

(I've been told this is somehow related to BUG-11356, so I'll link it, although I don't exactly recognize it there. I'll also link the venerable SVC-2622 "Add permissions for owner-after-next" which would also address the general value-chain problem by revising the permissions system; it may be much easier to contemplate extending Experience permissions only for temp attachments in the very specific way proposed here.)

Links

Related

Original Jira Fields
Field Value
Issue BUG-20036
Summary Temp attachment without transfer
Type New Feature Request
Priority Unset
Status Closed
Resolution Unactionable
Reporter Qie Niangao (qie.niangao)
Created at 2016-06-17T09:55:21Z
Updated at 2016-07-06T18:41:30Z
{
  'Business Unit': ['Platform'],
  'Date of First Response': '2016-06-17T15:44:48.846-0500',
  'How would you like the feature to work?': 'Using an analog of llAttachToAvatarTemp, given the correct script permissions, a scripted object should be able to attach itself to an avatar while retaining its current ownership. That is, it should not automatically be transferred to the wearer, even temporarily. (It\'s fine if these "correct script permissions" can only be established in an Experience.)',
  'ReOpened Count': 0.0,
  'Severity': 'Unset',
  'Target Viewer Version': 'viewer-development',
  'Why is this feature important to you? How would it benefit the community?': 'A scripted object can use llAttachToAvatarTemp to attach to an avatar other than its current owner, but is then temporarily transferred to that avatar while it is worn. That\'s consistent with the longstanding assumption that anything worn is owned by its wearer, but it imposes major limits on the utility of temp attachments and (especially) Experiences.\r\n\r\nAn example of this problem: At least one popular multi-animation engine (AVsitter) has a built-in Experience that provides seamless attachment of props to those sitting on scene objects ("furniture") scripted with the engine, once they\'ve granted permissions to that Experience on that or any other such furniture. The problem is that this engine is written to support furniture _creators_ who will then sell the furniture to a second party, and the attachments will be made to a third party, which means these prop attachments must be given both Copy and Transfer next-owner permission by the furniture creator, in order for them to work as current temp attachments.\r\n\r\nIt\'s not merely that the furniture maker may not _want_ to supply such permissions, but that they themselves should not need a license to distribute those props with such permissions. This fully severs a value chain: externally-sourced props simply cannot be used. (This can\'t really be solved by an IP legal mechanism; it\'s way beyond any normal EULA to try to impose compliance by someone not even a party to the agreement.)\r\n\r\n(I\'ve been told this is somehow related to BUG-11356, so I\'ll link it, although I don\'t exactly recognize it there. I\'ll also link the venerable SVC-2622 "Add permissions for owner-after-next" which would also address the general value-chain problem by revising the permissions system; it may be much easier to contemplate extending Experience permissions only for temp attachments in the very specific way proposed here.)',
}

Activity

sl-service-account

sl-service-account commented on Jun 17, 2016

@sl-service-account
Author

Qie Niangao commented at 2016-06-17T10:02:35Z, updated at 2016-06-17T10:04:24Z

Also linking BUG-7702, another problem with the automatic transfer of temp attachments to the wearer. It's an assigned Severe-ranked bug so presumably it will be fixed, but included anyway as another demonstration of the high stakes of requiring that transfer.

sl-service-account

sl-service-account commented on Jun 17, 2016

@sl-service-account
Author

Lucia Nightfire commented at 2016-06-17T20:44:49Z, updated at 2016-06-17T20:54:45Z

If I'm reading the summary correctly, it sounds like the implementation of https://jira.secondlife.com/browse/BUG-11693 would help in third party use cases.

Also see https://jira.secondlife.com/browse/BUG-9933 which is basically temp attaching from object inventory instead of the redundant rez-then-attach method.

sl-service-account

sl-service-account commented on Jun 17, 2016

@sl-service-account
Author

Whirly Fizzle commented at 2016-06-17T21:29:38Z

Strife brings up a good point about this proposal on issue BUG-11839.

Strife Onizuka added a comment - 30/Apr/16 9:15 PM

This is likely being limited because you could otherwise follow the following steps:

  • Stick an item you have no-transfer ability in an box.
  • Insert a script that gives contents of box to owner.
  • Temp attach box to 3rd party.
  • 3rd party activates script to give themselves the no-transfer item.

Basically you could use this to sell items you don't have the transfer rights to sell.

sl-service-account

sl-service-account commented on Jun 18, 2016

@sl-service-account
Author

Qie Niangao commented at 2016-06-18T02:30:10Z

If I understand Strife's comment, it doesn't apply because the intent here is to specifically defeat that third step (attachment) leading to any change of ownership. That's kinda the whole point. The proposal here is for an analog of llAttachToAvatarTemp rather than a change to the existing function's behavior.

The jira on which Strife commented, in contrast, was to allow no-transfer items to be temp-attached and still become owned by the avatar to which they attach, which effectively would transfer no-transfer objects. (I admit, however, that I don't quite understand why Strife included the giver script in that objection; an object's contents are very much available to its wearer under the current conflation of attachment and ownership, no script required.)

sl-service-account

sl-service-account commented on Jun 22, 2016

@sl-service-account
Author

Kyle Linden commented at 2016-06-22T19:03:25Z

Leaving open for further opinion and discussion.

sl-service-account

sl-service-account commented on Jun 22, 2016

@sl-service-account
Author

Simon Linden commented at 2016-06-22T19:07:16Z

We'd love to hear of more specific examples where this would be a really useful new feature. This would be a fundamental change to some of SL's permissions and usage, so it needs to be balanced with the complexity and risk.

sl-service-account

sl-service-account commented on Jun 22, 2016

@sl-service-account
Author

Lucia Nightfire commented at 2016-06-22T23:06:45Z, updated at 2016-06-22T23:46:19Z

I now better understand the premise of this request. Without a change in owner, this request yields most of the same benefits as in https://jira.secondlife.com/browse/BUG-11356 where the wearer can not manipulate the attached object or anything it rezzes.

I do believe that an experience-only function should be used to achieve this because a run-time equivalent would allow uncontrollable group member use with all member roles whether desired or not by officers or group owners. It should only be achievable by land owners, group owners or group members in roles that limit their abilities, such as with the experience contributor ability. I welcome any arguement against this idea though.

Additionally I would ask that while a different owner object is attached that under no circumstance would the object, its contents or anything rezzed by it be able to be modded even if the wearer has mod rights on the original owner's objects. This also includes repositioning and rotating. Detaching, of course, would still be allowed.

sl-service-account

sl-service-account commented on Jun 22, 2016

@sl-service-account
Author

Takara Pikajuna commented at 2016-06-22T23:08:31Z

Hello Simon! Regarding your request for more specific examples, I have one (submitted in https://jira.secondlife.com/browse/BUG-20076 ). I created an environment for the SL13B and offered a temp-attach snorkel so that visitors could enjoy the exhibit with a swimming AO. Because the snorkel seems to transfer to the wearer, the scripts break (the parcel has scripts turned off to anyone but group members). By retaining my ownership over temp-attach items, my visitors can enjoy my objects without cluttering their inventory, and I can rest assured that my objects will not be abused.

sl-service-account

sl-service-account commented on Jun 23, 2016

@sl-service-account
Author

Code Violet commented at 2016-06-23T01:37:38Z

Hi. Please also read and link the issue BUG-6629. Similar to Takara's example, BUG-6629 explains a problem with scripts inside temp attachments, as they will not run after they are transferred with llAttachToAvatarTemp() on land where the recipient of the attachment does not have permission to run scripts. Specifically, the script will not even have the ability to llDetachFromAvatar() when needed. This causes unexpected behavior. If attachments remained owned by the avatar giving the attachments then it would likely solve this issue too.

sl-service-account

sl-service-account commented on Jun 26, 2016

@sl-service-account
Author

Lucia Nightfire commented at 2016-06-26T05:47:35Z, updated at 2016-07-06T01:32:31Z

In my previous comment I mentioned that the wearer should not be able to reposition or rotate attachments. I am changing my view on that and think it should be allowed since it is not uncommon for adjustments to be needed. If an application absolutely needs to maintain its attached pos/rot, it can be monitored and maintained by a script in said attachment. The owner of the attachment, though, should not be allowed to manipulate the attachment while it is attached to someone else and the wearer should not be able to modify the attachment if they have mod rights for the original owner. I'm also changing my view that the owner should not be able to manipulate objects rezzed by the attachment. This new function should be Experience based only and thus, have a higher expected level of trust and a limited area of use in-turn making abuse far less likely than if it was in a sole run-time environment that could be used anywhere.

A new function such as llTempAttachNoTransfer() or llTempAttachKeepOwner() would be a major evolutionary change for Secondlife as it would allow immense flexibility and opportunity for land owners, whom most are not skilled in scripting, 3D modeling or art design, to create in-depth Experiences using third party content they've purchased while still honoring the permissions system.

I now have to play Devil's Advocate because as much as I'd love to be able to use all the mod/copy avatars, weapons, combat gear, HUDs & maybe furniture I've purchased over the years in a full region Experience setup and involve temp attaching them to participants, we all know LL is not going to allow no transfer content to be attached to different owners because most content creators have not set up their content for the introduction of such a feature and some of them may not wish to have their products worn by users other than the ones that originally purchased them for ethical reasons or principal, not to mention it could cause issues with scripted user database checks, scripted piracy deterrents or EULA conflicts.

Many, though, would overwhelmingly want to allow their no transfer products to be used in a buyer's Experience with this new function that maintains the buyer's ownership. In order to give creators this ability, we ultimately are going to need a new permission flag that owners of full perm objects can enable for next owners to explicitly use this feature. I know LL is reluctant to bother with adding/changing permissions, but we're talking about a major feature that will allow the platform to evolve. Such a feature is inevitably going to be needed with Sansar and in Secondlife with the introduction of Created Agents(BUG-11368) if their owners want to equip/accessorize their NPC's or pets with mod/copy attachments.

This "Special Transfer" flag can only be enabled if the current owner has full permissions over the object and its inventory items and the next owner Transfer permission is disabled. This would not be hard to implement. Like any extensive feature, documentation just needs to be available explaining its use.

This "Special Transfer" flag is needed to protect existing content from being used against the intentions of the creators and to bridge the road to the introduction of new abilities.

The constant, OBJECT_WEARER will also be needed for llGetObjectDetails() remotely and internally since the only time an object can directly check if a different owner is wearing an attachment is in the attach() event.

llOwnerSay()'s behavior may need to be changed with scripts worn by different owners since llRegionSayTo()use counts toward a region throttle.

This function, combined with BUG-11693, solves a long standing problem I've had with not being able to demo/sell complete experience based games and security systems that use HUDs.

sl-service-account

sl-service-account commented on Jul 6, 2016

@sl-service-account
Author

Dan Linden commented at 2016-07-06T18:41:31Z

Thank you for your suggestion. We've reviewed your request and determined that it is not something we can tackle at this time.

Please be assured that we truly appreciate the time you invested in creating this feature request, and have given it thoughtful consideration among our review team. This wiki outlines some of the reasoning we use to determine which requests we can, or can't, take on: http://wiki.secondlife.com/wiki/Feature_Requests

Thanks again for your interest in improving Second Life.

1 remaining item

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @sl-service-account

        Issue actions

          [BUG-20036] Temp attachment without transfer · Issue #2738 · secondlife/jira-archive