commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <>
Subject Re: [Collections] NodeCachingLinkedList license issues?
Date Wed, 11 Dec 2002 01:12:40 GMT

On Wed, 11 Dec 2002, Rich Dougherty wrote:

> Date: Wed, 11 Dec 2002 10:34:23 +1300 (NZDT)
> From: Rich Dougherty <>
> Reply-To: Jakarta Commons Developers List <>
> To:
> Subject: Re: [Collections] NodeCachingLinkedList license issues?
> >> Also, I have some concerns about the code for
> >> NodeCachingLinkedList. It looks like a lot of the code has been copied
> >> from Sun's LinkedList implementation. If I understand correctly, this
> >> makes the code unsuitable for inclusion in an Apache project.
> >
> > I didn't know about these sorts of restrictions.  I've looked around the
> > Apache site and can't find any information on this-- you should've
> > posted a link to whatever you were referring.  Now, I have to say that
> > Sun doesn't have a patent on the linked-list data structure, which is
> > probably going to be implemented the same way over and over again if it
> > adheres to the List interface.  If I were to rewrite LinkedList, I would
> > include an inner ListIterator class, etc.  I would track modifications
> > with a number variable at the class level.  Would it make you feel
> > better if I renamed variables?
> >
> > The point is that Java doesn't have a patent on the workings of any data
> > structures in the Java language (and I've never seen a patent for a data
> > structure anyway, although it would be possible to get one).  They have
> > copyrights on everything they release.  Maybe we should investigate
> > ASF's liability with regards to all code implementing interfaces or
> > extending classes in the Java API.  Maybe it would be good enough
> > document things like this:
> >
> > /** implements the LinkedList(c) interface from Sun Microsystems, Inc.
> > */
> >
> > By the way, your trie implementation is sucky and guaranteed to be slow.
> >  Have a nice day.
> Please don't take my comment as a personal attack--your implementation is
> good and I'm not sure if there is a legal problem here. I was just
> checking it past the list.
> My (layperson) understanding says that we should check it out carefully.
> Despite the fact that a linked list is a common data structure and despite
> the fact that we've got a license to use the API, I don't think we're
> allowed to redistribute the source code. Hopefully someone familiar with
> licensing issues can tell us whether there is anything to worry about.

Implementing the java.util.LinkedList interface is perfectly legal.  The
fact that many linked list implementations will look similar to each other
is the nature of the beast -- the question is, did you write it yourself
or did you copy someone else's implementation?

Copying code directly from some other implementation is restricted by the
terms under which you acquired that source code (i.e. if you copy code
from an Apache class into you're own, you have to obey the Apache license
terms; same for Sun source code or anyone elses).

In the case at hand, if the code was directly copied from Sun source code
then it is Sun intellectual property, bound by the click-through license
that you accepted when you downloaded it.  Short answer:  you can't do

I have not checked the proposed code against the Sun sources, but this
sounds like it would be a problematic contribution to me.

> Rich

Craig McClanahan

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message