April 04, 2007
Dan wrote:
> 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.
>>

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 ;)

>> Good luck.
>>
>> Dave
> 
> 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.  : )
April 04, 2007
Frits van Bommel Wrote:

> 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

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.
April 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
April 04, 2007
Dave wrote:
> Dan wrote:
>> David B. Held Wrote:
>>>
>>> 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.
>>>
> 
> 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 ;)

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.


Sean
April 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.
April 04, 2007
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:
> 
> > 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
> 
> 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.

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


April 04, 2007
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:
> 
> > 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
> 
> 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.

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


April 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?
April 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=20031222174158852

Linus 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.
April 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.