Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Licensing issues and reuse

Very Keynes
LSL is a Virus
Join date: 6 May 2006
Posts: 484
01-08-2008 01:46
I have got to the point where I would like to sell some of my creations and wanted to make sure that I am not infringing anybody rights, as I have used many code snippets from the WiKi, Library and Tips forums.

Some people are quit specific i.e. “do not even think of selling this script” that’s fine I use it as example code but do not copy any of it into a product. On the other hand some people use various common license methods and refer me to pages and pages of legal info, on the web, that I don’t even claim to understand.

In this particular case I have created a device that uses XyzzyText for display.
May I openly sell my device as is or, do I have to open source all of my code because I used other code?
May I protect my scripts, but leave the XyzzyText scripts full perm and hope the user does not break the device?
Or should I protect everything but include a note card saying that XyzzyText was used with permission and a link to the Wiki?

To add to the confusion, I am using code snippets, from several people, that were created under several license types, in the one product. In which case I assume that my code is bound by the most restrictive license of the licenses involved.

In several cases I am only using 1 or 2 functions from an entire program, in this case, despite the final product having a different, but similar function, to the original, is the license covering the script as a whole, or is it covering each separate function and or line of code?

I’m a scripter/builder not a lawyer, and do not want to do anything to upset the wonderful people, here on the forum, that do so much to help others. So short of reading each license type in full and consulting a RL lawyer (hardly worth it for a L$200 product), Is there a sort of abbreviated best practices document I can refer too?

Thanks for any input you have.
Haruki Watanabe
llSLCrash(void);
Join date: 28 Mar 2007
Posts: 434
01-08-2008 02:20
Very interesting question, indeed...

