[comp.sys.ibm.pc] Reason *not* to get new Borland "Turbo" releases

toma@tekgvs.GVS.TEK.COM (Tom Almy) (11/04/88)

The latest Turbo releases (C - 2.0, Pascal -5.0, Assembler -1.0)
contain a new clause in the licence agreement.

Was: "Programs that you write using [name of product] may be used, given
away or sold without additional license or fees".

Now: "Programs that you write using [name of product] may be used, given
away or sold without additional license or fees, as long as all copies of 
such programs bear a copyright notice.  By 'copyright notice,' we mean either
your own copyright notice or, if you prefer, the statment, "Created using 
[name of product], Copyright (c) Borland 1988.'"

So if you want to write a program for the public domain, you now have to
give Borland credit for their compiler.  No other compiler I now have
(and I have compilers from ten other companies) place that restriction.

Tom Almy
toma@tekgvs.TEK.COM
Standard Disclaimers Apply

bobmon@iuvax.cs.indiana.edu (RAMontante) (11/04/88)

In article <4203@tekgvs.GVS.TEK.COM> toma@tekgvs.GVS.TEK.COM (Tom Almy) writes:
>	[...]
>Now: "Programs that you write using [name of product] may be used, given
>away or sold without additional license or fees, as long as all copies of 
>such programs bear a copyright notice.  By 'copyright notice,' we mean either
>your own copyright notice or, if you prefer, the statment, "Created using 
>[name of product], Copyright (c) Borland 1988.'"
>
>So if you want to write a program for the public domain, you now have to
>give Borland credit for their compiler.  No other compiler I now have
>(and I have compilers from ten other companies) place that restriction.

First of all, the material Tom quoted DOES NOT require you to give
Borland credit.  It requires you to assert that SOMEBODY owns it, and
suggests you (the author) as first choice or Borland as a default.  The
only obvious effect of this requirement is to prevent the program from
going out as public domain -- which would allow anyone else to claim it,
including parts from Borland libraries, as their own creation and
property.  This seems like a very reasonable requirement to me.

Second of all, I can easily tell MS-generated C code from Borland-
generated C code; both of them *currently* put a "(C) copyright..."
string in the executable, without bothering to mention that they're
doing it.  In fact there was a flap a while ago on the net, in which
people were worried that Microsoft was claiming their code.  MS finally
came out and said the their copyright statement didn't preclude anyone
from distributing code that used their libraries, it just meant the
libraries couldn't be redistributed as such.  Maybe Borland has decided
to do away with the automatic string?

(third of all:  my opinion is based solely on the material Tom quoted; I
may have to eat some of my words once I get a look at my upgrade...)
-- 
--    bob,mon			(bobmon@iuvax.cs.indiana.edu)
--    "Aristotle was not Belgian..."	- A Fish Called Wanda

dhesi@bsu-cs.UUCP (Rahul Dhesi) (11/05/88)

In article <14725@iuvax.cs.indiana.edu> bobmon@iuvax.UUCP (RAMontante) writes:
>Second of all, I can easily tell MS-generated C code from Borland-
>generated C code; both of them *currently* put a "(C) copyright..."
>string in the executable, without bothering to mention that they're
>doing it.

Based on Turbo C 1.0 and Microsoft C 3.0, the story with this embedded
copyright notice is as follows.

Microsoft C has a null pointer check that is done when your program
terminates.  At that time the runtime library checks to see if the data
stored at location (char *)0 are still unchanged.  If they are not, the
runtime prints a "Null pointer reference" message before exiting.  At
location (char *)0 something has to be there to look at, and the
Microsoft library contains a module that contains Microsoft's copyright
message at that location.

If you add your own null pointer checking fuction (I think it's
called _nullcheck()), then that copyright message won't be loaded
and you will save about 128 bytes:

     _nullcheck() {}

Smart programmers do this to make their executable code a little
smaller, provided they have carefully debugged it to remove the
possibility of a null pointer reference.  There's nothing illegal about
doing this, and a careful reading of the manual actually tells you how
to do this.

Borland's Turbo C 1.0 does not load the copyright message in the same
manner.  The copyright message is in the start-up code.  There's
nothing preventing you from re-assembling the startup module without
the copyright notice; the manual says nothing about this being wrong or
illegal.  And if you write your own start-up module, you would
naturally not want Borland's copyright message in it at all.

The above discussion has nothing to do with whether Borland's new
policy is good or bad.
-- 
Rahul Dhesi         UUCP:  <backbones>!{iuvax,pur-ee}!bsu-cs!dhesi

