From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3706 invoked by alias); 23 Apr 2012 21:46:39 -0000 Received: (qmail 3692 invoked by uid 22791); 23 Apr 2012 21:46:36 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-wi0-f171.google.com (HELO mail-wi0-f171.google.com) (209.85.212.171) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 23 Apr 2012 21:46:22 +0000 Received: by wibhj13 with SMTP id hj13so2516298wib.12 for ; Mon, 23 Apr 2012 14:46:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding:x-gm-message-state; bh=cm4zSuOSpRQevoPMiVY5SFLvG+i7sYxRmWW7leLnckk=; b=RTeit5QadtFXm2HpvHHAuJDYarjQKLhReOGcEHSdDEDhQdV2Cn9k44I5FgGiG+jHMC Lz0pOqJL/V9DmzPHdzTtjCejlNNtIEVgwDVIOGSM8b/rLCN/8GbxnrAamyfIAREm47kt EYsy56JSs5gKvGNroCJ6yvnQ3Ug7QYX7QxemA+AfC3EXQLW2gkeBIUoIDH2iUcNChuZr 6GfS65oIktjYNOR5juF9jY/KcG0G+y/sV6NrXvk++3Dd3QlEj4ysmoR43SdOF0584Su2 vWzPmAB2cKRYsZXUwL+jP4UUZs9U2d+X8TJWWgz6VodVlm5Tv3Ye3sncL+UtVdMdqB6B tLGg== Received: by 10.180.97.4 with SMTP id dw4mr16644383wib.18.1335217581459; Mon, 23 Apr 2012 14:46:21 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.48.135 with HTTP; Mon, 23 Apr 2012 14:45:59 -0700 (PDT) In-Reply-To: <201204231919.32752.yann.morin.1998@free.fr> References: <4F911B40.3000002@atmel.com> <201204231919.32752.yann.morin.1998@free.fr> From: Michael Hope Date: Mon, 23 Apr 2012 21:46:00 -0000 Message-ID: Subject: Re: License text in finished built toolchain? To: "Yann E. MORIN" Cc: crossgcc@sourceware.org, Per-Arnold.Blaasmo@atmel.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQkdpVXexwQqEFE+ULQCXcwGQhKQDcWSIy74QORlKauFNsWyC15Xzub3gRuD1k9/LnbItmGo X-IsSubscribed: yes Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org X-SW-Source: 2012-04/txt/msg00034.txt.bz2 On 24 April 2012 05:19, Yann E. MORIN wrote: > Per, All, > > Firts off, the usual disclaimer: I am not a lawyer, you should consult a > competent lawyer and/or your company's legal departement for definitive > advice. > > On Friday 20 April 2012 10:16:00 Per Arnold Blaasmo wrote: >> If I use Crosstool-ng to build a GNU Toolchain and redistribute that >> with my own product. >> >> Do we need to have the license files in the finished build tree? > > That's my understanding that the license texts for GPL and LGPL components > be made available alongside with the distributed binaries. The same goes > with the license texts for the BSD-like components. > > Whether you want to include these license texts in the same archive (a > tarball or any other packaging of your choice), or as files residing > side-by-side with the distributed archive, is up to you to decide. > > I for one would suggest that you bundle in the same archive, because: > =A0- you have the guarantee that the recipient of the archive does get > =A0 =A0the license texts, without requiring additional downloads; > =A0- if you distribute the archive on a physical medium, you are sure > =A0 =A0that the license texts wil actually *be* on the distribution mediu= m; > =A0- the license texts will follow any subsequent distribution of the > =A0 =A0archive, if the recipient chooses to do so. > >> Should crosstool-ng copy those in to the finished tree? > > That's my opinion that crostool-NG should *not* do that automatically > for you. There are a few reasons for my position: > =A0- you and/or your lawyer have to fully understand the licensing terms > =A0 =A0of each component, and decide and your own what those licenses imp= ly; > =A0- some components are multi-licensed; for example part of gcc are > =A0 =A0GPLv3+ while some other parts are LGPLv3+; > =A0- the licensing terms for a specific component may vary with the > =A0 =A0version of this component; for example gcc 4.2 and earlier were GP= Lv2+ > =A0 =A0and LGPv2.1+, while gcc 4.3 and later are GPLv3+ and LGPLv3+; > =A0- the licensing terms may change depending on the options you used > =A0 =A0when building the toolchain (I do not have a example coming to mind > =A0 =A0right now); > =A0- you anyway have to make available the complete and corresponding sou= rce > =A0 =A0code for the components that are used in the toolchain (at least t= hose > =A0 =A0that are under copyleft licenses, such as GPL or LGPL). > > So, in theory, crosstool-NG *could* copy some of the license texts for yo= u, > but you would always have to manually check that the correct licenses have > been copied, and that nothing was missing, and that a license text that d= oes > not apply was not copied. > >> What about crosstool-ng's license? >> Do we need to add that to the finished built toolchain? > > This is a tricky question. > > The toolchain is generated by crosstool-NG, so the license of crosstool-NG > does *not* apply to the toolchain (the same way that the license of gcc > does not apply to the binary generated by gcc). > > However, the license of crosstool-NG explicitly states that crostool-NG is > what the GPL names "scripts used to control compilation and installation > of the executable." In my understanding, for example in the gcc context, > this sentence applies to the scripts used to build gcc. I believe that > crosstool-NG is what the GPL refers to in the sentence quoted above. > > So, it is my understanding that, if you distribute a toolchain built with > crosstool-NG, you have to pass the complete and corresponding source code > for the crosstool-NG you used to build said toolchain. > > Also, it is my understanding that the crosstool-NG's .config file is part > of the afore-mentioned scripts, and that you have to distribute it as if > it were part of crosstool-NG. This is already done automatically for you > by crosstool-NG, which installs the script bin/.ct-ng.config in > the toolchain install directory. > > Also, do not forget that some components in the toolchain may also use a > .config-like file; for example uClibc has a .config file, so you must > provide it along with the uClibc sources, and eglibc can use config files > which you also must provide with eglibc's sources. > > So, with respect to crosstool-NG, I would suggest that you put the archive > of the crosstool-NG you used, prominently side-by-side with the archive > of the toolchain you distribute. > > You may of course decide to distribute a single archive with everything in > it: > =A0- the toolchain, in binary form > =A0- the crosstool-NG sources > =A0- the crosstool-NG's .config > =A0- the components' complete and corresponding source codes > =A0- the many license texts For reference, we distribute: * The binaries themselves * A tarball holding all source tarballs used in the build * The crosstool-NG scripts used to build them * A README that covers reproducing the binaries using the source tarballs and build scripts * Enough information to reproduce the build host * The full license text of all licenses as a page in the installer We handle the .config problem via samples: the 'linaro-arm-linux-gnueabi' sample holds the config used to build the binary. See: https://launchpad.net/linaro-toolchain-binaries/+download We should start including the licenses in $doc as well. -- Michael -- For unsubscribe information see http://sourceware.org/lists.html#faq