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


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

Re: "Borrowing" code

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.42!gegeweb.eu!nntpfeed.proxad.net!proxad.net!feeder1-1.proxad.net!198.186.194.250.MISMATCH!news-out.readnews.com!news-xxxfer.readnews.com!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
From Lew <lewbloch@gmail.com>
Newsgroups comp.lang.java.programmer
Subject Re: "Borrowing" code
Date Fri, 17 Feb 2012 01:41:13 -0800 (PST)
Organization http://groups.google.com
Lines 92
Message-ID <21437375.0.1329471673903.JavaMail.geo-discussion-forums@pbhp10> (permalink)
References <Xns9FFB971CFBEEEjpnasty@94.75.214.39> <1848237.679.1329425962537.JavaMail.geo-discussion-forums@pbgq3> <Rpg%q.1252$2q1.975@newsfe06.iad>
NNTP-Posting-Host 173.164.137.214
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1
X-Trace posting.google.com 1329471678 6336 127.0.0.1 (17 Feb 2012 09:41:18 GMT)
X-Complaints-To groups-abuse@google.com
NNTP-Posting-Date Fri, 17 Feb 2012 09:41:18 +0000 (UTC)
In-Reply-To <Rpg%q.1252$2q1.975@newsfe06.iad>
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=173.164.137.214; posting-account=CP-lKQoAAAAGtB5diOuGlDQk0jIwmH0T
User-Agent G2/1.0
X-Google-Web-Client true
Xref x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:12114

Show key headers only | View raw


Arved Sandstrom wrote:
> Bit of an overheated reaction to what I thought were reasonable questions.

Granted, but a real-life risk when one is asking about the cliff edge of 
copyright law. Have you read about copyright cases that seemed ludicrous by 
common sense but went the plaintiff's way? Of course, because that is common.

Do I think the OP is trying to game the system in an unethical way? No, not 
really, but suppose he did run afoul of a copyright claim. We here, us legal 
beagles, tell him, "Sure, copy what you need." Then he loses, in part because 
this very thread is shown to the court as an example that he intended to steal 
copyright material all along. It's happened.

So is my reaction overheated, or instructive of what some actual copyright 
holders might do?

> I'm the last person to advocate filching code that should be attributed
> (or paid for or both). I make my living writing code for money, and I'd
> be annoyed if someone copied it and passed it off as theirs.
> 
> *If* my code was non-obvious, that is. Or incorporated significant
> domain knowledge. In other words, if it actually merited some legal
> protections, according to commonsense.
> 
> There is a lot of code out there that ought to be under copyright
> according to the rules, but should not be copyrighted according to
> commonsense. There are myriads of code snippets that express concept
> implementations, in every programming language, that any well-versed
> person would code more or less in the same fashion, with only very
> trivial tweaks. Tutorials, for example, are positively loaded with this
> kind of code. Should any of it qualify for copyright? Why should it? Why
> should code like that qualify when 500 or 5000 or 50000 other coders
> have already independently written basically the same thing?
> 
> Code is not like prose or poetry. It's possible to provide a bunch of
> programmers with the same detailed design of a proposed solution, and
> assuming a good level of skill, it won't be unusual to see many highly
> similar elements in the independent implementations. So why should any
> of that be copyrighted?
> 
> Who amongst us hasn't seen code snippets on the Web that didn't look
> remarkably like something we had written ourselves?

The defense against copyright infringement claims is that very plethora of 
exemplars. You simply aver that you copied the other 4000 examples, and not 
the plaintiff's. 

As for "who amongst us?" I hope those snippets weren't from the Daily WTF, but 
for all too many programmers that's where their code really belongs. This group 
is relatively elite, but we're only going to think quality code looks familiar 
if we are in the habit ourselves of writing quality code.

> Anyway, there are much better reasons not to worry about copyright, even
> in the frequent cases when it legally exists but is retarded. It's much
> better - for several reasons - not to copy and paste. One, you have no

I agree with a caveat - it's bad to thoughtlessly copy and paste. A thoughtful 
copy, which is actually copy-paste-edit (CPE), is a very useful technique. CPE 
is a valid form of code reuse.

> idea if the code is defective or not if you just copy it. If it's so

[emphasis on "just"]

> trivial that you can immediately tell by visual inspection that it's OK,
> as in a "public static void main Hello World" example (which the lawyers
> would argue is under copyright), then you should just type it in yourself.

Whatever. Typing or copying, who cares as long as the end result is correct?
But mindful copying is probably a word at a time, not a snippet at a time, so 
through the oppositional style I agree with your point. I just don't want 
people to fear the clipboard. What to fear is carelessness.

> Two, from a learning standpoint, and a downroad maintenance standpoint,
> you shouldn't copy and paste non-trivial code because you're sacrificing
> a learning opportunity. Presumably you went hunting for the code snippet
> because you didn't know how to do it yourself. Learn from the code
> snippet, and work through it. Build up your own implementation, *guided*
> by the example. Quite frankly, if you end up with code that you typed
> yourself, and you thoroughly understand it, and could now independently
> write it, you can ethically feel good about your efforts. My sincere
> opinion.

As Arne pointed out in some other thread, the goals vary between coding for 
learning and coding for work. You should never copy code you don't fully grok, 
I agree there, but it's not the copy-and-paste one should eschew, rather the 
failure to grok. To fix that, the retype route is superior when coding for 
learning. Once you've learned, the clipboard is a tool like any other when 
coding for work.

-- 
Lew

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