jnp@calmasd.GE.COM (John Pantone) (11/05/88)

(Tom Almy) writes:
  >... Borland's license agreement omitted ...
  >So if you want to write a program for the public domain, you now have to
  >give Borland credit for their compiler.  No other compiler I now have
  >(and I have compilers from ten other companies) place that restriction.

Not the compiler, Tom, the runtime library - which of course was
written by them and is now incorporated into your product.

Quite a few companies do this - and it seems rather reasonable,
actually.  After all - they wrote a piece of software, and are simply
asking that their property is properly protected; they aren't
unreasonably burdening anyone.  If you produce commercial software,
you should copyright it anyway - in which case Borland's name need not
show up anywhere (your copyright is sufficient to protect their
interests).

If you produce "freeware" you must simply include a copyright
statement displayed by the executable (source needn't bear such a
copyright statement - since source hasn't any connection to the
Borland runtime library.

The GNU software has a similar requirement (actually more
restrictive), as does Symantec's Lightspeed C (Macintosh). If
Microsoft doesn't have it already - you can bet they will soon.

Caveat: I have no connections to Borland, Symantec, GNU (Free software
foundation?), nor Microsoft. I am not a lawyer.
-- 
These opinions are solely mine and in no way reflect those of my employer.  
John M. Pantone @ GE/Calma R&D, 9805 Scranton Rd., San Diego, CA 92121
...{ucbvax|decvax}!sdcsvax!calmasd!jnp   jnp@calmasd.GE.COM   GEnie: J.PANTONE

chasm@killer.DALLAS.TX.US (Charles Marslett) (11/05/88)

In article <4203@tekgvs.GVS.TEK.COM>, toma@tekgvs.GVS.TEK.COM (Tom Almy) writes:
(program licensing requirements changed)
> Now: "Programs that you write using [name of product] may be used, given
> away or sold without additional license or fees, as long as all copies of 
> such programs bear a copyright notice.  By 'copyright notice,' we mean either
> your own copyright notice or, if you prefer, the statment, "Created using 
> [name of product], Copyright (c) Borland 1988.'"
> 
> So if you want to write a program for the public domain, you now have to
> give Borland credit for their compiler.  No other compiler I now have
> (and I have compilers from ten other companies) place that restriction.
> 
The Microsoft compilers I own (except for perhaps 5.0 and 5.1 -- I haven't
checked the license agreements in the last year or so) and the Lattice C
compiler have very similar requirements.  And I cannot find my WATCOM
licensing agreement, but I believe it is even more stringent in its
requirements.

In any case, source code need not have anything added, and with most of
the compilers I know of that come with requirements of copyright notices
the runtime library inserts them in the code behind your back.

The only compiler I have ever used (other than those covered by nasty
mainframe licensing agreements I never even saw, but that applied anyway)
that did not have some similar requirement was the C86 compiler by
Computer Innovations (and they may have started doing this since then --
I used C86 back when I first bought my Heathkit computer 3 or 4 years ago).

On the other hand, look at FSF's Bison and GCC licenses -- no flame intended,
they are trying to keep from being ripped off just like Borland, and in the
process of bending over backwards to be nice wound up with a legalese mess
that sounds terrible (but lets you do almost anything except rip off FSF or
the public at large).

Also, note that "a" copyright notice is required, not "Borland"s copyright
notice -- I believe this it to avoid a legal problem with Borland's runtime
library becoming public domain if distributed as part of a public domain
program.  And if you do not use the Borland runtime library (say by building
code for Minix -- with your own long divide routines, etc) even that requirement
disappears.

Sorry for being so longwinded, but we have gone through this discussion
several times and the problem cannot be significant (if it is really public
domain, release the source, and if not, then its OK with your own copyright
-- or Borland will probably let your trade-secret agreement substitute (any
comment from someone from Borland?)).

> Tom Almy
> toma@tekgvs.TEK.COM
> Standard Disclaimers Apply


Charles Marslett
STB Systems, Inc.          <-- apply all standard disclaimers
chasm@killer.dallas.tx.us

Devin_E_Ben-Hur@cup.portal.com (11/05/88)

> The latest Turbo releases (C - 2.0, Pascal -5.0, Assembler -1.0)
> contain a new clause in the licence agreement.
> 
> Was: "Programs that you write using [name of product] may be used, given
> away or sold without additional license or fees".
> 
> Now: "Programs that you write using [name of product] may be used, given
> away or sold without additional license or fees, as long as all copies of 
> such programs bear a copyright notice.  By 'copyright notice,' we mean either
> your own copyright notice or, if you prefer, the statment, "Created using 
> [name of product], Copyright (c) Borland 1988.'"
> 
> So if you want to write a program for the public domain, you now have to
> give Borland credit for their compiler.  No other compiler I now have
> (and I have compilers from ten other companies) place that restriction.
> 
> Tom Almy
> toma@tekgvs.TEK.COM
> Standard Disclaimers Apply

   They don't require you to display the copyright, simply to bear it.
This means the copyright notice must be readably embedded in your binary
image; not that you have to advertise their compiler with your program.
Seems to me that they are making a perfectly reasonable attempt to prevent
you from releasing their library code into the public domain. I hardly
consider this a barrier to fair use of the compiler.

Devin_Ben-Hur@cup.portal.com    (port-hole-flames > /nev/dull)
...!ucbvax!sun!cup.portal.com!devin_e_ben-hur

nelson@sun.soe.clarkson.edu (Russ Nelson) (11/05/88)

In article <14725@iuvax.cs.indiana.edu> bobmon@iuvax.cs.indiana.edu (RAMontante) writes:

   Second of all, I can easily tell MS-generated C code from Borland-
   generated C code; both of them *currently* put a "(C) copyright..."
   string in the executable, without bothering to mention that they're
   doing it.  ...  Maybe Borland has decided
   to do away with the automatic string?

No, they haven't.  It's right there at offset 0 in the data segment.  They
use it to check for null pointers.  If it changes, then you get the
"Null pointer assignment" error when you exit().
--
--russ (nelson@clutx [.bitnet | .clarkson.edu])
To surrender is to remain in the hands of barbarians for the rest of my life.
To fight is to leave my bones exposed in the desert waste.

jec@nesac2.UUCP (John Carter ATLN SADM) (11/06/88)

In article <4203@tekgvs.GVS.TEK.COM>, toma@tekgvs.GVS.TEK.COM (Tom Almy) writes:
] The latest Turbo releases (C - 2.0, Pascal -5.0, Assembler -1.0)
] contain a new clause in the licence agreement.
] 
] Was: "Programs that you write using [name of product] may be used, given
] away or sold without additional license or fees".
] 
] Now: "Programs that you write using [name of product] may be used, given
] away or sold without additional license or fees, as long as all copies of 
] such programs bear a copyright notice.  By 'copyright notice,' we mean either
                     ^^^^^^^^^^^^^^^^^^                                  ^^^^^^
] your own copyright notice or, if you prefer, the statment, "Created using 
  ^^^^^^^^^^^^^^^^^^^^^^^^^ **
] [name of product], Copyright (c) Borland 1988.'"
] 
] So if you want to write a program for the public domain, you now have to
                                                           ^^^^^^^^^^^^^^^
] give Borland credit for their compiler.  No other compiler I now have
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
] (and I have compilers from ten other companies) place that restriction.
] 
] Tom Almy
] toma@tekgvs.TEK.COM
] Standard Disclaimers Apply

