Jump to content

a better anti copy/transfer script ?


Pedlar Decosta
 Share

You are about to reply to a thread that has been inactive for 1807 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hi, I have my own code that makes a script inoperative and/or die when transferred with the incorrect  (too many) permissions and I have seen the anti trans script Roolig did. But I keep thinking there must be a better way for a creator to sell scripts as copy/trans (so the buyers can build and sell creations with the scripts fitted). The difficulty as I see it is being able to hardwire the new owners key, so that if the owner changes again with the wrong permissions, the script will die. I have been thinking that the answer might be using an updater script. Say that the new owner key is somehow added to a script and that script updates the other script. Then if the ownership changes it is easy to check perms and kill the scripts if needed. The important factors are that the scripts need to be unuseable until the new owner is updated, and the process can't be voluntary (because otherwise people will work around it).  Has anyone else given this subject any thought ? The other way it would work is if the scripts could store the 2nd owners key (the buyers key) and be able to tell it is the 2nd transfer. But as far as I know, there is no way to get a script to remember the previous owner. If this problem could be solved, it would make it easier for copy/trans scripts to be sold on marketplace confident that people won't just use work-arounds to distribute the scripts willy nilly. I'm currently playing with the update scripts, but I thought it couldn't hurt to ask the experts here what they thought ?

Link to comment
Share on other sites

how so bigmoe ? You can already make scripts die for whatever reason you wish on the first new owner. So it  isn't any different except a way to be sure the new owner sets the right permissions. The first owner would still have the working scripts.

 

Edited by Pedlar Decosta
Link to comment
Share on other sites

A user license is a form of DRM. Albeit just a voluntary one. However if someone ignores or forgets to change the scripts and the new owner doesn't have the user license (because there is no need to give it to them), they might just hand it out to everyone, completely unaware of the license requirements.

Link to comment
Share on other sites

6 hours ago, Pedlar Decosta said:

A user license is a form of DRM. Albeit just a voluntary one. However if someone ignores or forgets to change the scripts and the new owner doesn't have the user license (because there is no need to give it to them), they might just hand it out to everyone, completely unaware of the license requirements.

DRM is problematic, the only way to check for ownership is with an external server, and that and leads to situations like we will one day see with "The Mesh Project". When those servers go dead the DRM fails and the product is broken. This makes people angry.

If you want to stop sharing-by-mistake, then use the system that AvSitter and others use. If someone makes a mistake and puts a copy/transfer script into an object it errors immediately.

It won't stop casual sharing, but it does mean you can then fall back on DMCA to deal with other cases, you've made sure nobody gets them by mistake, so it's only conscious sharing then.

Link to comment
Share on other sites

I'm trying to share copy/trans scripts with creators. Making it 'error' as you say is easy. However that would mean anyone that gets the scripts will have the limited permissions and will not be able make use of it, because either they can't copy it, or can't transfer it. So I'm essentially trying to give more creators, who can't write code, a chance to be able to sell scripted items that they created with scripts that suit their purpose and value add their products.  I can understand why people may be wary. However the idea allows more people to take advantage of scripts they didn't write to enhance their creations. Not less. Which in turn means they can produce better products and offer their friends and customers more. Considering the fiasco that abounds now with user licenses, that render many products unusable for commercial purposes, even though they are sold as such, I thought this could actually deliver what creators needed for their builds, without them having written the scripts that bring their creations to life. I do appreciate it could be misused, but in reality, the horse has bolted and many gullible people are being shafted already. Regardless, I have my own ideas on how to achieve it, and I know my goal is completely moral, ethical and being done to help people, not rip them off. And I brought the idea here, in case anyone else was thinking about how to help creators with no scripting skill, but plenty of amazing works. Considering so many creators have been so severely limited and run out of business because of all the mesh being imported en masse (which they cannot compete with in LI or in detail), I think Second Life is already becoming less and less a world conceived and created by it's own users and more of a world where 3D professionals are making a killing. Which is a real shame. But anyway, thanks for the replies everyone. I appreciate the feed back.

Link to comment
Share on other sites

19 minutes ago, Pedlar Decosta said:

... I have my own ideas on how to achieve it...

