[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Using TinyCC with GPL
From: |
Rob Landley |
Subject: |
Re: [Tinycc-devel] Using TinyCC with GPL |
Date: |
Sun, 15 Jun 2008 21:16:19 -0500 |
User-agent: |
KMail/1.9.6 (enterprise 0.20070907.709405) |
On Friday 06 June 2008 15:34:41 Ivo wrote:
> If you use Rob Landley's fork, your application must be GPL as Rob switched
> to the GPL for all of tinycc.
Thanks for the FUD, but if you'd bothered to read the README:
> License:
> -------
>
> Tinycc is distributed under GPL version 2. (This is a specific version of
> the GPL, included in the file LICENSE in this tarball. It may not be
> distributed under later versions.)
>
> The license on tinycc does not apply to output files produced by tinycc
> (which are under whatever licenses the corresponding source files were
> under), nor does it affect the header files in the include directory (look
> up "Scenes a Faire" and the merger doctrine).
By your logic, #including standard headers out of /usr/include would make your
program GPL. For example, the glibc /usr/include/errno.h includes the glibc
bits/errno.h, which includes linux/errno.h which is a file taken from the
Linux kernel and licensed under GPLv2 (not LGPL). So any code that #includes
the standard header errno.h is sucking in source code from the Linux kernel
when it compiles.
If it worked that way then every program ever compiled for Linux would be GPL
version 2. There would be no binaries available under GPLv3, or the artistic
license, or mozilla license, or BSD, or any proprietary license.
Luckily, copyright law isn't that insane. (DMCA notwithstanding.) If your
program accesses functionality through a defined API, then that API acts as a
barrier to derived work status as far as copyright law is concerned. Not
only does your code not include any of the other program's code, but your
program is based on information contained in documentation (such as the C99
standard) and _not_ any specific implementation of what it documents. All
tinyinc.h contains is a pile of C99 symbols culled from other header files
(and ultimately from a standards document); as such it's probably not even
copyrightable because there's no creative element. (That would be the "look
up scenes a faire and the merger doctrine" part of the readme.)
More fundamentally, if you're using C as a scripting language, then you're not
even distributing your code as a binary, so you don't have to worry
about "tainting" your binary with other code used at compile time to produce
that binary. You're not _distributing_ a binary of your code, the
compilation occurs on the target machine, every character of the source file
_you_ are distributing was written by you.
The tinycc binary is copyrighted and licensed separately from your code, and
if you distribute that you have to abide by the license terms on that binary.
But the same is true of a perl or python interpreter. Starting your python
script with "import io, sys" doesn't suddenly mean your python script is
under the same license is the python runtime.
Rob
--
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.
- [Tinycc-devel] Using TinyCC with GPL, Yann Renard, 2008/06/06
- Re: [Tinycc-devel] Using TinyCC with GPL, Basile STARYNKEVITCH, 2008/06/06
- Re: [Tinycc-devel] Using TinyCC with GPL, Yann Renard, 2008/06/06
- Re: [Tinycc-devel] Using TinyCC with GPL, Ivo, 2008/06/06
- Re: [Tinycc-devel] Using TinyCC with GPL, Yann Renard, 2008/06/09
- Re: [Tinycc-devel] Using TinyCC with GPL,
Rob Landley <=
- Re: [Tinycc-devel] Using TinyCC with GPL, KHMan, 2008/06/15
- Re: [Tinycc-devel] Using TinyCC with GPL, Rob Landley, 2008/06/20
- Re: [Tinycc-devel] Using TinyCC with GPL, KHMan, 2008/06/20
- Re: [Tinycc-devel] Using TinyCC with GPL, Ivo, 2008/06/20
- Re: [Tinycc-devel] Using TinyCC with GPL, F . B ., 2008/06/06
- Re: [Tinycc-devel] Using TinyCC with GPL, Basile STARYNKEVITCH, 2008/06/06
- Re: [Tinycc-devel] Using TinyCC with GPL, Alexander Gladysh, 2008/06/09
- Re: [Tinycc-devel] Using TinyCC with GPL, Laurens Simonis, 2008/06/09