I recently built an item where I use the xyText as well... this item is just an addon to the main-product and has full copy/mod perms...
I do sell the main product and consider the item with the xyText as a free addon (since it's just a goodie and the main product would work without that).

So - am I infringing any copyright-law here?

Would be great, if anyone could shed some light on this issue...

P.S. I'd be more than happy to participate the creators of xyText whenever I sell a product which is using this great script! :)
Kidd Krasner
Registered User
Join date: 1 Jan 2007
Posts: 1,938
01-08-2008 07:02
From: Very Keynes

In this particular case I have created a device that uses XyzzyText for display.
May I openly sell my device as is or, do I have to open source all of my code because I used other code?

According to the wiki, XyzzyText is released under the MIT license. This allows you to sell it as is. You should add a copy of the MIT license, from http://www.opensource.org/licenses/mit-license.php, in any script containing any of the XyzzyText code (including cases where you've modified that code). Do this even if the script is protected so your customers can't read it, since a) it's required; and b) it's possible that someone else may get a source copy in the future, either because you share it or Linden Lab hiccups. Ironically, the wiki page itself is in violation of the MIT license, but that doesn't mean you should be.

From: someone

May I protect my scripts, but leave the XyzzyText scripts full perm and hope the user does not break the device?

You may, but there's no need to.

From: someone

Or should I protect everything but include a note card saying that XyzzyText was used with permission and a link to the Wiki?

This is what I suggest doing, with two additions. First, include a copy of the MIT license, as a courtesy and convenience. Second, be very explicit in saying that the MIT license applies only to the XyzzyText code, and that unless otherwise specified, you own the copyright to all other code and you do not permit any copying other than in the normal use of the object.

From: someone

To add to the confusion, I am using code snippets, from several people, that were created under several license types, in the one product. In which case I assume that my code is bound by the most restrictive license of the licenses involved.

Not necessarily.

The standard GNU license (GPL) says that you can't use it unless all of the code linked with it is released under that license. The question of "linking" for lsl is a whole other can of worms that I won't get into, but suffice it to say that if you use any GPL code, you may need to open source everything.

On the other hand, many other open source licenses, including the MIT license mentioned above, have no such requirements. So it's possible there won't be any restrictions on you.

From: someone

In several cases I am only using 1 or 2 functions from an entire program, in this case, despite the final product having a different, but similar function, to the original, is the license covering the script as a whole, or is it covering each separate function and or line of code?

This is also a can of worms. If you have a thousand lines of your own code in a script that also has a five line GPL function, then yes, you would have to release it all under the GPL - unless you could show that those particular five lines didn't deserve that sort of protection (e.g. if it's a really obvious function that could only be implemented that way, or if the GPL code from which you got it wasn't the original source of those five lines and you could have gotten it or something similar from another source).

So there's no way to give a general answer for the GPL case. If you're talking about really tiny snippets, say a statement here and a statement there, and it's a tiny percentage of your program, then I wouldn't worry about it. But if you're using a complete function, even modified, then I would worry, no matter how small the function is.

But as I said, many other open source licenses don't have this problem.

From: someone

I’m a scripter/builder not a lawyer, and do not want to do anything to upset the wonderful people, here on the forum, that do so much to help others. So short of reading each license type in full and consulting a RL lawyer (hardly worth it for a L$200 product), Is there a sort of abbreviated best practices document I can refer too?

Well, you can't avoid reading each license type in full. That would be like not testing every button on a dialog, or not reading the description of each parameter to a function call. But it's unlikely you'd need a lawyer. The MIT license is pretty simple. The GPL is one of, if not the most complex of the open source licenses, but there are lots of FAQs on it.

I look at it this way: One of the differences between an amateur and a professional is that the latter knows there are lots of side issues that you need to deal with, even if they're outside their main interest.
Very Keynes
LSL is a Virus
Join date: 6 May 2006
Posts: 484
01-08-2008 12:19
Thanks Kid,

I think :(

So you are basically saying it will be more work, to find out if my code is compliant, than it was to write it in the first place. And that even if I give it away, I may still be in violation of licenses unless I take the time to study every type of license out there?

I think I will continue to code for myself, I do it for fun, and so making a few cents here or there is not worth the risk of violating the law. And having a 2000 line legal header block for 50 lines of code, then having to file it as proof, is way beyond my idea of fun.

And. as every possible function has just about been covered by someone in the past, I suppose even listening for a url and setting the stream, is a copyright violation under one or another license.

I find this rather depressing and wonder if I should not have gone ahead and let them spend the money on lawyers to sue me, for the few linden I could earn, rather than me try not to violate them.

I know, “don't shoot the messenger”, I'm not upset with you Kid, in fact your response is far more detailed than I expected, I’m just disillusioned that SL is no longer "Your World Your Imagination" and is becoming a legal mine field where fun is replaced by risk.
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
01-08-2008 13:07
yes, thats always been my issue with these licenses. They basically say, "here have this for free, just don't do anything meaningful with it." This is why when I release code, I do it old school, "do whatever you please with it, just don't blame me." Also known as Public Domain.
_____________________
Haruki Watanabe
llSLCrash(void);
Join date: 28 Mar 2007
Posts: 434
01-08-2008 13:36
First: Thanks Kidd for this detailed explanation...

And @ Very - Welcome to the wonderful world of copyright :) Guess why there are thousands of lawyers making a living off this stuff...

Copyright-law can be depressing, but in SL most of the scripts that are available in forums are more or less free to use as long as you mention the original coder in the header (well, at least the ones I have seen so far). I guess the «community»*works pretty well (as long as there's not really the _big_ money lying within SL).

Personally, I think it's ok that someone wants to protect her/his brainwork. It would be kinda depressing to find out that someone makes _the big money_ with some script that I wrote and handed out. I have my problems, though, when it just comes to bits & pieces of my work. When I post some function and then forbid to use it in commercial work, this seems kinda stupid to me.

As I posted before - whenever I sell something that uses xyText, I'd be more than happy to share my income with the creator of this script. The big discussion would be then: what amount of percentage is the xyText compared to my own work... but I'm sure we'd figure that one out over a nice glass of [enter your favourite drink here] :)
Kidd Krasner
Registered User
Join date: 1 Jan 2007
Posts: 1,938
01-08-2008 14:35
From: Very Keynes

So you are basically saying it will be more work, to find out if my code is compliant, than it was to write it in the first place. And that even if I give it away, I may still be in violation of licenses unless I take the time to study every type of license out there?

It shouldn't be, at least not in the long run. Remember that people usually cite the license by name. So once you've learned that GPL means restrictive, MIT means just copy the notice, and perhaps a few more popular licenses, you'll be able to make decisions without much thought.

From: someone

I think I will continue to code for myself, I do it for fun, and so making a few cents here or there is not worth the risk of violating the law. And having a 2000 line legal header block for 50 lines of code, then having to file it as proof, is way beyond my idea of fun.

Oh, you didn't ask about risk.

This risk is small, unless the copyright has been registered - which almost no one does. They'd have to demonstrate financial damage. No one is going to sue you over US$50 in lost revenue. At most they'll ask you to stop.

FSF/GPL is the major exception, because they need their enforcement reputation to help control things.

[qutoe]
And. as every possible function has just about been covered by someone in the past, I suppose even listening for a url and setting the stream, is a copyright violation under one or another license.
[/quote]
No. This is one of those worms in the can. Simple tasks, such as setting a stream or getting a line of input, aren't going to be subject to copyright because they lack the creative element. There's only one practical way to do things, and hence it's not copyrightable.


From: someone

I find this rather depressing and wonder if I should not have gone ahead and let them spend the money on lawyers to sue me, for the few linden I could earn, rather than me try not to violate them.

My gut sense is that it's not nearly that bad for you. If you copied an entire script and then tweaked, it may be worth glancing at the license. But when you're talking about copying a four line function here and a five line function there, I wouldn't worry about it (unless you know it said GPL).
Alicia Sautereau
if (!social) hide;
Join date: 20 Feb 2007
Posts: 3,125
01-08-2008 15:05
that`s what i like so much about these forums

with the amount of free code being made public (forums, wiki&ingame), it`s a great way to get the hang of lsl and the loads of help here :p

must say i have no clue about licenses and using a function here or there or just rewrite it to fit the needs

1 thing i don`t understand tho

with the GPL wich basicly must stay GPL if stated in some code, what is the license stand when the self scripted addon code creates a HUGE security/no security at all?
sure that isn`t the purpose of GPL?

know i don`t have any gpl stuff in my code but a few simple free functions but still caught my attention
_____________________
Kidd Krasner
Registered User
Join date: 1 Jan 2007
Posts: 1,938
01-08-2008 15:24
From: Alicia Sautereau

with the GPL wich basicly must stay GPL if stated in some code, what is the license stand when the self scripted addon code creates a HUGE security/no security at all?
sure that isn`t the purpose of GPL?

I don't understand the question. There's nothing preventing anyone from releasing code with security holes, regardless of the license.
Alicia Sautereau
if (!social) hide;
Join date: 20 Feb 2007
Posts: 3,125
01-08-2008 15:47
From: Kidd Krasner
I don't understand the question. There's nothing preventing anyone from releasing code with security holes, regardless of the license.

ment it as after adding a GPL piece of code to your own code, does it require to be public even when making it public compromises your entire security checks?
_____________________
Very Keynes
LSL is a Virus
Join date: 6 May 2006
Posts: 484
01-08-2008 16:42
Thanks Kidd,

Sorry about my earlier depressed response and thanks again for going to all the effort of a detailed reply. I think, that if I read you correctly, I should avoid anything that is GPL, unless I want to publish my own work as GPL, and give full credit to all others, in both my scripts and supporting documentation. Would a link to the license suffice rather than including a copy of the license?

It would be nice if we could form a SL-LSL license so that anything published could be flagged as, “give away only”, “income split required”, or “use freely”. But as LL is still trying to determine the viability/legality of the L$ and at the same time isolate RL from SL in legal terms, I doubt they will help with a mere issue of content ownership.
Lafiel Takaaki
Registered User
Join date: 2 Oct 2007
Posts: 29
01-09-2008 16:47
From: Alicia Sautereau
ment it as after adding a GPL piece of code to your own code, does it require to be public even when making it public compromises your entire security checks?

You're talking about security by obscurity. Security by obscurity is no real security either.

A system or code should never be "secure", because it's closed source. Take OpenSSL as example. It's open source, but still secure. Or passwords stored in a database as MD5 hashes.
MD5 is pretty well documented and it's implementation/algorytm is known to everyone, who is intersted in it. And this doesn't make it less secure.

Only thing you need to keep secure, is if you have some secret password/passphrase which is used to encode/decrypt something. And there would be some ways to get around this. For example generating a random key on handshake. Or move the encrypted function to a seperate script file and communicate with linked messages (send unencrypted text to the other script and get receive the encrypted one back).

If there is no other way (i.e. if the password/passphrase used for encryption can't be stored anywhere or choosen randomly), you could still try to write your code without using code of others ;)
Qie Niangao
Coin-operated
Join date: 24 May 2006
Posts: 7,138
01-09-2008 19:12
Just to add to the confusion: LGPL is quite different from GPL, so if the originator cared enough to license the work under LGPL, it's possible to comply without having to opensource everything. GPL is "viral" as described, and (depending on how we interpret "linking";) may simply prevent the use of GPL'd code altogether, since it may conflict with other (especially commercial) licenses that forbid disclosure of source.

The point being, for somebody thinking of releasing their code for somebody else to actually be able to use, GPL is almost certainly not what you want. (It's very effective at making others' lives difficult, though, which I think was rather its intent.)

(/me dons his Stallman-ray-deflecting tinfoil hat.)