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

