Tcl/Tk licensing - starpack distribution

55 views
Skip to first unread message

Christian Gollwitzer

unread,
Jul 13, 2021, 2:11:12 AMJul 13
to
Hi all,

I'm currently preparing the release of a software consisting of multiple
parts under GPL. The software will, in the end, consist of a starpack'ed
application. I am releasing the source code, and prepare Github Actions
to automatically create binaries for download.

I find it quite difficult to collect all the necessary 3rd party license
information for it. Most of the components are licensed under some sort
of BSD-like license - AFAIU this requires me to display the copyright
notice in an about dialog or similar.

The compiled tclkits do not usually include the licenses any longer,
they are not installed with "make install". Doesn't this go against the
BSD license? Tcl alone (with supporting pkgs) contains a long list of
these licenses:

(base) Apfelkiste:sources chris$ find tcl8.6/ -name license.terms
tcl8.6//compat/license.terms
tcl8.6//win/license.terms
tcl8.6//tests/license.terms
tcl8.6//library/license.terms
tcl8.6//license.terms
tcl8.6//pkgs/itcl4.2.1/license.terms
tcl8.6//pkgs/itcl4.2.1/doc/license.terms
tcl8.6//pkgs/tdbc1.1.2/license.terms
tcl8.6//pkgs/tdbcpostgres1.1.2/license.terms
tcl8.6//pkgs/thread2.8.6/license.terms
tcl8.6//pkgs/tdbcmysql1.1.2/license.terms
tcl8.6//pkgs/tdbcsqlite3-1.1.2/license.terms
tcl8.6//pkgs/tdbcodbc1.1.2/license.terms
tcl8.6//pkgs/sqlite3.34.0/license.terms
tcl8.6//macosx/license.terms
tcl8.6//doc/license.terms


Do I need to include all of these, and why are they left out from "make
install" in the first place?

I understand that noone will sue me if I forget to include one of these
files, but... since the software was developed for my employer, I need
to try hard to satisfy all the requirements.


Christian

Robert Heller

unread,
Jul 13, 2021, 7:15:42 AMJul 13
to
At Tue, 13 Jul 2021 08:11:07 +0200 Christian Gollwitzer <auri...@gmx.de> wrote:

>
> Hi all,
>
> I'm currently preparing the release of a software consisting of multiple
> parts under GPL. The software will, in the end, consist of a starpack'ed
> application. I am releasing the source code, and prepare Github Actions
> to automatically create binaries for download.
>
> I find it quite difficult to collect all the necessary 3rd party license
> information for it. Most of the components are licensed under some sort
> of BSD-like license - AFAIU this requires me to display the copyright
> notice in an about dialog or similar.

What *I* do with my Model RR System (also released as starpack'ed exeutables
under GPL), is to include the GNU Public License, converted to Doxygen and
then to HTML & PDF, and included as part of the on-line help and printable
reference manual. Then all of the GUI programs have a Help menu item on their
menubars and under Help are "On Copyright.." and "On Warranty..." items. Also,
every source file has a standardized copyright notice and there is a copy of
GPL (COPYING) in the toplevel of the source tree, that is included in the
source tarball (and zip) file. I believe this is sufficient.

(https://github.com/RobertPHeller/ModelRRSystem)

>
> The compiled tclkits do not usually include the licenses any longer,
> they are not installed with "make install". Doesn't this go against the
> BSD license? Tcl alone (with supporting pkgs) contains a long list of
> these licenses:
>
> (base) Apfelkiste:sources chris$ find tcl8.6/ -name license.terms
> tcl8.6//compat/license.terms
> tcl8.6//win/license.terms
> tcl8.6//tests/license.terms
> tcl8.6//library/license.terms
> tcl8.6//license.terms
> tcl8.6//pkgs/itcl4.2.1/license.terms
> tcl8.6//pkgs/itcl4.2.1/doc/license.terms
> tcl8.6//pkgs/tdbc1.1.2/license.terms
> tcl8.6//pkgs/tdbcpostgres1.1.2/license.terms
> tcl8.6//pkgs/thread2.8.6/license.terms
> tcl8.6//pkgs/tdbcmysql1.1.2/license.terms
> tcl8.6//pkgs/tdbcsqlite3-1.1.2/license.terms
> tcl8.6//pkgs/tdbcodbc1.1.2/license.terms
> tcl8.6//pkgs/sqlite3.34.0/license.terms
> tcl8.6//macosx/license.terms
> tcl8.6//doc/license.terms
>

These files are all contain the same text. There is no need to duplicate them.
Just make one copy of one of them in the toplevel of your source tree.

>
> Do I need to include all of these, and why are they left out from "make
> install" in the first place?

For esentually the same reason as the *source* code is left out of "make
install". When code is (traditionally) distributed in source form, the license
is part of the source code, not the binary, except as a brief (c) notice in
the splash screen and/or as part of the on-line help system and/or in the
documentation (man pages, info pages, PDF/HTML documentation, whatever). The
presumption with a source distributation is that the copyright and license are
stashed with the source code.

What is commonly done when creating a *binary* distribution, is including this
file (and / or the GPL COPYING file) in the binary tarball / ZIP / installer
program/script or package file (.deb, .rpm, .dmg, etc.). The tools that create
deb and .rpm files include a hook / field for the software license. Typical
installer programs / scripts will display some sort of copyright notice and /
or software license and may also put the software license terms, a README,
Changelog, etc. under /usr/share/doc/@PACKAGE@-@VERSION@/ on a Linux / UNIX
system (which would/could include MacOSX, iOS, Android, and ChromeOS -- I
don't know what the "tradition" [if any] is for MS-Windows). The Linux package
managers automatically do this, since the package files include this
information.

Again, you only need one copy.

>
> I understand that noone will sue me if I forget to include one of these
> files, but... since the software was developed for my employer, I need
> to try hard to satisfy all the requirements.
>
>
> Christian
>
>

--
Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364
Deepwoods Software -- Custom Software Services
http://www.deepsoft.com/ -- Linux Administration Services
hel...@deepsoft.com -- Webhosting Services

Reply all
Reply to author
Forward
0 new messages