Thing is, though, there's not nearly enough detail to even hazard a guess as to whether you're on a dead-end path.

I think Shudo's suggestion to study AVsitter's approach (see llGetInventoryPermMask) is very good advice, keeping in mind that you're trying to restrict permissions while AVsitter is trying to ensure they're permissive enough.

Relevant to that, you may want to distribute the scripts in an object that is non-transferable from account inventory. (You might find the slam bit useful here, but you may not need it, depending what you're actually proposing.)

Whatever you come up with, remember that no CHANGED_OWNER event -- nor any other event -- can occur except when the script-containing object is rezzed on script-enabled land.

The reactions here are a good reminder that the history of this topic is strewn with very visible, much reviled failures and cumbersome, brittle kludgeware. Personally, I think you'll uncover nasty problems with any approach you can devise, and that instead it's only really practical to provide an advisory function, propitiously-timed warnings that permissions need adjusting according to the script license.

  • Like 2
Link to comment
Share on other sites

Yes, thanks Qie. I was going to take a look at AVSitter, but I have a feeling they will be similar to the scripting I already use and have been using for several years.I'm just trying to make the scripts as close to the 'out of the box' condition as is possible as well as ensuring only one user gets to copy AND transfer the scripts.

Link to comment
Share on other sites

I think, as soon as anyone starts trying to build technical means - beyond what is already built into the perms system - to restrict what is done with a script or object we start getting into areas where a great deal of effort is expended for little gain beyond inconveniencing legitimate and license-compliant users.

One of the principles of digital security - or indeed about ANY kind of security - that I pounded home at every opportunity when working in the field was that if you want compliance out of your users, you make it the easiest way to go. Even the most willing user will naturally seek to work around inconvenience, and half the time they'll swear on a stack of scripture that they are complying with your policy and believe it too, while they are blowing huge holes in your carefully designed security procedures in the name of "convenience." The classic example of this is, of course, making password rules so complex that it's almost impossible for a user to come up with compliant but memorable passwords. As soon as you do that, I guarantee you'll find them on a post-it somewhere around 50% of desks if you look hard enough. The same principle applies in SL, albeit in different ways. Onerous and convoluted technical restrictions encourage violations even by people with no nefarious intent. It's even more of a hiding to nothing when you realize that most of the "bright ideas" people come up with to "protect" stuff wouldn't matter at all to somebody who was intending to circumvent them and knew even a little about what they were doing.

This is very different from things like the AVSitter code, which doesn't operate to restrict but to validate that it's got the rights to work properly - that's a totally different question and one much more amenable to scripted validation.

But if you have licensing terms and you're trying to do silly things to prevent folks violating them then why not start from the assumption that your customers are mostly honest? If you come across a situation where the license is being violated you've recourse to make 'em stop and LL will help you with that, they have to! That was the approach I took a few years back when I was actively selling scripts and builds and I never got burned by it while making enough sales to afford the rent on a half sim for my main store and workshop! There was one - just one - occasion where somebody broke my rules, which I found out about when one of their customers tried to come to me for support... I explained the situation, apologized that one of my customers had sold them something dodgy, gifted them a legit copy then both provided the requested support and DMCA-ed the violating products off the grid. The person I'd helped insisted on paying me for the legit copy, even though I hadn't asked.

You catch a lot more flies with honey than with vinegar.

I'm not saying you're wrong to want to protect your stuff and it's entirely up to you which route you go down but it might be of value to weigh up the amount of effort you have to put in to "make something secure" without "breaking it" against the actual value of the return you get from that effort.

  • Like 6
Link to comment
Share on other sites

On 3/26/2019 at 8:34 AM, Pedlar Decosta said:

 

Everything belongs to LL unless you legaly register it as copywrite and that would not apply to LSL code because they own it. As for scripts a scecond modable script can be used for clients and the main uneditable, or a notecard data record which can be edited.

Edited by steph Arnott
  • Like 1
  • Sad 1
Link to comment
Share on other sites

42 minutes ago, steph Arnott said:

Everything belongs to LL unless you legaly register it as copywrite and that would not apply to LSL code because they own it.

incorrect. They have a license to it, on the same terms as any other content you create, but the copyright on scripts you create is yours. LL operate under US law and registration of a copyright in the USA is not required for it to belong to the creator. Your original script code is "(c) you" from the moment you type it unless you were hired to write it. If your final script is derived from another that you have rights to use in that way, so are your additions and you can set whatever licensing terms you see fit apart from the license you grant to LL since that's embedded in the user agreement and TOS and any restrictions imposed on you by the license(s) you have for source material you didn't write - like the GPL's requirement to pass on source code, for example, which would prohibit you sharing any script derived from GPL licensed stuff no-mod unless you also included the means to access the source from elsewhere.

 

LL "own" the LSL specification and the script engine, not your scripts. They don't own your code any more than Kernighan and Ritchie own everything ever written in c.

  • Like 3
Link to comment
Share on other sites

1 minute ago, Da5id Weatherwax said:

incorrect. They have a license to it, on the same terms as any other content you create, but the copyright on scripts you create is yours. LL operate under US law and registration of a copyright in the USA is not required for it to belong to the creator. Your original script code is "(c) you" from the moment you type it unless you were hired to write it. If your final script is derived from another that you have rights to use in that way, so are your additions and you can set whatever licensing terms you see fit apart from the license you grant to LL since that's embedded in the user agreement and TOS and any restrictions imposed on you by the license(s) you have for source material you didn't write - like the GPL's requirement to pass on source code, for example, which would prohibit you sharing any script derived from GPL licensed stuff no-mod unless you also included the means to access the source from elsewhere.

 

LL "own" the LSL specification and the script engine, not your scripts. They don't own your code any more than Kernighan and Ritchie own everything ever written in c.

' but the copyright on scripts you create is yours. ' does not. The LSL format solely belongs to Linden Lab. 'LL operate under US law and registration of a copyright in the USA is not required for it to belong to the creator.' US law does not apply to an international net platform. Thank you.

  • Sad 1
Link to comment
Share on other sites

25 minutes ago, steph Arnott said:

' but the copyright on scripts you create is yours. ' does not. The LSL format solely belongs to Linden Lab. 'LL operate under US law and registration of a copyright in the USA is not required for it to belong to the creator.' US law does not apply to an international net platform. Thank you.

LOL - so wrong it's almost not worth answering - your agreement with LL specifies the legal venue - and guess where that is? Since it's part of your contract with them that gives them a license to your created content  it governs any dispute with them over copyrights.Like if you objected to the license you granted them to your code.

The source code format is plain text. NOBODY owns that. What happens in the engine with it, that's LL's stuff operating on your stuff. I believe I Said they own the spec and the engine.. that absolutely does not give them ownership of everything running on it. Unless microsoft owns your viewer running on windows? I'm sure that Billy's Empire would like to automatically own everything running on windows but they don't.

 

Anyway, it's off-topic for this thread. Contact me if you wish to continue the discussion but let's not hijack.

Edited by Da5id Weatherwax
  • Like 2
Link to comment
Share on other sites

1 minute ago, Da5id Weatherwax said:

 

Then in short do not use LL library functions etc as they are LL copywrite. Create your own functions etc then, and even then you still have no copywrite because you are under OS legal rules. Invent your own code language, then again you would be the only one and no one else will be compatible.

  • Sad 1
Link to comment
Share on other sites

  • 1 month later...

It is all a very interesting subject and I thank everyone for their input. I respect the views offered and have decided to tackle the problem differently. It is a work in progress but involves a script with all the bells and whistles that is non transferable but copyable and another script that is geared for just the end user which is copy and transferable. The situation only affects the commercial version which i9s designed for creators who might want to script the products, who have no interest or time to script the items themselves. I do realize almost everyone is honest to a certain degree. But it doesn't take many abusers for your items to end up in free script packages made by people who don't know where the scripts come from, rendering the scripts worthless or of little value.

I see that Steph suggested this or something similar, which I only just realized. So thanks Steph, but I had the same idea :)

Edited by Pedlar Decosta
Link to comment
Share on other sites

On 5/4/2019 at 5:52 AM, Gabriele Graves said:

@steph Arnott It is truly sad and disheartening to see you are still peddling this misinformation about copyright and LSL.  I can only assume at this point that you intend to mislead others.

I've given up asking for help or ideas in this area because of said person.  pretty soon with how things have been I might stop using the forum at all.  

Link to comment
Share on other sites

41 minutes ago, bigmoe Whitfield said:

I've given up asking for help or ideas in this area because of said person.  pretty soon with how things have been I might stop using the forum at all.  

Seriously, just mute. And sneak a peek when you need a laugh.

Link to comment
Share on other sites

It's been 16 years.

You know what we don't see all over the place? A standardized  reliable DRM for sellers of script. It's pretty fair at this point to describe the problem as a cliff, at the bottom of which is a carpet of dead lemmings scripters.

No brand in SL wants to end up with their entire product line dependent on a 3rd party paying server / LL bills. Sure we have Caspertech .. but do you see Casper taking advise from Steph on the forums? Do you think we would use his stuff in any meaningful way if we did.

There are a lot of skilled scripters floating about who will work for L$ and just as many who are perfectly happy making everything open source.

SL only has so many scriped problems with a mass audience and it's fair to say they have all been solved one way or the other by now. 

  • Like 1
