Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFC] Add expat to the GDB sources
Date: Mon, 31 Jul 2006 17:33:00 -0000	[thread overview]
Message-ID: <20060731173312.GA10875@nevyn.them.org> (raw)
In-Reply-To: <200607242229.k6OMTR1a022831@elgar.sibelius.xs4all.nl>

On Tue, Jul 25, 2006 at 12:29:28AM +0200, Mark Kettenis wrote:
> > But, where does this philosophy end?  Are you *really* advocating that
> > every shipping package should include the source code of any libraries
> > that they use?  So gdb should also include ncurses?
> 
> The philosophy has always been that one should be able to build a GNU
> toolchain without any external dependencies, to be able to bootstrap
> into a situation wher you can use the toolchain to build other Free
> Software.

(I don't think toolchain in this sense includes GDB.)

Before I work on alternatives for using expat, which I'll be doing
later this afternoon, let me update us on the GNU philosophy on such
issues:

http://www.gnu.org/prep/maintain/html_node/External-Libraries.html#External-Libraries

(quoted below)

While this is not explicit, RMS has made clear that he also disapproves
of GNU packages including other GNU packages without special permission
permission from the FSF, especially if they have local modifications.
Which we do.  We have our own fork of readline.

Examples:
  - Fastjar was removed from GCC by FSF request; this is an equivalent
    issue to expat.  So we should not bundle expat.
  - libgcc-math was removed from GCC by FSF request, because it
    duplicated and slightly modified code from glibc; I believe this
    is equivalent to readline.
  - Soft-fp code from GCC was imported for use in the GCC runtime
    libraries on non-glibc systems, but only after direct permission
    from RMS.

I realize this is somewhat inconvenient for users of GDB, but I think
that if we asked the FSF, they would request we stop bundling readline,
and not bundle expat.

As for optional versus required, I don't think there's a relevant FSF
position.  However, I very much wanted to use the XML target
descriptions in some cases to replace the C-coded ones.  So obviously
I prefer to require expat.

====
So the thing to do in this case is to make your program use the module,
but not consider it a part of your program. There are two reasonable
methods of doing this:

   1. Assume the module is already installed on the system, and use it
when linking your program. This is only reasonable if the module really
has the form of a library.
   2. Include the module in your package, putting the source in a
separate subdirectory whose README file says, This is not part of the
GNU FOO program, but is used with GNU FOO. Then set up your makefiles
to build this module and link it into the executable.

      For this method, it is not necessary to treat the module as a
library and make a .a file from it. You can link with the .o files
directly in the usual manner. 

Both of these methods create an irregularity, and our lawyers have told
us to minimize the amount of such irregularity. So consider using these
methods only for general-purpose modules that were written for other
programs and released separately for general use. For anything that was
written as a contribution to your package, please get papers signed.
====

-- 
Daniel Jacobowitz
CodeSourcery


  parent reply	other threads:[~2006-07-31 17:33 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-18 13:40 Daniel Jacobowitz
2006-07-18 13:57 ` Daniel Jacobowitz
2006-07-21  0:35   ` Joel Brobecker
2006-07-21  0:39     ` Daniel Jacobowitz
2006-07-21  0:45       ` Joel Brobecker
2006-07-23 21:52   ` Mark Kettenis
2006-07-23 22:03     ` Daniel Jacobowitz
2006-07-23 22:40 ` Christopher Faylor
2006-07-23 22:57   ` Daniel Jacobowitz
2006-07-23 23:13     ` Christopher Faylor
2006-07-24  0:17       ` Daniel Jacobowitz
2006-07-23 23:15     ` Pedro Alves
2006-07-23 23:18   ` Mark Kettenis
2006-07-24  0:15     ` Daniel Jacobowitz
2006-07-24  6:20     ` Joel Brobecker
2006-07-24 15:30       ` Christopher Faylor
2006-07-24 15:50         ` Daniel Jacobowitz
2006-07-24 16:37           ` Christopher Faylor
2006-07-24 21:58             ` Mark Kettenis
2006-07-24 19:50           ` Eli Zaretskii
2006-07-24 19:52             ` Daniel Jacobowitz
2006-07-24 20:29               ` Eli Zaretskii
2006-07-24 20:36                 ` Daniel Jacobowitz
2006-07-24 15:24     ` Christopher Faylor
2006-07-24 19:47       ` Eli Zaretskii
2006-07-24 19:51         ` Daniel Jacobowitz
2006-07-24 20:22           ` Christopher Faylor
2006-07-24 20:29           ` Eli Zaretskii
2006-07-24 20:43             ` Daniel Jacobowitz
2006-07-24 21:42             ` Christopher Faylor
2006-07-24 22:18               ` DJ Delorie
2006-07-24 22:29               ` Mark Kettenis
2006-07-24 22:34                 ` Daniel Jacobowitz
2006-07-24 22:37                   ` Daniel Jacobowitz
2006-07-25  0:36                     ` Christopher Faylor
2006-07-24 22:49                   ` Mark Kettenis
2006-07-24 23:41                     ` Daniel Jacobowitz
2006-07-25  0:47                 ` Christopher Faylor
2006-07-31 17:33                 ` Daniel Jacobowitz [this message]
2006-07-31 20:24                   ` Daniel Jacobowitz
2006-07-31 20:39                     ` Christopher Faylor
2006-07-31 21:33                     ` Mark Kettenis
2006-08-01  0:42                       ` Daniel Jacobowitz
2006-08-01  1:01                         ` Daniel Jacobowitz
2006-07-24 22:08       ` Mark Kettenis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060731173312.GA10875@nevyn.them.org \
    --to=drow@false.org \
    --cc=gdb-patches@sourceware.org \
    --cc=mark.kettenis@xs4all.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox