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


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

Re: "Borrowing" code

From BGB <cr88192@hotmail.com>
Newsgroups comp.lang.java.programmer
Subject Re: "Borrowing" code
Date 2012-02-20 01:58 -0700
Organization albasani.net
Message-ID <jht221$n79$1@news.albasani.net> (permalink)
References (6 earlier) <26067624.0.1329550046782.JavaMail.geo-discussion-forums@pbcpl10> <jhof3d$vmn$1@speranza.aioe.org> <4282803.800.1329589683890.JavaMail.geo-discussion-forums@pbgq3> <jhp0gf$g4c$1@speranza.aioe.org> <U6U%q.4214$082.4092@newsfe04.iad>

Show all headers | View raw


On 2/18/2012 1:46 PM, Arved Sandstrom wrote:
> On 12-02-18 04:08 PM, glen herrmannsfeldt wrote:
>> Lew<lewbloch@gmail.com>  wrote:
>>
>> (snip)
>>> You can play the "how many angels can dance on the head of a
>>> pin?" game all you want, but absent the particulars of a given
>>> case you're just playing with yourself.
>>
>> http://en.wikipedia.org/wiki/SCO-Linux_controversies
>>
>> There is much discussion, and links to other cases, in that.
>>
>> One interesting one:
>>
>>    "Since IBM released the relevant code under the terms of the GPL, it
>>    claims that the only permission that SCO has to copy and distribute
>>    IBM's code in Linux is under the terms and conditions of the GPL, one
>>    of which requires the distributor to "accept" the GPL. IBM says that
>>    SCO violated the GPL by denouncing the GPL's validity, and by claiming
>>    that the GPL violates the U.S. Constitution, together with copyright,
>>    antitrust and export control laws."
>>
>> I hadn't known before that denouncing GPL was a violation of it.
>> I wonder if that would be upheld against freedom of speach.
>
> It's not a violation of any license to be critical of it. It _is_ a
> violation to not only be critical but then to flout the license.
>

yeah.
I am sometimes critical of the GPL, but I also generally respect its 
requirements.

hell, I would probably not have written my own 3D engine had I simply 
been able to "disregard" the GPL on the already existing Quake engine, 
as in my case my main reason for writing my engine as it exists was 
because I wasn't really happy in some ways with the GPL.


>> The one specific case of copied code involves "errho.h".
>>
>> Also, in the "SCO and SGI" section:
>>
>>     "The code did not do anything. It was in a part of the Linux kernel
>>      that was written in anticipation of a Silicon Graphics architecture
>>      that was never released.
>>
>>      It had already been removed from the kernel two months earlier.
>>
>>      The contested segment was small (80 lines) and trivial."
>>
>> Size and triviality haven't been mentioned much in this thread.
>
> See the link I provide below.
>
> I've mentioned triviality a few times. As far as I know "triviality"
> actually subsumes other copyright concepts: originality, similarity
> tests, de minimus copying, and so forth. For example, the amount of
> copying may be so trivial that it is below the threshold for a
> substantial similarity test; the defense may then be one of de minimus
> copying.
>
> I meant both that, and also originality. If there really is only one way
> to express given functionality, it may not even be possible to copyright
> the code in the first place.
>
> There is no set minimum amount of code established by any jurisdiction
> I've ever heard of. that would make no sense. In many languages 80 lines
> of code is a large amount and it's almost not possible to write
> something trivial in 80 lines. But that ~80 lines of code you mention
> above might have been unoriginal.
>

in C, 80 lines of code often is fairly trivial.

although the logic is often fairly dense, the semantic density of C is 
often a bit lower, so one often has to write a lot more code to complete 
the same tasks (or express the same "high-level" operation).

this is also a language where single functions anywhere from 50 to 250 
lines are not uncommon.


this is different from Java, which although substantially more verbose 
than C, and posing some rather awkward restrictions, does at least have 
a merit:
the typical amount of expression per line of code is often a bit higher 
(partly due to the heavy use of library functionality, one could almost 
joke that Java is more a language for invoking library methods than 
actually writing code in, but either way...).

the tradeoff is that Java is not as well suited to writing pure logic 
code (it is fairly hard to get much done without either creating new 
class instances or invoking methods).

OTOH, C tends to more favor plain logic code, given its lack of built-in 
objects, a fairly minimal standard library, ..., which combined with a 
more expressive core language (pointers and a wider variety of built-in 
operations), leads to somewhat different coding practices (which often 
has the consequence of leading to much lower-density code).

"well, I could write a function to look this thing up in a link list, or 
I could just write out the logic for walking the linked list right 
here." so, while someone in another language is off invoking a container 
method or similar, maybe the C programmer is writing a "while()" loop to 
walk through the contents of the linked list or similar (typically 
leading to longer code overall).


however, I suspect it is actually thought, rather than code, which is 
what is expensive. a person can spend very little thought but write out 
several kloc of fairly dull code, or invest maybe many hours into 
writing and thinking over the specifics of only 10 or 20 lines.

one can do far more work, in terms of volume, when they don't really 
need to think, and it all becomes a semi-autonomous process (when the 
mental clockwork starts going).

well, sort of, "getting really into it" and spewing out several kloc 
over the course of a few hours can IME lead to temporary disorientation 
and occasional flash-backs (where, at the moment, one can't really 
remember what all code they wrote, but have flashes of large chunks of 
code in their mind, and normal reality seems almost dream-like for a 
little while until one can mentally recover, which often also restores 
ones' memory of just what all they had proceeded to write).

could this be done with a higher semantic density? maybe not, they would 
either require much more thinking (lower output rate), or end up writing 
less code overall (if the same level of information is expressed in 
fewer lines of code).

(refraining from going into "philosophy of life and coding" issues, 
don't need to go too much on a tangent...).

reading code becomes similar, as one gets fairly used to quickly 
scrolling through largish volumes of code and letting background mental 
processes sort through it, and ones' mind will gloss over most of it, 
boiling it down to its relevant core points.


however, the matter of semantic code density often also reduces the 
ability to directly compare code between languages in terms of 
measurable kloc.

probably 500 kloc of Java code is not the same as 500 kloc of C code 
(either in terms of expression, or in terms of effort or approximate 
time to write it).

so, a lot depends, 80 lines of C code could very well be trivial.
800, or 8000, lines would probably not be so trivial, however, it may 
depend some on the specifics.


>> More details on unix: http://en.wikipedia.org/wiki/USL_v._BSDi
>>
>>    "The University also claimed that similar lines of source code (which
>>     were presented during discovery) did not infringe on USL's copyright
>>     because they had become public domain by the actions of AT&T: AT&T
>>     had promoted UNIX as a standard, licensing it to universities and
>>     allowing UNIX source code to be published in textbooks. The
>>     University submitted briefs from the UC Berkeley students and staff,
>>     explaining how they had audited the code, looking for freely
>>     available copies of the source code and methods. When they could find
>>     none, they said, they removed the code and rewrote it using publicly
>>     known techniques.and so any remaining similarities existed because
>>     AT&T had effectively abandoned the copyright to them."
>>
>> Note (more details in the article) that one can lose copyright status.
>>
>> Also, that code (and presumably also prose) too similar to already
>> public domain code can't be copyrighted. So, BSD didn't have to
>> rewrite all the potentially infringing code if they could make a
>> case for it already being public, or close enough to public
>> domain code.
>>
>> Also interesting: http://en.wikipedia.org/wiki/Copyfraud
>>
>> -- glen
>>
> Also a very good read:
> http://softwarefreedom.org/resources/2007/originality-requirements.html
>

yep.

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