GPL under MacOS and NewtonOS

Paul Guyot pguyot at
Sun Nov 11 07:00:30 UTC 2001

Hi all,

Still on Sunday morning issues.

I have an interpretation of the GPL and I would love to be proved 
wrong because it makes the use of a lot of open source code 
impossible on NewtonOS.

It's about this paragraph of section 3:

>The source code for a work means the preferred form of the work for 
>making modifications to it. For an executable work, complete source 
>code means all the source code for all modules it contains, plus any 
>associated interface definition files, plus the scripets used to 
>control compilation and installation of the executable. However, as 
>a special exception, the source code distributed need not include 
>anything that is normally distributed (in either source or binary 
>form) with the major components (compiler, kernel, and so on) of the 
>operating system on which the executable runs, unless that component 
>itself accompanies the executable.

There are three sentences here. No problem with the first.
The second doesn't explicitly says if one needs to put the compiler 
(it doesn't seem to be a script) or the libraries (although it talks 
about modules it contains, what is a module?) and we don't know with 
what the interface definition files interfaces with. We could live in 
this ethereal world and everything would be fine without third 
My big problem is indeed that the third sentence talks about things 
that are distributed with the compiler (which may be a major 
component of the operating system) and I'm talking here about 
operating systems which don't come with a compiler or required 
libraries or interface files.

Let's consider three cases:
a/ MacOS and Metrowerks CodeWarrior commercial development suite.
I think you will agree with me that this isn't a component of the 
operating system, isn't it?
b/ MacOS and MPW (Macintosh Programmer's Workshop) once commercial 
now freely downloadable development suite by Apple. Is this a 
component of the operating system? You don't need it to run the 
system, it's not distributed with it and additionally, you can't 
redistribute it.
c/ NewtonOS and NewtonOS development tools (which are: (a) NTK, once 
commercial, now freely downloadable and (b) MPW and (c) tools for 
MPW, you need all these elements to write native code). Is this a 
component of the operating system? It doesn't even run on the 
operating system. (and you can't redistribute it neither).

Let's talk about modules now. What is a module which therefore must 
be released in source form:
a/ Metrowerks PowerPlant C++ Framework. You can write a software 
within minutes with that and with their sample code, the Framework is 
about 1 MB and your code about 4 KB. Isn't this a module?
Additionally, isn't this required to make modifications to the covered work?
b/ Apple's runtime libraries. These aren't included with the OS (I 
still mean < X) but with both development systems (Metrowerks CW and 
MPW) and they can be downloaded.
b'/ Apple's glue libraries. Used to call APIs
b''/ Apple's TEC for 68K. TEC - Text Encoding Conversion is a library 
to convert between encodings (e.g. ISO 8859-X, Unicode). It's a 
shared library for PPC, provided with the OS. The 68K version is a 
static library which was never provided with the OS.
c/ NewtonOS platform files. It's the runtime plus some glue code 
(including code solving APIs changes between versions of the OS) plus 
some static code (equivalent to b + b' + b''). The difference is that 
you can't build a NewtonOS software with NTK without one of these 
(there's one per version of the OS). Also, this file can only be used 
on MacOS or Windows.
c'/ NewtonOS C++ runtime & glue libraries.

I can't see big differences between a, b and c situations in both 
cases. The trouble is that it makes the port of GPL code to NewtonOS. 
We got a VNC client recently (but there is also a VNC client based on 
Metrowerks PowerPlant).

Here's another question about this VNC client. Theoretically, the 
copyright protects the form, not the idea (cf Gone with the Wind vs 
The Blue Bicycle case - 1989). What if a source code is adapted from 
a language (here C) to another (here NewtonScript). I wonder if it is 
like a translation of a work in the meaning of the Berne Convention 
as the two languages are VERY different (NewtonScript is a 
prototype-based programming language).

Now, I'm sorry if I bring a well known issues here. If you have any 
pointer on places where they are discussed, I'll take it. But in any 
case, I'd like to have your wise point of view.

Home page:
Newton-powered WebServer:
license-discuss archive is at

More information about the License-discuss mailing list