Allow Reset Scripts to work on no-mod items
tracked
Rheia Silvercloud
Currently, scripts in items which are no-mod cannot be reset if they should stop working. If the item is also no-copy, you cannot get a backup from stored inventory (as is the case of many former gachas). With no way to get the item again in the form of redelivery, and no way to reset the scripts due to permissioning, the item, bought and paid for, is now useless, no longer tradeable to another, no longer functioning, and wasted money
This Feature Request proposes allowing script reset (and ONLY script reset) to be used on these product, while not allowing the user to elsewise access the protected item's inventory or scripting. If the reset would normally display a dialogue, this reset action, upon checking the no-mod status, will also suppress the dialogue, thus passing to the user only the Done or Error condition while not revealing anything of the internal working that caused the failure-to-reset.
Log In
SL Feedback
Hello, and thank you for your feature request regarding the ability to reset scripts in no-mod items. This issue has been brought up in the past and is currently tracked. We understand the importance of this feature, especially for items that are no-copy and no longer available for redelivery. While we have no estimate on when this may be implemented, please keep an eye on future updates. Your input is valuable, and we appreciate your continued commitment to improving Second Life.
SL Feedback
tracked
Gwyneth Llewelyn
While I'm totally sympathetic to this proposal
in principle
, in practice, of course, what you're proposing is absolutely impossible and not really worth considering. I'm sorry, but that's the plain truth.Like you, and like everybody else, I have my inventory full of old objects that don't work, and which I cannot reset, so they're all bricked. Some of them are even my own objects! They don't work simply because they relied on external servers to work, which have been turned down for several reasons.
Anyway, the point is that there are some things in SL that rely on certain of its peculiar characteristics to work. One of them is that script states are, to a degree, 'eternal', never lost under any circumstances, and reliably so.
This is what guarantees a creator that they can give residents a 'demo' version of a meshed item (clothes, weapons, etc.) that are fully functional for a limited amount of time — and then disappear. This is only possible because it's absolutely guaranteed that the recipient of the 'demo' item will have zero possibilities of subverting the process. There is no way to either remove the script from the object, or from resetting the script; that permits 'demo' objects to exist, which otherwise wouldn't be possible.
I give that example because I can imagine what would happen if it were announced that, all of a sudden, no-mod scripts
could
be reset. Creators who have been handing out demos of their content will suddenly learn that all those demos would never be deleted. Indeed, some residents, having a no-mod but copyable demo of a certain expensive/valuable item, could easily make a gazillion copies of the demo and sell them very cheaply to others — just telling them to reset the scripts when they receive their copies.Clearly that would cause the collapse of the whole commerce in SL — and I'm more than sure that content creators would lose faith in the permissions system, and give up on Second Life. We would all lose in the process.
Nevertheless, as said, I understand the essence of the problem, and I defy any resident that has been around for more than five years to claim that they don't have a single no-mod object in their inventories that doesn't work. We all have. The problem exists. But the solution is not to break the permissions system and allow no-mod items to become modifiable (by allowing the scripts inside to be reset).
There are, however,
some
things that could
be done.First and foremost, there could be a sunshine clause of full-perms. In other words,
if a content creator leaves SL for more than a certain period of time
(say, five years without a single login) then I would argue that they have lost their claim on the full ownership of their content. They retain, forever, the right to be listed as author; but they might lose the right to enforce no-mod on all
their old content.This is analogous to how patents expire in the real world — after 15 years, in most jurisdictions, patents are released in the public domain. Copyrights usually last much longer — they are a different sort of intellectual property (IP) — and trademarks last for as long as the claimant on those trademarks is available to establish a claim in a court of law. In other words, if Coca-Cola ceased operations, shut down their factories and distribution channels, and dissolved the company for all purposes, then, sooner or later, the Coca-Cola registered trademark might be contested in court, and since there would be no more Coca-Cola lawyers to defend their claim, the trademark would go to anyone else who presented the strongest claim. I'm not an IP lawyer expert, much less an
international
IP expert, but, roughly speaking, in the real world, there is this concept that IP is enforceable as a monopoly of its creator for as long as the creator is interested in enforcing it (or, in the case of copyrights, it expires automatically after a certain number of decades).The suggestion that content will only be no-mod for as long as the person who set it to no-mod still has a valid interest in staying around SL (by logging in, even if just occasionally) makes sense to me. It means that current content creators would be assured that nothing nor nobody could override their permissions, so long as they continue to log in to SL. Even if someone is
forced
to say away from SL for an extended period of time (due to health problems, for instance), but has all the intention to return and resume their content creation as soon as they can — their content would remain protected until their return.But if they decide to abandon SL forever, stop logging in, and put a message on their profiles/blogs/online shops etc. saying that they're unable to provide any kind of support since they have abandoned SL — and effectively stay away from SL for a long period — but
then
revert their decision, after a decade of absence... well, then they shouldn't be surprised that their content lost its permissions (but not
the identification as to whom the creator was!).Indeed, in those extreme cases (I'm aware of a handful, so this is not purely hypothetical — just rare), a
good
content creator would obviously not worry, since, after a decade, they can produce new
content, which might be better in all aspects: not only SL has evolved technologically, but the content creator will also have acquired more experience, learn more techniques or use new tools, and that will also be reflected in the new content they will be able to sell.It's just the
bad
content creators that would complain :) But if they haven't been around for a decade, it's also likely that their content is worthless anyway, so it won't sell, no matter what permissions it might have.This would be a solution in terms of legal and technological terms, since all it requires is a certain amount of information to be included in the terms of service and so forth, as well as a little bit of programming (essentially, checking every day which content creators haven't logged in the last 5 years, and setting their items as no-mod).
However, this would
not
solve the case of active content creators that simply refuse to replace broken content. That's a purely social issue which should not be solved technically. Instead, this would be up to residents to establish themselves as credible content creators who will give technical support to their items; and residents, based on their attitude, would choose those who gave the best support.This, of course, would be what happens in the real world. In SL, things are not so easy. For example, we can leave ratings and comments on content bought on the SL Marketplace — but not on content bought in-world. In any case, we cannot see the overall ratings of a merchant's store on the Marketplace, or rank searches by rating. That makes it hard to know in advance how credible the creator is.
In the real world, there are consumers' associations, better business bureaus, and similar entities, which are funded by their members to make independent (and hopefully unbiased) evaluations on products, and publish the results. This, of course, does not apply to
all
consumer products, but, in general, it's reasonable to assume that consumers in RL, these days, have access to information to make good decisions before spending any money.Second Life lacks mass media — there is no widespread TV, radio, or newspapers — and the closest we got are the one-liners when logging in. Besides that, we have forums (both the official SL forums and many others), Discord channels, a subreddit (at least once), several in-world groups, many many blogs, and content creators' own websites. And, of course, there is also the social media — Facebook, Twitter, Instagram, and Plurk (which is probably
only
used by SL residents these days!), and there is my.secondlife.com, an excellent concept which sadly never received further developments.Information, therefore, is heavily fragmented and dispersed, and it's very hard to get an overall picture of what content creators are reliable and honest. At the end of the day, you can only trust your own judgement. And this is obviously taken advantage of. There are no 'commercial laws', or 'transaction laws', that protect consumers in Second Life (and merchants know that very well). While the
type
of content may be censored (actively or passively, via the abuse report system), the transaction itself is not regulated, and there is no court of appeal, nothing. There isn't even a way to flag a bad experience (nor a good one!) in a way that everybody
is able to see it.That problem is hardly "new". At least as early as August 2006, there were several efforts to create a so-called Chamber of Commerce (see, for example, the initial meetings of the SL Chamber of Commerce Incubator Group, preserved here for posterity, and which included, as a participant, the late Professor Rudy Rummel — SL avatar Rudy Ruml — the proponent of the democratic peace theory and who, in his later days after retiring, was a very keen SL resident). The overall idea was to create a trade association of content creators who would establish an ethical code of conduct for content transactions in SL; those committed to abide by that code would be given a "stamp of approval", so to speak. The SL Chamber of Commerce would also listen to any complaints made by customers who felt cheated in some way, which could potentially result in sanctioning (removing the "stamp of approval", putting the merchant into a public "blacklist", etc.).
Naturally enough, in spite of the best of intentions, none of those projects went ahead. In most cases, the main issue was lack of time — content creators, after all, want to spend their time into their creations, hopefully to be able to sell more and better content. They hardly want to be members of an organisation which would just spend its time in debates cases presented by customers, complaining about other members. On the other hand, of course, consumers and third-parties would be willing to join, participate, and eventually even run the organisation — but they would lack the knowledge on operating businesses in Second Life, and very likely not be the best, most qualified individuals to be part of such an organisation.
It's complicated. That's why, twenty years later, nobody figured out how to tackle this particular issue. We still remain at the stage where we have to try to make the best possible choice based on word-of-mouth and the many fragmented sources of information.
Cynos3D Resident
Maybe LL can implement a sim function to save state, reset and re-load the script data from it's save to allow for some level of independent troubleshooting with no-mod objects?
I'm seeing very good points of both sides of this argument and i appreciate the concerns raised about loaded script data but haven't seen many alternative solution proposals. I think Rheia's concerns are valid and deserve some serious consideration, there needs to be a way to ensure scripted content can be forced back into a functional state, if not by resetting then how? I'm not a scripter so i can't really talk about my experience from that side but i have been on the receiving end of MANY such issues resulting in completely bricked no copy / no mod objects caused by "SL Hickups" and it is quite frustrating, this has only lead to my further disdain of no modify objects as it feels like we have less and less control over the avatars and items we spend our hard earned money on. There is no reason this scenario should be an acceptable outcome for anyone.
Certified Lunasea
There have already been many reasonable use-cases provided for why this is a bad idea already including gift cards, one-time setups, and timed demos. These are, of course, just the tip of a much bigger iceberg. Implementing this proposal would break many of those scripts without a doubt, and unfortunately LinksetData isn't a viable way to work around implementing something like this for all of the scripts that would be effected as many of them are already in the wild and/or come from creators that are no longer in Second Life. In addition, there are many other valid reasons that some products could not viably use LinksetData for avoiding such issues, even if they are new or currently maintained. And all of that isn't even touching the fact that this proposal would require breaking the permissions system in SL as it is already documented and implemented.
As someone that has been writing LSL scripts for the better part of my Second Life (over 16.5 years and 16 of that writing scripts), there is no way that I can see this as a viable proposal because, if it were to be implemented, it would cause major repercussions to all of Second Life, many of its residents, and Linden Lab.
Oggy Fink
This is a very bad idea in my opinion. Some scripts ship with preloaded data (initialization) that can not be reproduced, or special requirements (for example one script requires that another is set up in a certain way before booting). This may also be part of a protection system and then resetting will just break the product.
Giving the end user the option to restart one or all scripts without first understanding the possible problems is bound to cause more problems.
If you have a problem with a specific broken script, the product or script should be fixed by the creator (or refunded) in the first place.
princessglados Resident
Oggy Fink Problem is.. Creators dont need to fix it, nor Refund it hence why this would be a good thing to be able to have, including if its not redeliverable items as well
Oggy Fink
princessglados Resident You are wrong, when they ship, scripts may come loaded with information, or have had some kind of initialization/activation that will just be lost when resetting. This may be on purpose by the creator as some kind of protection, or for whatever reason. Allowing an end-user to reset a script is bound to create even more confusion about this.
You are not solving a commercial problem with a technical non-solution the users can not really understand. I know some creators do not fix or refund their product if required, but what you are proposing is not fixing either. It's causing more problems, and breaking existing stuff.
The bottom line is that resetting a script is a kind of modification, and inside a non-modifiable object this is just breaking the permission system.
princessglados Resident
Oggy Fink so you would rather have something break and not be fixed and become a paperweight in your inventory? Also having a reset button on scripts is beneficial in multiple ways, and i honestly dont see an issue of it being something that would break the permission system when all it would allow is to reset the script back to when it was made. We arent editing anything. It even states it in the thing above, all im stating is this this would be a good idea for people because then they wouldnt need to trash something they like because it no longer works because of scripts breaking, this is just all my opinion because i honestly like this idea, hell im even an creator, i make weapons on SL for Vice and another Damage system some of my stuff is no mod as well yet im supporting this. (Edit: Also scripts wont lose there data its not like we are wiping the scripts becuase thats how you make it sound like resets only wipe cache memory so it works off of whats already in the script like a reboot like you restarting your computer)
Oggy Fink
princessglados Resident What I'm saying is that this may _appear_ to work for very simple scripts. But elaborate scripts often do not ship in a "vanilla" state.
Initialization process may be complex, loading and compiling configuration notecards, interacting with other scripts or even other objects. Resetting will cause global variables, state information etc to just be lost. I know what I'm talking about, been writing scripts for over 12 years. This is merely a verifiable fact.
You cannot just expect that unplugging and plugging in again the script will just work. This is a naive approach (no offense meant!) and the end user will not be able to understand why.
Anna Salyx
princessglados Resident here is another thing to consider. I have an API script that allows objects I create to interact with a 3rd party product. The object I make must be no-mod, and every-time I make a change to the inventory the API script re-validates itself that I'm the owner of the object, the creator of the object and I have a valid license to use the API (server check). When I sell/transfer a copy to someone that API script is in a validated state. So, if my customers then have the ability to reset the scripts, A) yes it might fix something that broke in a script that I wrote... maybe, but B) it'll break the API since it won't be able verify it's a valid copy. This means that the object will still be functionally broken. Now, I put in fail-safes to check that my script is running and try to recover in a way that doesn't break the API for my customer, but if my customer can just willy-nilly reset scripts that object
will
break. Granted this is admittedly an edge case, but there a fair number of scripts across the grid that do similar validation that will be broken if people can just on a whim reset the scripts in an object. And there is simply a large number of scripts that will just break (regardless if they validate or not) if the are allowed to be arbitrarily reset. The idea behind this is ostensibly good, but I'm not sure if there is a way to implement it that wouldn't cause alot more headaches down the line.Gwyneth Llewelyn
Anna Salyx I'd argue that what you describe is by no means an "edge case" but rather one of the main reasons for the existence of such non-mod scripts!
Kristy Aurelia
While generally, I think most items should be mod to begin with, and script resetting should be available, there are cases where no-mod and no script resetting is a required limitation - for example shop gift cards, timed item demos etc.
And as others mentioned, new scripts can avoid issues like that by using LinkeSetData, but there are way too many old scripts out there that won't be updated, but are still in use.
Zi Ree
Veto. Some itmes are made to never be reset because they save some internal state that must not be changed. I am aware of the suggestion to store things in LSData, but for all the items that are already out there that's not an option.
princessglados Resident
Zi Ree That is understandable but sometimes resets are required if say a sim causes it to break and if detaching or rerezzing the object doesnt work then your kinda out of options, sometimes creators wont help fix stuff which is sad.. ive ran into many creators that were like that.
Zi Ree
princessglados Resident So you think time-limited demos and gift cards and other things should not keep the ability to retain their data just because some creators are stupid?
princessglados Resident
Zi Ree what do you mean? Giftcards and Time-Limited Demos are usually connected to a server? a reset button wouldnt effect them at all unless the creator was stupid enough or doesnt know what they are doing. The point in this is for stuff that break from script errors and being able to fix it. There are soo many people out there with broken stuff in there inventorys, and many people agree that we should have this. This is all my opinion to this Suggestion, because i believe this is a good idea.
Zi Ree
princessglados Resident These are only two examples, and no, not all of them are. I could come up with 200 other examples. Bottom line: making scripts resettable in no-mod objects should not be considered at all. It's a bad idea for many already existing products (none of them are mine, so I am not arguing for myself here).
Yasmin Dionysus
absolutely no way. For creators that have limits set by scripts and restarting the script would allow for easier ways to circumvent that. Scripts save things, run timers, etc. This would just cause issues, especially for all the items already made intentionally for you not to reset them. Can i down vote this?
Vincent Nacon
Yasmin Dionysus You can save every change your script makes to the Linkset Data and do start up check process to restore the memory after a restart. It's not the end of the world.
princessglados Resident
Yasmin Dionysus I agree with Vincent the main issue is if no copy items break as well aka the script stops becuase of some idiot overtaxing the scripts in a sim or parcel or if say an owner shuts off scripts there is no way to fix anything and all that object becomes a paperweight, say if you bought something that was 5000 L (thats like 25 USD) the person doesnt set it up for redelivery and then you enter a sim someone bricks the scripts due to sim lag and it messes up, you cant reset the system if its No Modify meaning that whole thing is broken and you just wasted 5k.
Zi Ree
princessglados Resident How often do scripts really break in a way they need a reset? I never had an item just stop working completely that I couldn't simply replace with a fresh copy out of the box. You are trying to make this into a problem that happens all the time, which simply is not true. Bricking scripts "due to sim lag[sic!]" does not happen. And if you can prove it, show me. So far, nobody could.
Extrude Ragu
Even iPhones let you turn them off and on again.
Oggy Fink
Extrude Ragu Do they erase all their memory, including the operating system, in the process ?
Extrude Ragu
Oggy Fink
This argument does not make sense. Script variables are volatile memory.
Yes, your iPhone does infact erase it's volatile memory. No, the OS is not deleted.
The script contents is not deleted when you reset a script either. Only the volatile memory is lost, the same as any other device works.
There is no gauruntee in LSL that volatile memory will survive and there are already many cases where script state is lost and the script is reset. A scripter that relies on volatile memory not being lost is somebody who does not know what they are doing.
Oggy Fink
Extrude Ragu "Many cases" ? apart from a hard sim crash I don't understand what you mean, please elaborate.
I have been writing scripted systems for a long time and script memory persisting across inventory management, owner changes, sim teleporting etc. is an essential part of SL many scripts rely on. I know LSD made things a bit different but you just cannot move any state variable to LSD (imagine complex lists!).
It's impossible to rule out an "accident" with script states of course in such a complex environment, but scripts have been working like that for years
Zi Ree
Oggy Fink I agree, I have never, ever, had a script of mine lose its state, not even during a region crash. This is simply not a common thing. The only thing that might happen is a rollback to an earlier state, but even then, it's consistent and kept its "volatile" memory, jjust from an earlier point in time.
Load More
→