Link to comment
Share on other sites

Honestly instead of trying to create scripts, especially when it comes to anti-copy and trans, they need to create an official viewer program. Where third party viewer creators, such as firestorm, black dragon, etc have to sign up to get the code. We would eliminate copy botters totally. Like what I mean, is make the code closed source, and you have to apply to get a copy of it. The only reason we have this problem is due to the source code being open sourced.

Link to comment
Share on other sites

5 hours ago, bigmoe Whitfield said:

I've given up asking for help or ideas in this area because of said person.  pretty soon with how things have been I might stop using the forum at all.  

 

4 hours ago, KT Kingsley said:

Seriously, just mute. And sneak a peek when you need a laugh.

Exactly what KT said. I have had that dude blocked for the longest time and only "peek" when I am bored and need a laugh

Link to comment
Share on other sites

48 minutes ago, halebore Aeon said:

Honestly instead of trying to create scripts, especially when it comes to anti-copy and trans, they need to create an official viewer program. Where third party viewer creators, such as firestorm, black dragon, etc have to sign up to get the code. We would eliminate copy botters totally. Like what I mean, is make the code closed source, and you have to apply to get a copy of it. The only reason we have this problem is due to the source code being open sourced.

It's literally impossible to copybot scripts. They are the one thing any viewer can't touch.

  • Like 2
Link to comment
Share on other sites

1 hour ago, Wulfie Reanimator said:

 

And to further on from what Wulfie said...you can't really prevent users from duplicating items either. Half of the software I used to use a long time ago to rip game models could be used in theory to do the same from SL without ever needing access to any source code or modded viewer. I don't condone this by the way, I haven't ripped a game model in a long long time but the point I'm making is that where there is a will there is a way. Plus if LL changed to 100% closed viewer development and everyone was forced to use the standard SL viewer I think Ebbe would be the first person in 200 years to be hunted down on the grounds of Heracy and possibly Witchcraft 😂😁

Link to comment
Share on other sites

1 hour ago, ItHadToComeToThis said:

And to further on from what Wulfie said...you can't really prevent users from duplicating items either. Half of the software I used to use a long time ago to rip game models could be used in theory to do the same from SL without ever needing access to any source code or modded viewer. I don't condone this by the way, I haven't ripped a game model in a long long time but the point I'm making is that where there is a will there is a way. Plus if LL changed to 100% closed viewer development and everyone was forced to use the standard SL viewer I think Ebbe would be the first person in 200 years to be hunted down on the grounds of Heracy and possibly Witchcraft 😂😁

I am not saying that we would be forced to use the standard viewer, I am saying have some sort of application system. Where the creators of the other viewers, would have to apply to get the ability to use the source code. Like some sort of program, where say the Firestorm creator applied, and like those developers kits, you would get approved or denied. In essence, you would still have a choice, but it would limit these illicit viewers to actually exist. Sure they could reverse engineer and create a copybot viewer, or they could do what the other person said. But it would mean that no Tom, Dick and Harry could just create a viewer with mal-intent. I also know you can't copy scripts, I am just saying have safeguards in place, before.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1807 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...