GPL under MacOS and NewtonOS
Paul Guyot
pguyot at kallisys.net
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
sentence.
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.
Paul
--
Home page: http://www.kallisys.com/
Newton-powered WebServer: http://newt.dyndns.org:8080/
--
license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3
More information about the License-discuss
mailing list