Asset Permissions
Asset Permissions refer to the DRM (
Digital Rights Management) system for all
assets in
SL. An asset is any type of
inventory item:
object,
script,
texture,
sound,
animation,
body part,
clothing,
gesture,
landmark, or
notecard.
There are two sets of
permissions for each object, plus a couple of "extras". The first set is the permissions the current
user has; the second set is the permissions the next user to
own it will have. Each set contains three options:
- Modifiable: This means that the current (or next) owner can modify this asset.
- Copy: This means that the current (or next) owner can create copies of this asset.
- Transfer: This means that the current (or next) owner can give away or sell this asset.
Note: An item cannot be set to
next owner: no copy, no transfer. The exception to this is if a "no-copy" object contains a "no-transfer" item. However, removing this will allow the object to be copied.
Note: "(As of late 2006) I've actually been able to make my objects no (as in NONE - No Copy, No Modify, No Transfer) perms many times with great ease. Instant Message me and I'll send you one of them, its also not hard to replicate this "bug", if you will, either. - Tre Giles":
The other two "extra" permissions are "everyone can copy" and "share with
group". Every object can be set to one of the groups the owner is a member of for use with the "share with group" option. An object that is shared with a group can be
deeded to the group if the owner has transfer permission.
Note: Be very careful when working on group projects and passing items back and forth! Always check the "next owner" permissions before handing off an item!
Warning: Permission settings set while object is in inventory are not cross-checked with contents until
rezzed.
Be Carefull. If a no-copy item is placed in a copy-enabled
prim, the prim becomes no-copy. If a prim is placed in inventory and changed back to copy-enabled, this
state persists even after transferring to another resident because permission are not cross-checked with contents until the object rezzed. If careless, a receiving resident can be allowed to copy no-copy items.
source
Script permissions are handled slightly differently than other objects. The transfer permission works normally, but the other two permissions have unique behavior. In order for a script's source
code to be viewable by the next owner,
both modify and copy permissions must be set. Without the modify
flag set, copy only controls copying of the script item itself. Setting just the modify flag appears to do nothing.
One can assume the reasoning for this behavior with script items is the fact that if the source code can be seen, it can be copied.
The base permission
mask contains the permissions that the object had when it was given to the current owner. In theory, no other mask can have more permissions then the base mask. If they do then this is a
bug in permissions and should be reported.
Functions
Constants
Constant | Value | Description |
MASK_BASE | 0 | Get the object's base permissions. |
MASK_OWNER | 1 | Get the permissions the current owner has. |
MASK_GROUP | 2 | Get the permissions the object's active group has. |
MASK_EVERYONE | 3 | Get the permissions everyone has on the object. |
MASK_NEXT | 4 | Get the permissions the next owner has. |
Permissions | Value (hex) | Description |
PERM_ALL | 0x7FFFFFFF | Move/Modify/Copy/Transfer |
PERM_COPY | 0x00008000 | Copy |
PERM_MODIFY | 0x00004000 | Modify |
PERM_MOVE | 0x00080000 | Move |
PERM_TRANSFER | 0x00002000 | Transfer |
Phoenix Linden once wrote (source?):
Permissions Explained
Permissions
The permissions system is designed to foster the best possible content and sanctify the best possible experience in
Second Life. We track four basic permissions - move, modify, copy and transfer. The move, modify, and copy permissions can be applied to four categories - owner, group, everyone else, and next owner. By applying different permission sets to different categories of people, you can control how items you create in Second Life are used and distributed.
Example Applications
- You want to sell some clothing that someone can alter, copy into new outfits, but never sell:
- [X] next owner modify
- [X] next owner copy
- [ ] next owner transfer
- You want to sell someone a single motorcycle that they can change the shape and color, but cannot examine or modify the script:
- bike:
- [X] next owner modify
- [ ] next owner copy
- [X] next owner transfer
- scripts:
- [ ] next owner modify
- [ ] next owner copy
- [X] next owner transfer
- You want to sell someone a texture that they can use to wallpaper their entire house, but they can never sell the texture or anything textured with it?
- [X] next owner modify
- [X] next owner copy
- [ ] next owner transfer
- You want to give someone a whole bunch of useful stuff with some comments explaining everything. Put it all in a note card!
- [X] next owner modify
- [X] next owner copy
- [X] next owner transfer
- You want to build a fortress for with your group, which will continue to evolve to meet group needs after it has been deeded.
- [X] share with group
- [X] next owner modify
- [X] next owner copy
- You have built a statue that will be deeded to your group, but you do not ever want it to be altered or incorporated into other group projects.
- [X] share with group
- [ ] next owner modify
- [ ] next owner copy
- [X] next owner transfer
Permissions Settings
- Modify
If modify is enabled, you can edit properties like item name or object scale. Modify permissions also grant you the ability to delete an object - for example, if an object has been shared with group in world, then any member of the group can modify, and therefore delete the object.
When an object is next owner no-modify, that permissions setting is interpreted as 'no one can create derivative works.' For example, if you sell a motorcycle without modify permissions, the buyer cannot make a slightly longer or re-textured version of that motorcycle without building one from scratch.
If an inventory item inside of an object is no-modify, the object itself can still be modified. Conversely, if an object is not modifiable, it's contents cannot be modified.
- Copy
If copy is enabled, you can make as many copies as you want of the original item. Copies maintain creator information, and can never be more permissive than the item being copied.
The copy property applies outward. If an inventory item inside of an object is no-copy, the object itself cannot be copied until that item is removed. Conversely, if an object is no-copy, that does not imply that the contents are no-copy .
- Transfer
If transfer is enabled, the owner can transfer the item to another person. If an item is not transferable, the owner cannot sell, give away, release or embed in something they sell, give away, or release. The transfer permission only applies to the owner, since no one else can initiate a transfer.
During a transfer, the next owner field is copied into the owner field and dependent permissions fields are recalculated given the new owner permissions.
- Move
If move is enabled, the object can be moved.
Categories
The permissions track four primary categories for each object - owner, group, everyone else, and next owner. Each category has its own set of permissions. Group and next owner permissions can never be more permissive than the owner permissions field. The everyone permissions field can never be set modifiable, and can never be more permissive than the group field.
Group owned objects conceptually collapse the owner and group categories into the same value.
Fair Use Rights
To further the goal of best possible content and best possible experience, the permissions system comes with a set of fair use rights. Fair use rights apply to the owner of the item.
- Deletion - you are always allowed to delete something you own.
- Move - you are always allowed to move anything you own.
Right of First Sale
The right of first sale applies when an item is transferred without next owner copy. Since you are allowed to specify 'no derivative works' by specifying 'next owner cannot modify', this right is interpreted as 'next owner can always transfer that single
instance of the item to anyone else'.
Permissions |
Script Permissions