On Monday, June 2, 2003, at 07:54 AM, Phil Steitz wrote:
> Brent Worden wrote:
>>> Gamma.java specifically mentioned that is was based on "Numerical
>>> Recipes in C" which is not available under a license compatible with the
>>> ASL.
>> What is specifically mentioned was "is based on the formulas and
>> descriptions" found in NR and it clearly states in
>> http://www.nr.com/com/infocopyright.html that "Of course, the
>> mathematical
>> algorithms that underly the programs are not copyrightable..."
>
> This is a good point. The full text of the paragraph that starts with
> that sentence is:
>
> "Of course, the mathematical algorithms that underly the programs are not
> copyrightable. So, the test of whether a similar program is actually
> infringing on the Numerical Recipes copyright is whether the expression
> of the underlying algorithm is so similar to that in Numerical Recipes as
> to make clear that the infringing program was in fact derived from the
> Numerical Recipes program. It is usually very easy to tell if something
> was copied from Numerical Recipes, even if variable names are changed
> (for example), since all programs are full of arbitrary stylistic choices
> as to the order in which things are done, the way expressions are written,
> etc."
>
> I am not a lawyer and I have learned that lawyers often see things very
> differently than I do, but to me it looks like as long as all we are
> using are the formulas in NR, we *might* be OK, as long as:
>
> * "our" implementation does not end up looking like it was "derived from
> the NR program"
> * the formulas that we use are part of the "mathematical algorithms"
> rather than part of the "expression of the algorithms"
>
> The best situation,IMHO, is to have nonNR references that describe the
> algorithms. If NR itself provides these, we should refer to the original
> source (cf earlier discussion of corrected mean computations). I would
> suggest that given the potential legal entanglements, we should try to
> avoid formulas or algorithms that we can find *only* in NR.
IMHO
AIUI the critical point is whether the encoded algorithm (rather than the
mathematics behind it) is a clean room implementation or not but i would
certainly say that we should certainly try to provide a number of
references. providing only one reference should certainly be a danger sign.
what concerns me is not the references (copyright would be equally
infringed whether we include a reference or not) but that we're going to
have to be very careful about ensuring that (as far as is possible)
contributions are are not simply rewriting or derivative works of
protected algorithmic code. we should have the java and mathematics here
to provide clean room implementations for mathematical algorithms (if
these are needed) but we're going to need help from the good folks out
there who know the most common implementations (you know who you are!) to
ensure that we can spot any problems as quickly as possible. we should
probably make some sort of effort to audit all new implementations before
each release.
 robert

To unsubscribe, email: commonsdevunsubscribe@jakarta.apache.org
For additional commands, email: commonsdevhelp@jakarta.apache.org
