Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #12129

Re: "Borrowing" code

From glen herrmannsfeldt <gah@ugcs.caltech.edu>
Newsgroups comp.lang.java.programmer
Subject Re: "Borrowing" code
Date 2012-02-17 18:45 +0000
Organization Aioe.org NNTP Server
Message-ID <jhm787$hk1$1@speranza.aioe.org> (permalink)
References <Xns9FFB971CFBEEEjpnasty@94.75.214.39> <jhjves$rds$1@news.albasani.net> <Xns9FFBBFA6D28D6jpnasty@94.75.214.39> <11812328.4.1329472631072.JavaMail.geo-discussion-forums@pbhp10> <Xns9FFC7BB456A2Fjpnasty@94.75.214.39>

Show all headers | View raw


Novice <novice@example..com> wrote:

(snip, someone wrote)

>> Public display does not confer right to use!
 
> In a legal sense, sure. Still,  if someone posts a recipe for chili on a 
> cooking page, it seems to me the intent is to offer it to the world as in 
> "Here's how I make a great chili in case you want to do the same." A code 
> example seems like the same thing to me. 

You might even be able to go into the canned chili business
with the recipe, but publishing it in a cookbook is a different
question.

But the usual thing with both recipes is to modify them, as
they say (in the recipe) to taste. 

There is some explanation of this in "Numerical Recipes", but 
maybe not quite good enough. Many of the programs are adapted
from others generally known, yet different enough not to
violate a previous copyright. (Or so the authors hope.)

Despite the name, it is my understanding that it is best
to use the programs as test programs for implementing the
given algorithms. 

You might have a math book with an explanation of an algorithm,
but have a hard time visualizing it. With a sample program, you
can try out a few cases, see how they work, and then write your
own implementation. 

> I suppose a code example could just be someone showing off, as in "I 
> wrote this clever bit of code so I'm putting this code on a public web 
> page so that you can see how clever I am. But don't you dare try to use 
> it because if I find out you did, I'll send my lawyers after you and 
> make a truckload of money!" But that doesn't all that likely to me. 

If it is only a few lines long, there likely aren't that many
different ways to do it. As it gets longer, there is more
possibility for variation.

In the Apple II days, there were claims that the only possible
implementation of the ROMs was the one that Apple used. The code
was so tight, using as many space-saving tricks as one could
think of, and much had to fit in a certain space, that it
might have been close to true. When you are not space or time
constrained, it is much easier to write an alternate implementation
of an algorithm, and avoid copyright problems. (Though you can
still run into patent problems.)

>> Besides, Arved's advice really, really applies here. So what 
>> if you *can* copy some code into yours? The question you 
>> should ask yourself is if you *should*. 
 
(snip)
> I totally agree with that. If you don't know how it works, you can't fix 
> it if it doesn't work. You also don't know if it is going to introduce 
> unexpected side-effects to your code or perform horribly because the 
> developer of the code was only trying to show a way to do something, 
> not necessarily the most efficient way. Etc. etc.

And if you do know how it works, it usually isn't so hard to change
it enough to avoid copyright problems.

If I remember, there were some interesting examples in one
of the Unix suits. There are a few unix derivatives, such
as FreeBSD and NetBSD that are supposed to be reimplementations.

Someone might find something like the old C favorite:

   while(*s++ = *t**) ;

in both copyright version and a derived version, and claim it
as infringement. (You might look it up for more accurate
details.) But that is so common in C programming that it
doesn't make much sense to claim copyright for it.

There are also some fun cases in literary fiction, where
one claims that another copied their story too closely.
(I believe some related to Harry Potter, where any story 
with a magical boy could be considered to be infringed.)

-- glen

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