**  Sorry, Tom, but I see NO requirement to use Borland's name, just a 
    requirement for "a copyright notice".

-- 
USnail: John Carter, AT&T, 401 W. Peachtree, FLOC 2932-6, Atlanta GA 30308
Video:	...att!nesac2!jec    Voice: 404+581-6239
The machine belongs to the company.  The opinions are mine.

brb@akgua.ATT.COM (Brian R. Bainter) (11/07/88)

From article <4203@tekgvs.GVS.TEK.COM>, by toma@tekgvs.GVS.TEK.COM (Tom Almy):
> The latest Turbo releases (C - 2.0, Pascal -5.0, Assembler -1.0)
> contain a new clause in the licence agreement.
> 
> Was: "Programs that you write using [name of product] may be used, given
> away or sold without additional license or fees".
> 
> Now: "Programs that you write using [name of product] may be used, given
> away or sold without additional license or fees, as long as all copies of 
> such programs bear a copyright notice.  By 'copyright notice,' we mean either
> your own copyright notice or, if you prefer, the statment, "Created using 
> [name of product], Copyright (c) Borland 1988.'"

I think that we need a little clarification here. As has been with Turbo C
1.0 - 1.5 at least as far as I am aware, there has always been a Borland
copyright notice put in to the data section of each and every .EXE or .COM
program produced. I don't see what the difference is. Besides, whenever I
write a program, PD or not, I always include a copyright notice in it. I
am usually fairly proud of the programs that I produce.

In other words, BIG DEAL!

