digitalmars.D - Legal/Permission Question
- Dan (5/5) Apr 03 2007 Hey Walter/anyone?
- Gregor Richards (6/15) Apr 03 2007 This is one of many distinctions between copyright and patent.
- Walter Bright (3/24) Apr 03 2007 I believe this is incorrect. Copyrights also cover 'derivative works'.
- Gregor Richards (8/33) Apr 03 2007 "In copyright law, a derivative work is an artistic creation that
- Walter Bright (4/7) Apr 03 2007 Using the original implementation as a guide to making a clone is making...
- Derek Parnell (10/18) Apr 03 2007 Even if one uses it is a guide to how *not* to do things? That is, the
- Walter Bright (5/8) Apr 03 2007 My experience has been that you're ok if you look at something, and then...
- Walter Bright (6/14) Apr 03 2007 If you're going to clone a function, you can't use someone else's
- Charlie (2/25) Apr 03 2007
- Walter Bright (5/6) Apr 03 2007 For the regular license, yes, but that doesn't allow redistribution of
- Derek Parnell (16/34) Apr 03 2007 I have occasionally wondered about the situation in which one looks at c...
- Brad Anderson (3/33) Apr 03 2007 Ain't lawyerin' grand?
- Walter Bright (4/14) Apr 03 2007 What will happen if things go far enough is an independent expert will
- BCS (3/21) Apr 03 2007 And when that happens, the independent expert makes money, the lawyer ma...
- Walter Bright (8/14) Apr 03 2007 In cases I know about, a settlement offer usually appears before things
- Sean Kelly (13/17) Apr 03 2007 The whole situation is kind of a mess. Say a programmer creates a
- Walter Bright (4/21) Apr 03 2007 That's a serious issue, and I've been faced with it. I decided the easy
- Dan (5/5) Apr 03 2007 In that case, I won't look at Walter's code when I write the functions. ...
- Walter Bright (3/11) Apr 03 2007 Why not just use GPL?
- David B. Held (20/27) Apr 04 2007 Generally, the best way to implement something that someone else has
- Dan (7/30) Apr 04 2007 Walter, if I may ask, examining Walnut 1.9 from:
- Frits van Bommel (3/4) Apr 04 2007 That should probably be
- Dan (15/20) Apr 04 2007 Not wanting to offend, but hold on a second here. In accordance with th...
- Dan (2/2) Apr 04 2007 Also of interest is Linus Torvald's explanation of his writing of some c...
- Walter Bright (6/9) Apr 04 2007 Linus is right. It's stupid to try to lay claim to individual numbers,
- Walter Bright (3/3) Apr 04 2007 BTW, the fact that you asked in this forum speaks highly of you, and
- Brad Roberts (34/73) Apr 04 2007 This message is in MIME format. The first part should be readable tex...
- Brad Roberts (15/54) Apr 04 2007 This message is in MIME format. The first part should be readable tex...
- Dave (3/38) Apr 04 2007 Hmmm - I'd have to question that last line. I mean geesh... Besides, wha...
- Sean Kelly (9/24) Apr 04 2007 The problem seems to be a fear of litigation rather than whether such a
- Walter Bright (26/36) Apr 04 2007 LOL. I'm not sitting here with a pack of lawyers itching to sic them on
- Walter Bright (4/7) Apr 04 2007 There are no patents on D technology that I am aware of, and I don't
- Don Clugston (7/15) Apr 05 2007 Did you know, that the only reason why software technology is patentable...
- Walter Bright (6/21) Apr 05 2007 I didn't know that.
- Dan (6/9) Apr 04 2007 Indeed, I've never suspected so. I tend to go on what people say is oka...
- Walter Bright (14/35) Apr 04 2007 No, I don't think so. Copyright does not apply to algorithms, nor does
- Davidl (1/1) Apr 04 2007 how can gif format patent prevent the others from writing a real gif fil...
- Tyler Knott (9/13) Apr 04 2007 The GIF format patent (actually a patent on the LZW compression algorith...
- David B. Held (6/11) Apr 05 2007 If I had to guess, I would say that English is not his first language.
- Frits van Bommel (15/19) Apr 05 2007 Actually, he doesn't use a non-standard font. His header doesn't specify...
- Davidl (13/32) Apr 05 2007 :o
- Bruno Medeiros (19/19) Apr 07 2007 Hum, BTW, how about this scenario, which I think is even more complicate...
- Jeff Nowakowski (8/11) Apr 07 2007 It is up to the courts and copyright holders to decide the issue. There...
- Bruno Medeiros (6/21) Apr 09 2007 Hum, interesting, let's see how that turns out.
Hey Walter/anyone? Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD? What requirements are there to do such a thing?
Apr 03 2007
Dan wrote:Hey Walter/anyone? Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD? What requirements are there to do such a thing?This is one of many distinctions between copyright and patent. Copyright covers the RIGHT to COPY. NOTHING ELSE. Unless you signed a license or contract specifying that you can't use it as a reference, you can. - Gregor Richards
Apr 03 2007
Gregor Richards wrote:Dan wrote:I believe this is incorrect. Copyrights also cover 'derivative works'. See http://en.wikipedia.org/wiki/Derivative_workHey Walter/anyone? Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD? What requirements are there to do such a thing?This is one of many distinctions between copyright and patent. Copyright covers the RIGHT to COPY. NOTHING ELSE. Unless you signed a license or contract specifying that you can't use it as a reference, you can.
Apr 03 2007
Walter Bright wrote:Gregor Richards wrote:"In copyright law, a derivative work is an artistic creation that includes major, basic copyrighted aspects of an original, previously created first work." Including major copyrighted aspects of an original, previously created work is by definition copying. My very simple definition, while not very nuanced, is accurate :) - Gregor RichardsDan wrote:I believe this is incorrect. Copyrights also cover 'derivative works'. See http://en.wikipedia.org/wiki/Derivative_workHey Walter/anyone? Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD? What requirements are there to do such a thing?This is one of many distinctions between copyright and patent. Copyright covers the RIGHT to COPY. NOTHING ELSE. Unless you signed a license or contract specifying that you can't use it as a reference, you can.
Apr 03 2007
Gregor Richards wrote:Including major copyrighted aspects of an original, previously created work is by definition copying. My very simple definition, while not very nuanced, is accurate :)Using the original implementation as a guide to making a clone is making a derivative work. I'm not a lawyer, but I have been grilled and basted by well-paid lawyers doing their due diligence about these things.
Apr 03 2007
On Tue, 03 Apr 2007 18:42:58 -0700, Walter Bright wrote:Gregor Richards wrote:Even if one uses it is a guide to how *not* to do things? That is, the clone is created in a form that is deliberately and explicitly not like the original - and this can be done because they know the original. -- Derek (skype: derek.j.parnell) Melbourne, Australia "Justice for David Hicks!" 4/04/2007 11:46:07 AMIncluding major copyrighted aspects of an original, previously created work is by definition copying. My very simple definition, while not very nuanced, is accurate :)Using the original implementation as a guide to making a clone is making a derivative work. I'm not a lawyer, but I have been grilled and basted by well-paid lawyers doing their due diligence about these things.
Apr 03 2007
Derek Parnell wrote:Even if one uses it is a guide to how *not* to do things? That is, the clone is created in a form that is deliberately and explicitly not like the original - and this can be done because they know the original.My experience has been that you're ok if you look at something, and then implement something in an utterly different way. But you're still better off not looking at it at all. Look at all the effort IBM had to put in to defend themselves against SCO because IBM had peeked at the code.
Apr 03 2007
Dan wrote:Hey Walter/anyone? Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD?No. Doing so would make it a 'derivative work'.What requirements are there to do such a thing?If you're going to clone a function, you can't use someone else's copyrighted code as a guide. Even just looking at it could cause 'taint', which is why I never look at or work on gcc. You need to write your own from scratch - or buy a license <g>.
Apr 03 2007
Would buying a license allow him to copy the code Walter Bright wrote:Dan wrote:Hey Walter/anyone? Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD?No. Doing so would make it a 'derivative work'.What requirements are there to do such a thing?If you're going to clone a function, you can't use someone else's copyrighted code as a guide. Even just looking at it could cause 'taint', which is why I never look at or work on gcc. You need to write your own from scratch - or buy a license <g>.
Apr 03 2007
Charlie wrote:Would buying a license allow him to copy the codeFor the regular license, yes, but that doesn't allow redistribution of source code. He'd have to email me and we could work something out. Note that if his code is GPL'd, he can do what he wants with it consistent with the GPL, which includes copying and redistributing source.
Apr 03 2007
On Tue, 03 Apr 2007 14:56:04 -0700, Walter Bright wrote:Dan wrote:I have occasionally wondered about the situation in which one looks at code "X" and thinks 'This is horrible. I can do better' and then goes on to write "Y", which looks nothing like "X" but was developed with the knowledge of "X". Now, if "X" and "Y" can be used interchangeably to solve the same problem, is "Y" deemed to have been derived from "X"? In other words, is the motive of the author a factor? In the case above, "X" and "Y" are totally dissimilar but "Y" was written /because/ the author knew the details of "X". If the author did not know "X" but still wrote "Y", could it be a derived work? -- Derek (skype: derek.j.parnell) Melbourne, Australia "Justice for David Hicks!" 4/04/2007 10:09:03 AMHey Walter/anyone? Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD?No. Doing so would make it a 'derivative work'.What requirements are there to do such a thing?If you're going to clone a function, you can't use someone else's copyrighted code as a guide. Even just looking at it could cause 'taint', which is why I never look at or work on gcc. You need to write your own from scratch - or buy a license <g>.
Apr 03 2007
Derek Parnell wrote:On Tue, 03 Apr 2007 14:56:04 -0700, Walter Bright wrote:Ain't lawyerin' grand? BADan wrote:I have occasionally wondered about the situation in which one looks at code "X" and thinks 'This is horrible. I can do better' and then goes on to write "Y", which looks nothing like "X" but was developed with the knowledge of "X". Now, if "X" and "Y" can be used interchangeably to solve the same problem, is "Y" deemed to have been derived from "X"? In other words, is the motive of the author a factor? In the case above, "X" and "Y" are totally dissimilar but "Y" was written /because/ the author knew the details of "X". If the author did not know "X" but still wrote "Y", could it be a derived work?Hey Walter/anyone? Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD?No. Doing so would make it a 'derivative work'.What requirements are there to do such a thing?If you're going to clone a function, you can't use someone else's copyrighted code as a guide. Even just looking at it could cause 'taint', which is why I never look at or work on gcc. You need to write your own from scratch - or buy a license <g>.
Apr 03 2007
Derek Parnell wrote:I have occasionally wondered about the situation in which one looks at code "X" and thinks 'This is horrible. I can do better' and then goes on to write "Y", which looks nothing like "X" but was developed with the knowledge of "X". Now, if "X" and "Y" can be used interchangeably to solve the same problem, is "Y" deemed to have been derived from "X"? In other words, is the motive of the author a factor? In the case above, "X" and "Y" are totally dissimilar but "Y" was written /because/ the author knew the details of "X". If the author did not know "X" but still wrote "Y", could it be a derived work?What will happen if things go far enough is an independent expert will be hired by the lawyers who will comb through the code evaluating how similar or dissimilar it is.
Apr 03 2007
Reply to Walter,Derek Parnell wrote:And when that happens, the independent expert makes money, the lawyer makes money and everybody else pays them.I have occasionally wondered about the situation in which one looks at code "X" and thinks 'This is horrible. I can do better' and then goes on to write "Y", which looks nothing like "X" but was developed with the knowledge of "X". Now, if "X" and "Y" can be used interchangeably to solve the same problem, is "Y" deemed to have been derived from "X"? In other words, is the motive of the author a factor? In the case above, "X" and "Y" are totally dissimilar but "Y" was written /because/ the author knew the details of "X". If the author did not know "X" but still wrote "Y", could it be a derived work?What will happen if things go far enough is an independent expert will be hired by the lawyers who will comb through the code evaluating how similar or dissimilar it is.
Apr 03 2007
BCS wrote:Reply to Walter,In cases I know about, a settlement offer usually appears before things go too far, because it gets pretty obvious if there was any hanky-panky. I got a settlement once after running "strings" over the other company's binaries, and 90% of their string literals matched word-for-word the ones in mine, despite their claim they wrote it "from scratch". Oops. I'd have liked to have heard the conversation between the opposing lawyer and the engineers he represented after that one.What will happen if things go far enough is an independent expert will be hired by the lawyers who will comb through the code evaluating how similar or dissimilar it is.And when that happens, the independent expert makes money, the lawyer makes money and everybody else pays them.
Apr 03 2007
Walter Bright wrote:If you're going to clone a function, you can't use someone else's copyrighted code as a guide. Even just looking at it could cause 'taint', which is why I never look at or work on gcc.The whole situation is kind of a mess. Say a programmer creates a parser for one company and then later is hired by another company for which he also produces a parser. Assuming the first company retains the rights to the parser created there, the programmer has no way to avoid 'taint'. Worse, a person tends to solve a given problem in a consistent fashion, so two applications created from scratch by the same person will naturally have structural similarities. And whether or not a case concerning this could hold up in court, there is enough confusion about copyright law that it can actually come up. Truth be told, I've considered leaving the professional software sector altogether and do this purely as a hobby simply to avoid such issues. Sean
Apr 03 2007
Sean Kelly wrote:Walter Bright wrote:That's a serious issue, and I've been faced with it. I decided the easy way (but on the expensive side) was to negotiate a license. That way, everyone's happy.If you're going to clone a function, you can't use someone else's copyrighted code as a guide. Even just looking at it could cause 'taint', which is why I never look at or work on gcc.The whole situation is kind of a mess. Say a programmer creates a parser for one company and then later is hired by another company for which he also produces a parser. Assuming the first company retains the rights to the parser created there, the programmer has no way to avoid 'taint'. Worse, a person tends to solve a given problem in a consistent fashion, so two applications created from scratch by the same person will naturally have structural similarities. And whether or not a case concerning this could hold up in court, there is enough confusion about copyright law that it can actually come up. Truth be told, I've considered leaving the professional software sector altogether and do this purely as a hobby simply to avoid such issues.
Apr 03 2007
In that case, I won't look at Walter's code when I write the functions. Although I must admit, I am a maintainer of Walnut 1.x, which is released under a GPL; and derived from Walter's work. I haven't touched any of the *methods* yet, nor significantly looked at them. Additionally, Walnut 2.x is vastly different from DMDScript in implementation - about as different as it can get considering they're both ECMAScript in D. Considering I'm only doing this as a hobby, out of the goodness of my heart, paying the $25,000 or whatnot license and working something out with Walter is well beyond the budget. I'll examine some other ECMAScript licenses, and see if any are more compatible. I tend to find I write more effective code when I can see what's wrong with someone else's. The methods themselves tend to be very predictable from one engine to the next, since their external behavior is predefined, and they all need to follow the same arguments. I was just hoping to cut bug hunting time. Oh well.
Apr 03 2007
Dan wrote:In that case, I won't look at Walter's code when I write the functions. Although I must admit, I am a maintainer of Walnut 1.x, which is released under a GPL; and derived from Walter's work. I haven't touched any of the *methods* yet, nor significantly looked at them. Additionally, Walnut 2.x is vastly different from DMDScript in implementation - about as different as it can get considering they're both ECMAScript in D. Considering I'm only doing this as a hobby, out of the goodness of my heart, paying the $25,000 or whatnot license and working something out with Walter is well beyond the budget.Nobody said $25,000!!!I'll examine some other ECMAScript licenses, and see if any are more compatible. I tend to find I write more effective code when I can see what's wrong with someone else's. The methods themselves tend to be very predictable from one engine to the next, since their external behavior is predefined, and they all need to follow the same arguments. I was just hoping to cut bug hunting time. Oh well.Why not just use GPL?
Apr 03 2007
Walter Bright Wrote:Dan wrote:Well, I had this crazy notion that if it was put under a BSD license, and actually pulled off it being the best engine out there... I just figured it would be awesome to develop the *best* scripting engine and release it so absolutely everyone can use it. IE: make a drop-in for JScript, Mozilla's JavaScript, Qtscript, and bind to ActiveX, DLL's, and DDL's. All that flexibility would require the core engine be written first, and alot of version'ing things off, as well as having dll, com server, and command prompt mains. If it were done well, licensed BSD, and properly promoted, I just think it would make for a revival of what's currently the most used scripting language in the world.In that case, I won't look at Walter's code when I write the functions. Although I must admit, I am a maintainer of Walnut 1.x, which is released under a GPL; and derived from Walter's work. I haven't touched any of the *methods* yet, nor significantly looked at them. Additionally, Walnut 2.x is vastly different from DMDScript in implementation - about as different as it can get considering they're both ECMAScript in D. Considering I'm only doing this as a hobby, out of the goodness of my heart, paying the $25,000 or whatnot license and working something out with Walter is well beyond the budget.Nobody said $25,000!!!I'll examine some other ECMAScript licenses, and see if any are more compatible. I tend to find I write more effective code when I can see what's wrong with someone else's. The methods themselves tend to be very predictable from one engine to the next, since their external behavior is predefined, and they all need to follow the same arguments. I was just hoping to cut bug hunting time. Oh well.Why not just use GPL?
Apr 03 2007
Dan Wrote:Walter Bright Wrote:$998.00 The most I've paid for anything software was $80 for Windows XP when it came out through my aunt. My computer was hand built by a friend for $440. As of next month, that'll be more than my monthly income.Nobody said $25,000!!!
Apr 03 2007
Dan wrote:Considering that my Walnut 2.x engine performs much the same functionality as DMDScript, but that Walnut 2.x is written significantly differently on a structural level... DMDScript is a GPL v1 engine, and Walnut 2.x is a new BSD engine. When I fill in the function stubs for, for example, Number_prototype_toFixed, am I allowed to examine Walter's DMDScript source code, write something similar (but obviously not the same) and still call it new BSD? What requirements are there to do such a thing?Generally, the best way to implement something that someone else has written is to use a "clean room" technique where you isolate yourself from any possible external influences, as Walter and others have pointed out. Even if you are clever enough to change or obfuscate all the identifiers, people are hard at working creating similarity programs that detect likeness without any exact matches. On the one hand, you probably don't have to worry about Walter hunting you down with lawyers, because he knows you can't squeeze blood from a turnip. On the other, if your library becomes as successful as you hope it does and DMDScript gets bought out by a SCO-like player, then you have a world of hurt coming your way. Take a look at http://en.wikipedia.org/wiki/Clean_room_design and keep in mind that while the clean room technique may be a defense against copyright infringement, it is not a defense against patents (not sure if Walter has any patents on any D stuff, or if anyone does, but this seems like the smaller risk for you). The fact that you are already part of the D community may strongly imply that you are already tainted. Good luck. Dave
Apr 04 2007
David B. Held Wrote:Generally, the best way to implement something that someone else has written is to use a "clean room" technique where you isolate yourself from any possible external influences, as Walter and others have pointed out. Even if you are clever enough to change or obfuscate all the identifiers, people are hard at working creating similarity programs that detect likeness without any exact matches. On the one hand, you probably don't have to worry about Walter hunting you down with lawyers, because he knows you can't squeeze blood from a turnip. On the other, if your library becomes as successful as you hope it does and DMDScript gets bought out by a SCO-like player, then you have a world of hurt coming your way. Take a look at http://en.wikipedia.org/wiki/Clean_room_design and keep in mind that while the clean room technique may be a defense against copyright infringement, it is not a defense against patents (not sure if Walter has any patents on any D stuff, or if anyone does, but this seems like the smaller risk for you). The fact that you are already part of the D community may strongly imply that you are already tainted. Good luck. DaveWalter, if I may ask, examining Walnut 1.9 from: http://dsource.org/projects/browse/branches/1.9/source/ Is the code that I've currently written in any way derived from your works? While, as people here have suggested, you probably won't come after me for it, your explicit agreement that it isn't so far would probably hold me not liable for that code. Granted that, I guess I'm not allowed to program ever again, because I've read source code for practically everything - Ogre3D, various games, scripting engines, compilers, OS's, tools, algorithms and data structures.. I'm just a walking liability. I'll miss you all so much. *sniffle* It's a damned good thing this turnip is dry. : )
Apr 04 2007
Dan wrote:http://dsource.org/projects/browse/branches/1.9/source/That should probably be http://dsource.org/projects/walnut/browser/branches/1.9/source
Apr 04 2007
Frits van Bommel Wrote:Dan wrote:Not wanting to offend, but hold on a second here. In accordance with the resource specified for Software Copyright Law on the Wikipedia website, http://www.rosenlaw.com/lj19.htm Simple Case: "If you take the copyrighted source code of any program and physically modify it – actually revise the program or translate it into another computer language – you have created a derivative work" First Edge Case: "Here’s how I would decide in the edge cases that I described above: · The primary indication of whether a new program is a derivative work is whether the source code of the original program was used, modified, translated or otherwise changed in any way to create the new program. If not, then I would argue that there is not a derivative work." So in the case of Walnut 2.x, as I did not take someone elses code and modify it, but rather wrote a new program from scratch while analyzing the shortcomings of similar programs; it does not constitute a derivative work. Iff we can all agree that it is a version 2.x, and not a 1.x (continuation and modification of the original work) and nothing is copied forward. For the existing code-base, *I* believe it is most definitely a case of rewriting in light of. If I were to adopt Walter's methods for Walnut 2.x, it would most probably be crossing or standing on that line. Given that, and by your (Walter's) examination of the code in this light, is Walnut 1.9-2.x a derivative work as it stands? If Walnut 2.x is not as-of-yet a derivative work, then by discontinuing the examination of Walter's code while writing the methods (a part that would typically be very similar between implementations of ECMAScript regardless) I would be continuing to perform a new work in conformance with ECMA-262. If we disagree on whether Walnut 2.x is derivative, then I will remove it from the website and cease development. Thanks, Dan.http://dsource.org/projects/browse/branches/1.9/source/That should probably be http://dsource.org/projects/walnut/browser/branches/1.9/source
Apr 04 2007
Also of interest is Linus Torvald's explanation of his writing of some code for the Linux kernel when he was challenged by SCO: http://www.groklaw.net/article.php?story=20031222174158852
Apr 04 2007
Dan wrote:Also of interest is Linus Torvald's explanation of his writing of some code for the Linux kernel when he was challenged by SCO: http://www.groklaw.net/article.php?story=20031222174158852Linus is right. It's stupid to try to lay claim to individual numbers, variable names, or obvious algorithms. Certainly, there is no hard and fast line between that and wholesale copying. Use your best judgment and act in good faith, and you should be fine.
Apr 04 2007
BTW, the fact that you asked in this forum speaks highly of you, and that you are doing your best to act in good faith. That means a lot. Thank-you.
Apr 04 2007
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1110348602-1205608966-1175716960=:3074 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE On Wed, 4 Apr 2007, Dan wrote:Date: Wed, 04 Apr 2007 14:38:44 -0400 From: Dan <murpsoft hotmail.com> Reply-To: digitalmars.D <digitalmars-d puremagic.com> To: digitalmars-d puremagic.com Newsgroups: digitalmars.D Subject: Re: Legal/Permission Question =20 Frits van Bommel Wrote: =20resource specified for Software Copyright Law on the Wikipedia website,Dan wrote:=20 Not wanting to offend, but hold on a second here. In accordance with the=http://dsource.org/projects/browse/branches/1.9/source/=20 That should probably be=20 http://dsource.org/projects/walnut/browser/branches/1.9/sourcehttp://www.rosenlaw.com/lj19.htm =20 Simple Case: "If you take the copyrighted source code of any program and physically mo=dify it =96 actually revise the program or translate it into another comput= er language =96 you have created a derivative work"=20 First Edge Case: "Here=92s how I would decide in the edge cases that I described above: =20 =B7 The primary indication of whether a new program is a derivati=ve work is whether the source code of the original program was used, modifi= ed, translated or otherwise changed in any way to create the new program. = If not, then I would argue that there is not a derivative work."=20 So in the case of Walnut 2.x, as I did not take someone elses code and mo=dify it, but rather wrote a new program from scratch while analyzing the sh= ortcomings of similar programs; it does not constitute a derivative work.=20 Iff we can all agree that it is a version 2.x, and not a 1.x (continuatio=n and modification of the original work) and nothing is copied forward.=20 For the existing code-base, *I* believe it is most definitely a case of r=ewriting in light of. If I were to adopt Walter's methods for Walnut 2.x, = it would most probably be crossing or standing on that line.=20 Given that, and by your (Walter's) examination of the code in this light,=is Walnut 1.9-2.x a derivative work as it stands?=20 If Walnut 2.x is not as-of-yet a derivative work, then by discontinuing t=he examination of Walter's code while writing the methods (a part that woul= d typically be very similar between implementations of ECMAScript regardles= s) I would be continuing to perform a new work in conformance with ECMA-262= =2E=20 If we disagree on whether Walnut 2.x is derivative, then I will remove it=from the website and cease development.=20 Thanks, Dan.This thread has long since left the realm of usefulness. The only=20 authority on the legalness of what constitutes a derived work is the legal= =20 system itself. If you want a binding answer, you can't get one from us. In this specific case, the only person that has any standing to assert any= =20 claims of infringement would be Walter and I suggest you work with him=20 privately. No one else here can give an authoritve answer. Later, Brad ---1110348602-1205608966-1175716960=:3074--
Apr 04 2007
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1110348602-1205608966-1175716960=:3074 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT On Wed, 4 Apr 2007, Dan wrote:Date: Wed, 04 Apr 2007 14:38:44 -0400 From: Dan <murpsoft hotmail.com> Reply-To: digitalmars.D <digitalmars-d puremagic.com> To: digitalmars-d puremagic.com Newsgroups: digitalmars.D Subject: Re: Legal/Permission Question Frits van Bommel Wrote:This thread has long since left the realm of usefulness. The only authority on the legalness of what constitutes a derived work is the legal system itself. If you want a binding answer, you can't get one from us. In this specific case, the only person that has any standing to assert any claims of infringement would be Walter and I suggest you work with him privately. No one else here can give an authoritve answer. Later, Brad ---1110348602-1205608966-1175716960=:3074--Dan wrote:Not wanting to offend, but hold on a second here. In accordance with the resource specified for Software Copyright Law on the Wikipedia website, http://www.rosenlaw.com/lj19.htm Simple Case: "If you take the copyrighted source code of any program and physically modify it – actually revise the program or translate it into another computer language – you have created a derivative work" First Edge Case: "Here’s how I would decide in the edge cases that I described above: · The primary indication of whether a new program is a derivative work is whether the source code of the original program was used, modified, translated or otherwise changed in any way to create the new program. If not, then I would argue that there is not a derivative work." So in the case of Walnut 2.x, as I did not take someone elses code and modify it, but rather wrote a new program from scratch while analyzing the shortcomings of similar programs; it does not constitute a derivative work. Iff we can all agree that it is a version 2.x, and not a 1.x (continuation and modification of the original work) and nothing is copied forward. For the existing code-base, *I* believe it is most definitely a case of rewriting in light of. If I were to adopt Walter's methods for Walnut 2.x, it would most probably be crossing or standing on that line. Given that, and by your (Walter's) examination of the code in this light, is Walnut 1.9-2.x a derivative work as it stands? If Walnut 2.x is not as-of-yet a derivative work, then by discontinuing the examination of Walter's code while writing the methods (a part that would typically be very similar between implementations of ECMAScript regardless) I would be continuing to perform a new work in conformance with ECMA-262. If we disagree on whether Walnut 2.x is derivative, then I will remove it from the website and cease development. Thanks, Dan.http://dsource.org/projects/browse/branches/1.9/source/That should probably be http://dsource.org/projects/walnut/browser/branches/1.9/source
Apr 04 2007
Dan wrote:David B. Held Wrote:Hmmm - I'd have to question that last line. I mean geesh... Besides, what really is the "D community". It'd be hard to prove in court what that in itself means, with public NG's and all ;)Generally, the best way to implement something that someone else has written is to use a "clean room" technique where you isolate yourself from any possible external influences, as Walter and others have pointed out. Even if you are clever enough to change or obfuscate all the identifiers, people are hard at working creating similarity programs that detect likeness without any exact matches. On the one hand, you probably don't have to worry about Walter hunting you down with lawyers, because he knows you can't squeeze blood from a turnip. On the other, if your library becomes as successful as you hope it does and DMDScript gets bought out by a SCO-like player, then you have a world of hurt coming your way. Take a look at http://en.wikipedia.org/wiki/Clean_room_design and keep in mind that while the clean room technique may be a defense against copyright infringement, it is not a defense against patents (not sure if Walter has any patents on any D stuff, or if anyone does, but this seems like the smaller risk for you). The fact that you are already part of the D community may strongly imply that you are already tainted.Good luck. DaveWalter, if I may ask, examining Walnut 1.9 from: http://dsource.org/projects/browse/branches/1.9/source/ Is the code that I've currently written in any way derived from your works? While, as people here have suggested, you probably won't come after me for it, your explicit agreement that it isn't so far would probably hold me not liable for that code. Granted that, I guess I'm not allowed to program ever again, because I've read source code for practically everything - Ogre3D, various games, scripting engines, compilers, OS's, tools, algorithms and data structures.. I'm just a walking liability. I'll miss you all so much. *sniffle* It's a damned good thing this turnip is dry. : )
Apr 04 2007
Dave wrote:Dan wrote:The problem seems to be a fear of litigation rather than whether such a case could actually be won or lost. Even pre-court negotiation and such can be quite expensive if IP lawyers are involved, and many cases unfortunately rely on the accused to settle rather than to pay for a trial (since it is often tremendously cheaper to do so). If it came to it, my first step would probably be to contact the EFF and discuss my options with them. SeanDavid B. Held Wrote:Hmmm - I'd have to question that last line. I mean geesh... Besides, what really is the "D community". It'd be hard to prove in court what that in itself means, with public NG's and all ;)Take a look at http://en.wikipedia.org/wiki/Clean_room_design and keep in mind that while the clean room technique may be a defense against copyright infringement, it is not a defense against patents (not sure if Walter has any patents on any D stuff, or if anyone does, but this seems like the smaller risk for you). The fact that you are already part of the D community may strongly imply that you are already tainted.
Apr 04 2007
Dan wrote:Walter, if I may ask, examining Walnut 1.9 from: http://dsource.org/projects/browse/branches/1.9/source/ Is the code that I've currently written in any way derived from your works? While, as people here have suggested, you probably won't come after me for it, your explicit agreement that it isn't so far would probably hold me not liable for that code. Granted that, I guess I'm not allowed to program ever again, because I've read source code for practically everything - Ogre3D, various games, scripting engines, compilers, OS's, tools, algorithms and data structures.. I'm just a walking liability. I'll miss you all so much. *sniffle* It's a damned good thing this turnip is dry. : )LOL. I'm not sitting here with a pack of lawyers itching to sic them on somebody. Heck, I've been putting more and more of phobos into the public domain. But you should know what the legal issues involved are, as they'll apply to whatever programming work you do. If you write software and wish to sell it to some major corporation for big bucks, they'll want clean title to it, and they'll check it out. You'll be asked to sign papers guaranteeing it's original, under threat of substantial penalties. Avoiding taint makes this trivial. As for me personally, what gets my back up are (and yes, these have all happened): 1) accusing me of copying, when the accuser is the one that stole the code from me in the first place 2) hiring me to do programming, using the result, and trying to duck payment 3) licensing my code, paying me royalties for a year or two, becoming intimately familiar with my code, then releasing a new version trying to claim it is now an "original" work to duck payment and credit 4) trying to claim original authorship of code that is obviously mine, by doing little more than replace the copyright notice Bottom line is, doing a line by line transliteration of copyrighted code for the purpose of evading the copyright just isn't right. Think of it this way: you're releasing Walnut under a BSD license. That means you wish to retain credit and copyright of it. How would you feel if someone else took Walnut, transliterated it, peeled off your copyright, and called it their own?
Apr 04 2007
David B. Held wrote:it is not a defense against patents (not sure if Walter has any patents on any D stuff, or if anyone does, but this seems like the smaller risk for you).There are no patents on D technology that I am aware of, and I don't plan on filing any. I personally believe that software should be unpatentable.
Apr 04 2007
Walter Bright wrote:David B. Held wrote:Did you know, that the only reason why software technology is patentable at all, is because in the 1800's, some guy was granted a patent for a (paper) opera ticket that could be folded in multiple ways, and modern courts successfully argued that it was an algorithm. So this whole situation exists just because some stupid patent office once granted a patent for origami. It's absurd.it is not a defense against patents (not sure if Walter has any patents on any D stuff, or if anyone does, but this seems like the smaller risk for you).There are no patents on D technology that I am aware of, and I don't plan on filing any. I personally believe that software should be unpatentable.
Apr 05 2007
Don Clugston wrote:Walter Bright wrote:I didn't know that. Patents are supposed to exist in order to encourage innovation. The reality of software patents is they do nothing of the kind, they discourage it. Before 1989, software wasn't patentable, and there was a tidal wave of software innovation.David B. Held wrote:Did you know, that the only reason why software technology is patentable at all, is because in the 1800's, some guy was granted a patent for a (paper) opera ticket that could be folded in multiple ways, and modern courts successfully argued that it was an algorithm. So this whole situation exists just because some stupid patent office once granted a patent for origami. It's absurd.it is not a defense against patents (not sure if Walter has any patents on any D stuff, or if anyone does, but this seems like the smaller risk for you).There are no patents on D technology that I am aware of, and I don't plan on filing any. I personally believe that software should be unpatentable.
Apr 05 2007
Walter Bright Wrote:LOL. I'm not sitting here with a pack of lawyers itching to sic them on somebody. Heck, I've been putting more and more of phobos into the public domain.Indeed, I've never suspected so. I tend to go on what people say is okay with them. According to the definition, practically any programming after having seen an example of a for loop is an offense; so it's reasonable to be sure one isn't stepping on the wrong toes. I agree with the issues you raised, and don't intend to violate those. More or less though, I feel it would border on treason to the community if I continued to develop and release Walnut 2.x when you felt I'd essentially produced a derived work that should remain constricted to GPL. Considering what you're last post stated, I can almost assume that you feel Walnut 2.x at Revision 44 is okay, and that I can continue work, as long as your files aren't open. :p I pretty much just feel I need a yes or no from ya. :p
Apr 04 2007
Dan wrote:Walter Bright Wrote:seen an example ofLOL. I'm not sitting here with a pack of lawyers itching to sic them on somebody. Heck, I've been putting more and more of phobos into the public domain.Indeed, I've never suspected so. I tend to go on what people say is okay with them. According to the definition, practically any programming after havinga for loop is an offense;No, I don't think so. Copyright does not apply to algorithms, nor does it apply to specific numbers or identifiers. You cannot copyright a phrase. You cannot copyright quicksort, but you can copyright your implementation of quicksort.so it's reasonable to be sure one isn't stepping on the wrong toes. I agree with the issues you raised, and don't intend to violate those. More or less though, I feel it would border on treason to the community if I continued to develop and release Walnut 2.x when you felt I'd essentiallyproduced a derived workthat should remain constricted to GPL.I don't have an opinion on whether you produced a derived work or not, since I haven't looked at the code.Considering what you're last post stated, I can almost assume that you feel Walnut 2.x at Revision 44 is okay, and that I can continue work, as long as yourfiles aren't open.:p I pretty much just feel I need a yes or no from ya. :pAll I ask if that if any of it is a line by line translation from dmdscript, or bases its structure or data structures on dmdscript, that you scrap & rewrite those parts, and that you not look at the dmdscript source as long as you're working on Walnut.
Apr 04 2007
how can gif format patent prevent the others from writing a real gif file
Apr 04 2007
Davidl wrote:how can gif format patent prevent the others from writing a real gif fileThe GIF format patent (actually a patent on the LZW compression algorithm used by the GIF format) can't prevent anyone from writing a GIF encoder, but it does (or at least it did, before it expired a few years ago) make it illegal to distribute it without paying royalties to Unisys. P.S.: Davidl, could you please try to use better capitalization, punctuation, grammar, and spelling in your posts? It might take a bit longer to type out, but it looks a lot more professional and is much more readable than your current posting style.
Apr 04 2007
Tyler Knott wrote:[...] P.S.: Davidl, could you please try to use better capitalization, punctuation, grammar, and spelling in your posts? It might take a bit longer to type out, but it looks a lot more professional and is much more readable than your current posting style.If I had to guess, I would say that English is not his first language. This is typically given away by the non-standard font. If you look at the domain of his email address, you might get an idea where he's coming from: http://126.com/ Dave
Apr 05 2007
David B. Held wrote:If I had to guess, I would say that English is not his first language. This is typically given away by the non-standard font. If you look at the domain of his email address, you might get an idea where he's coming from: http://126.com/Actually, he doesn't use a non-standard font. His header doesn't specify the font in any way except in that he uses charset=gbk, which my Thunderbird tells me means the message encoding is "Chinese Simplified (GBK)". The non-standard font you're seeing is probably the same thing I had the first couple of times I read his posts: Thunderbird has separate font settings for Western/Simplified Chinese/Japanese/Hebrew and lots of others. So the font may already be the same in other newsgroup clients. Anyway, if it annoys you as much as it annoyed me, you can set your Simplified Chinese fonts to the same as Western in the preferences[1] (fixed it for me). [1]: Edit -> Preferences -> Display -> tab Fonts -> button "Fonts..." (on my Linux box, IIRC there may be a different place for the preferences dialog on Windows)
Apr 05 2007
:o Sorry for the wrong encoding which brings you guys so many troubles. And I now set my encode-set to UTF-8. Hope now every one is happy :pDavid B. Held wrote:. =If I had to guess, I would say that English is not his first language=t =This is typically given away by the non-standard font. If you look a=the domain of his email address, you might get an idea where he's =fy =coming from: http://126.com/Actually, he doesn't use a non-standard font. His header doesn't speci=the font in any way except in that he uses charset=3Dgbk, which my =Thunderbird tells me means the message encoding is "Chinese Simplified==(GBK)". The non-standard font you're seeing is probably the same thing I had t=he =first couple of times I read his posts: Thunderbird has separate font ==settings for Western/Simplified Chinese/Japanese/Hebrew and lots of =others. So the font may already be the same in other newsgroup clients=.Anyway, if it annoys you as much as it annoyed me, you can set your =Simplified Chinese fonts to the same as Western in the preferences[1] ==(fixed it for me). [1]: Edit -> Preferences -> Display -> tab Fonts -> button "Fonts..." ==(on my Linux box, IIRC there may be a different place for the =preferences dialog on Windows)
Apr 05 2007
Hum, BTW, how about this scenario, which I think is even more complicated: Suppose there is a GPL project, and a company wants to make a commercial project based on the GPL project. GPL states that any derivative work must also be GPL. What if to circumvent this, a company packages its product into two parts: one that is the derivate work of the GPL project, and thus is also under the GPL; and a second part, which *uses* the first part, but doesn't know anything about the first part's source code? Some might say that it depends on how the use is (static linking, dynamic linking, etc.), but the company can always change the use method to a more loose form. For example, if dynamic linking isn't enough to prevent GPL propagation (which legally, it still seam unclear whether it does), then ultimately what if the second part simply calls the first part as an external program? It seems that in the end the use form isn't enough to determine whether the GPL propagates or not. -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Apr 07 2007
Bruno Medeiros wrote:Some might say that it depends on how the use is (static linking, dynamic linking, etc.), but the company can always change the use method to a more loose form.It is up to the courts and copyright holders to decide the issue. There are no black and white rules with regards to linking. GPL FAQ: http://www.gnu.org/licenses/gpl-faq.html#MereAggregation An ongoing court case, where a GPL chess client was "wrapped": http://www.jinchess.com/ichessu/ -Jeff
Apr 07 2007
Jeff Nowakowski wrote:Bruno Medeiros wrote:Yep, that's my question alright, thx.Some might say that it depends on how the use is (static linking, dynamic linking, etc.), but the company can always change the use method to a more loose form.It is up to the courts and copyright holders to decide the issue. There are no black and white rules with regards to linking. GPL FAQ: http://www.gnu.org/licenses/gpl-faq.html#MereAggregationAn ongoing court case, where a GPL chess client was "wrapped": http://www.jinchess.com/ichessu/ -JeffHum, interesting, let's see how that turns out. -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Apr 09 2007