"Borrowing" code Novice <novice@example..com> - 2012-02-16 19:50 +0000
  Re: "Borrowing" code glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-02-16 20:28 +0000
  Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-16 12:59 -0800
    Re: "Borrowing" code Patricia Shanahan <pats@acm.org> - 2012-02-16 13:51 -0800
      Re: "Borrowing" code Gene Wirchenko <genew@ocis.net> - 2012-02-16 15:03 -0800
        Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-17 01:21 -0800
          Re: "Borrowing" code Gene Wirchenko <genew@ocis.net> - 2012-02-17 11:29 -0800
            Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-17 11:51 -0800
              Re: "Borrowing" code Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-02-17 17:50 -0400
                Re: "Borrowing" code glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-02-17 22:36 +0000
                Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-17 23:27 -0800
                Re: "Borrowing" code glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-02-18 15:11 +0000
                Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-18 10:28 -0800
                Re: "Borrowing" code glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-02-18 20:08 +0000
                Re: "Borrowing" code Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-02-18 16:46 -0400
                Re: "Borrowing" code BGB <cr88192@hotmail.com> - 2012-02-20 01:58 -0700
                Re: "Borrowing" code Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-02-18 13:03 -0400
                Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-18 10:31 -0800
                Re: "Borrowing" code glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-02-18 20:15 +0000
                Re: "Borrowing" code Gene Wirchenko <genew@ocis.net> - 2012-02-19 19:46 -0800
                Re: "Borrowing" code Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-02-19 23:08 -0600
                Re: "Borrowing" code Gene Wirchenko <genew@ocis.net> - 2012-02-20 09:17 -0800
                Re: "Borrowing" code Mark <i@dontgetlotsofspamanymore.invalid> - 2012-02-20 09:32 +0000
                Re: "Borrowing" code Lew <noone@lewscanon.com> - 2012-02-20 01:45 -0800
                Re: "Borrowing" code BGB <cr88192@hotmail.com> - 2012-02-20 08:35 -0700
                Re: "Borrowing" code Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-02-20 03:59 -0600
            Re: "Borrowing" code Arne Vajhøj <arne@vajhoej.dk> - 2012-02-17 17:00 -0500
              Re: "Borrowing" code Joshua Cranmer <Pidgeot18@verizon.invalid> - 2012-02-17 16:08 -0600
                Re: "Borrowing" code Arne Vajhøj <arne@vajhoej.dk> - 2012-02-17 17:14 -0500
            Re: "Borrowing" code George Neuner <gneuner2@comcast.net> - 2012-02-17 18:00 -0500
              Re: "Borrowing" code Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-02-17 21:54 -0400
          Re: "Borrowing" code Arne Vajhøj <arne@vajhoej.dk> - 2012-02-17 17:10 -0500
            Re: "Borrowing" code glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-02-17 22:42 +0000
              Re: "Borrowing" code Gene Wirchenko <genew@ocis.net> - 2012-02-17 15:22 -0800
                Re: "Borrowing" code glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-02-18 01:37 +0000
                Re: "Borrowing" code Gene Wirchenko <genew@ocis.net> - 2012-02-19 19:51 -0800
      Re: "Borrowing" code Novice <novice@example..com> - 2012-02-16 23:37 +0000
      Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-17 01:26 -0800
    Re: "Borrowing" code Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-02-16 19:36 -0400
      Re: "Borrowing" code Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-02-16 22:15 -0600
      Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-17 01:41 -0800
    Re: "Borrowing" code Novice <novice@example..com> - 2012-02-16 23:36 +0000
      Re: "Borrowing" code Arne Vajhøj <arne@vajhoej.dk> - 2012-02-16 18:42 -0500
  Re: "Borrowing" code BGB <cr88192@hotmail.com> - 2012-02-16 15:19 -0700
    Re: "Borrowing" code Novice <novice@example..com> - 2012-02-16 23:50 +0000
      Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-17 01:57 -0800
        Re: "Borrowing" code Novice <novice@example..com> - 2012-02-17 17:09 +0000
          Re: "Borrowing" code glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-02-17 18:45 +0000
            [OT] Harry Potter copyright claims (Was: "Borrowing" code) Lew <lewbloch@gmail.com> - 2012-02-17 11:00 -0800
              Re: [OT] Harry Potter copyright claims (Was: "Borrowing" code) Gene Wirchenko <genew@ocis.net> - 2012-02-17 11:36 -0800
            Re: "Borrowing" code Mark <i@dontgetlotsofspamanymore.invalid> - 2012-02-20 09:41 +0000
          Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-17 10:34 -0800
          Re: "Borrowing" code Bent C Dalager <bcd@pvv.ntnu.no> - 2012-02-18 00:08 +0000
  Re: "Borrowing" code Jeff Higgins <jeff@invalid.invalid> - 2012-02-16 18:14 -0500
  Re: "Borrowing" code Arne Vajhøj <arne@vajhoej.dk> - 2012-02-16 18:37 -0500
    Re: "Borrowing" code Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-02-16 17:39 -0800
  Re: "Borrowing" code Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-02-16 20:34 -0500
  Re: "Borrowing" code Roedy Green <see_website@mindprod.com.invalid> - 2012-02-16 18:01 -0800
    Re: "Borrowing" code Arne Vajhøj <arne@vajhoej.dk> - 2012-02-16 21:18 -0500
    Re: "Borrowing" code Gene Wirchenko <genew@ocis.net> - 2012-02-16 20:26 -0800
    Re: "Borrowing" code Gene Wirchenko <genew@ocis.net> - 2012-02-16 20:32 -0800
    Re: "Borrowing" code BGB <cr88192@hotmail.com> - 2012-02-17 00:25 -0700
    Re: "Borrowing" code Lew <lewbloch@gmail.com> - 2012-02-17 02:01 -0800
    Re: "Borrowing" code Mark <i@dontgetlotsofspamanymore.invalid> - 2012-02-17 11:36 +0000
  Was: "Borrowing" code -  Links for budding copyright lawyers Jeff Higgins <jeff@invalid.invalid> - 2012-02-17 17:29 -0500
  Re: "Borrowing" code Novice <novice@example..com> - 2012-02-20 19:22 +0000

csiph-web