A copyright notice does not exclude the public from copying a program if
the notice gives permission to do so.

Brian,

-- 
	Brian R. Bainter   KA7TXA

 AT&T Technologies Atlanta Works
 {gatech, att}akgua!brb

toma@tekgvs.GVS.TEK.COM (Tom Almy) (11/07/88)

It looks like some clarification is in order.

1). The license agreement does not refer to the runtime libraries at all,
    just use of the compiler (or assembler).  In particular, a program
    written in assembly language and assembled using TASM would still be
    required to have the copyright notice.

2). The other vendors do not require that I put a copyright notice in my
    product, and Borland didn't in their older versions.  All the vendors
    place copyright notices in their runtime libraries.  Borland requries
    the copyright notice even if their runtime is not incorporated.


Also, another gripe, my re-compiled Version 2.0 programs are all 1-2k larger
than the 1.5 versions.  They aren't any faster either.  The only thing I
seemed to have bought is the debugger (which is great, I don't have to give
them credit if I use it :-).  For the "final compilation" I can always fall
back on 1.5, and use MASM for my assembly language programs.

Tom Almy
toma@tekgvs.tek.com
Standard Disclaimers Apply

ttp@beta.lanl.gov (T T Phillips) (11/08/88)

In article <4203@tekgvs.GVS.TEK.COM>, toma@tekgvs.GVS.TEK.COM (Tom Almy) writes:
> By 'copyright notice,' we mean either
> your own copyright notice or, if you prefer, the statment, "Created using 
> [name of product], Copyright (c) Borland 1988.'"
> 
> So if you want to write a program for the public domain, you now have to
> give Borland credit for their compiler.

The way I read this, you can just put in your own copyright, you
do not need to acknowledge Borland.  An adequate copyright
notice might be:

Copyright (c) Tom Almy, 1988

dhesi@bsu-cs.UUCP (Rahul Dhesi) (11/08/88)

In article <4227@tekgvs.GVS.TEK.COM> toma@tekgvs.GVS.TEK.COM (Tom Almy) writes:
>The license agreement does not refer to the runtime libraries at all,
>just use of the compiler (or assembler).  In particular, a program
>written in assembly language and assembled using TASM would still be
>required to have the copyright notice.

Borland is too smart to do this (or so I hope).  There is absolutely no
legal precedent for the compiler writer to claim a copyright on the
output of a compiler.  Since shrink-wrap license agreements have no
legal validity, I doubt that Borland would try to bind you to something
meaningless.  The only basis for a copyright claim can be that your C
program contains the library code that Borland owns.  If you own a
legal copy of the compiler, don't use Borland's library, *and* if you
write your own start-up code, you don't owe Borland a thing (except a
big thank-you for creating the bargain of the century in Turbo C).
-- 
Rahul Dhesi         UUCP:  <backbones>!{iuvax,pur-ee}!bsu-cs!dhesi

pritch@tut.cis.ohio-state.edu (Norm Pritchett) (11/09/88)

In article <4203@tekgvs.GVS.TEK.COM> toma@tekgvs.GVS.TEK.COM (Tom Almy) writes:
>The latest Turbo releases (C - 2.0, Pascal -5.0, Assembler -1.0)
>contain a new clause in the licence agreement.
>
>Was: "Programs that you write using [name of product] may be used, given
>away or sold without additional license or fees".
>
>Now: "Programs that you write using [name of product] may be used, given
>away or sold without additional license or fees, as long as all copies of 
>such programs bear a copyright notice.  By 'copyright notice,' we mean either
>your own copyright notice or, if you prefer, the statment, "Created using 
>[name of product], Copyright (c) Borland 1988.'"
>


There's no problem here.  If they want you to put your own copyright
notice in it go ahead.  All a copyright basically does is give the
author these rights:

	1) To claim that he wrote it.
	2) To lay terms on how it may be used.
	3) To lay terms on how it must be distributed.

The copyright laws do not mandate that #2 and #3 must be restrictive.
Simply have your copyright notice claim yourself as the author and
allow for unrestricted use and distribution.  The only thing that
this copyright prevents over a public domain release is that a
consumer can no longer claim he wrote it.  I personally use a slightly
more restrictive copyright notice on my software: I simply don't allow
it to be distributed by others for profit.





-- 

Norm Pritchett, The Ohio State University College of Engineering Network
Internet: pritchett@eng.ohio-state.edu	BITNET: TS1703 at OHSTVMA
UUCP: pritch@sydney.columbus.oh.us	CCNET: ENG::PRITCHETT (6172::PRITCHETT)