unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Richard Stallman <rms@gnu.org>
To: Po Lu <luangruo@yahoo.com>
Cc: eliz@gnu.org, emacs-devel@gnu.org, larsi@gnus.org,
	stefankangas@gmail.com
Subject: Re: master 3d38d1d: Add sqlite3 support to Emacs
Date: Sat, 11 Dec 2021 22:59:53 -0500	[thread overview]
Message-ID: <E1mwG1h-0006A8-LM@fencepost.gnu.org> (raw)
In-Reply-To: <87y24r33bn.fsf@yahoo.com> (message from Po Lu on Sat, 11 Dec 2021 17:20:44 +0800)

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > >> So I think we should check that the .so file passed to
  > >> `sqlite-load-extension' as the `module' argument contains a GPL
  > >> compatibility symbol before allowing SQLite to load it, similar to what
  > >> we do with Emacs modules.

  > > Would you like to prepare a patch to that effect, please?

  > I would be willing to, but only if someone from a higher authority says
  > it's necessary,

It's absolutely necessary.  Emacs should not be a base for nonfree
extensions.

                    and provides some details: for instance, should the
  > symbol be named `plugin_is_GPL_compatible', or something like
  > `plugin_is_free_software' (as SQLite3 is public domain instead of under
  > the GPL).

I don't know anything technically about sqlite3, so I can't begin
to think about how to implement this, and I'm not sure what your
suggestions really mean.

What I do know is this: the crucial question is not what name that
symbol should have, but rather, Which programs need to define it?
Are you proposing to modify the free plug-ins to define this symbol,
and make sqlite3 itself check for it?

We really should have addressed this _before_ putting sqlite3 into the
Emacs repository at all.

Alexandre Garreau <galex-713@galex-713.eu> wrote:

  > It should reuse what gcc does to load its plugins.  GCC asks for a such 
  > symbol to check the plugins are GPLv3-compatible.

That's a good thing to do, but note that every plugin for GCC was
written specifically for dynamic linking with GCC.  The plugin's
developers define ths symbols to be checked.

If we put the same mechanism into a modified sqlite3 -- let's call it
"GNUish sqlite3" -- we will need to make GNUish modified versions of
the plug-ins as well.

Maybe that's not a lot of work.  How many free plug-ins are there?

  > The question here is what to do with SQLite plugins, which are specific
  > to SQLite and not Emacs, and are not legally required to be
  > GPLv3-compatible.

Can we make Emacs load the plug-in, and check for the symbol,
then arrange for sqlite3 to talk with it?

We would need to prevent sqlite3 from loading plug-ins itself.
But I think that all designs require some sort of change to
sqlite3, because what it's designed to do is not acceptable as it stands.
I see no way around the need to change sqlite3.

Stefan Monnier wrote:

  > Intuitively, I think `plugin_is_GPL_compatible` is right: when sqlite is
  > linked with Emacs, the whole becomes GPLv3+, so in order for sqlite's
  > plugins to be compatible with that they too need to be compatible with
  > GPLv3+.

I think you're right.  That seems to settle the question of what name to use.
But we still have to deal with how to design this code to work.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





  parent reply	other threads:[~2021-12-12  3:59 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20211211035614.15517.53830@vcs0.savannah.gnu.org>
     [not found] ` <20211211035616.984DD20A0A@vcs0.savannah.gnu.org>
2021-12-11  4:17   ` master 3d38d1d: Add sqlite3 support to Emacs Stefan Kangas
2021-12-11  5:00     ` Po Lu
2021-12-11  5:29       ` Lars Ingebrigtsen
2021-12-11  6:56         ` Po Lu
2021-12-11  7:14           ` Lars Ingebrigtsen
2021-12-11  7:04       ` Po Lu
2021-12-11  8:50         ` Eli Zaretskii
2021-12-11  9:20           ` Po Lu
2021-12-11 11:09             ` Eli Zaretskii
2021-12-11 12:36             ` Alexandre Garreau
2021-12-11 12:49               ` Po Lu
2021-12-11 12:57                 ` Alexandre Garreau
2021-12-11 13:29                   ` Po Lu
2021-12-11 13:45                     ` Alexandre Garreau
2021-12-11 13:51                   ` Eli Zaretskii
2021-12-11 13:55                     ` Alexandre Garreau
2021-12-11 16:47                       ` Eli Zaretskii
2021-12-11 14:26             ` Stefan Monnier
2021-12-12  3:59             ` Richard Stallman [this message]
2021-12-12  4:46               ` Po Lu
2021-12-13  3:44                 ` Richard Stallman
2021-12-13  4:01                   ` Lars Ingebrigtsen
2021-12-14  4:12                     ` Richard Stallman
2021-12-14  4:36                       ` Po Lu
2021-12-14  7:23                         ` Lars Ingebrigtsen
2021-12-14  7:40                           ` Po Lu
2021-12-14  8:30                             ` Lars Ingebrigtsen
2021-12-14  9:16                               ` Po Lu
2021-12-14 10:27                                 ` Lars Ingebrigtsen
2021-12-14 13:12                                   ` Eli Zaretskii
2021-12-14 13:15                                     ` Lars Ingebrigtsen
2021-12-14 13:38                                       ` Eli Zaretskii
2021-12-14 23:41                                         ` Andy Moreton
2021-12-15 14:53                                           ` Eli Zaretskii
2021-12-15  5:15                             ` Richard Stallman
2021-12-15  7:07                               ` Lars Ingebrigtsen
2021-12-15  7:17                                 ` Contradictiory directions (Was: Re: master 3d38d1d: Add sqlite3 support to Emacs) Po Lu
2021-12-15  7:23                                   ` Contradictiory directions Lars Ingebrigtsen
2021-12-15  7:36                                     ` Po Lu
2021-12-15  7:41                                       ` Lars Ingebrigtsen
2021-12-15  7:48                                         ` Po Lu
2021-12-15  7:52                                           ` Lars Ingebrigtsen
2021-12-15  7:59                                             ` Po Lu
2021-12-15  8:04                                               ` Lars Ingebrigtsen
2021-12-15  8:13                                                 ` Po Lu
2021-12-15  9:16                                                   ` tomas
2021-12-15  9:49                                                     ` Po Lu
2021-12-15  9:59                                                       ` tomas
2021-12-15 10:06                                                         ` Po Lu
2021-12-15 12:25                                                       ` Dmitry Gutov
2021-12-15 12:31                                                         ` Po Lu
2021-12-15 13:52                                                           ` Dmitry Gutov
2021-12-16 17:45                                                       ` Stephen Leake
2021-12-19  8:30                                                         ` tomas
2021-12-20  4:43                                                         ` Richard Stallman
2021-12-15  9:17                                                   ` Lele Gaifax
2021-12-15 12:39                                                   ` Lars Ingebrigtsen
2021-12-16  4:40                                                   ` Richard Stallman
2021-12-16  4:40                                               ` Richard Stallman
2021-12-15 15:15                                     ` Alexandre Garreau
2021-12-16  4:41                                     ` Richard Stallman
2021-12-16  4:44                                       ` Po Lu
2021-12-16  8:25                                         ` Eli Zaretskii
2021-12-16 13:39                                       ` Andrea Corallo
2021-12-16 14:02                                         ` Eli Zaretskii
2021-12-16 14:10                                           ` Andrea Corallo
2021-12-15 10:14                                   ` Óscar Fuentes
2021-12-15 10:24                                     ` Po Lu
2021-12-15 10:32                                       ` Óscar Fuentes
2021-12-15 10:42                                         ` Po Lu
2021-12-15 12:44                                           ` Óscar Fuentes
2021-12-15 13:04                                             ` Po Lu
2021-12-15 14:33                                               ` dick
2021-12-15 14:54                                               ` Alexandre Garreau
2021-12-17  4:23                                               ` Richard Stallman
2021-12-15 14:54                                             ` Alexandre Garreau
2021-12-15 18:04                                               ` Óscar Fuentes
2021-12-16  5:12                                                 ` Alexandre Garreau
2021-12-16  4:40                                         ` Richard Stallman
2021-12-15 13:51                                       ` Eli Zaretskii
2021-12-15 13:56                                         ` Po Lu
2021-12-15 15:11                                     ` Alexandre Garreau
2021-12-15 18:28                                       ` Óscar Fuentes
2021-12-15 19:55                                         ` Stefan Monnier
2021-12-15 21:15                                           ` Óscar Fuentes
2021-12-16  7:13                                             ` Eli Zaretskii
2021-12-16  9:41                                               ` tomas
2021-12-16 10:09                                                 ` Eli Zaretskii
2021-12-16 11:34                                                   ` tomas
2021-12-16 14:18                                                 ` Arthur Miller
2021-12-16 15:14                                                   ` tomas
2021-12-16 11:01                                               ` Dmitry Gutov
2021-12-16 11:08                                                 ` Eli Zaretskii
2021-12-16 11:22                                                   ` Dmitry Gutov
2021-12-17  4:24                                               ` Richard Stallman
2021-12-16  5:15                                         ` Alexandre Garreau
2021-12-15 13:36                                   ` Contradictiory directions (Was: Re: master 3d38d1d: Add sqlite3 support to Emacs) Eli Zaretskii
2021-12-15 14:34                                   ` Alexandre Garreau
2021-12-15 15:02                                     ` tomas
2021-12-15  7:26                               ` master 3d38d1d: Add sqlite3 support to Emacs Po Lu
2021-12-16  4:41                                 ` Richard Stallman
2021-12-16  8:33                                   ` tomas
2021-12-15 14:22                               ` Alexandre Garreau
2021-12-16  4:40                                 ` Richard Stallman
2021-12-13 22:35                   ` Andy Moreton
2021-12-15  5:14                     ` Richard Stallman
2021-12-15  7:10                       ` Lars Ingebrigtsen
2021-12-16  4:41                         ` Richard Stallman
2021-12-16  5:52                           ` Lars Ingebrigtsen
2021-12-17  4:25                             ` Richard Stallman
2021-12-19  4:57                               ` Richard Stallman
2021-12-19  7:24                                 ` Eli Zaretskii
2021-12-16  9:33                           ` tomas
2021-12-12  5:07               ` Alexandre Garreau
2021-12-12  5:17                 ` Po Lu
2021-12-12  5:20                   ` Alexandre Garreau
2021-12-13  3:44                 ` Richard Stallman
2021-12-13  5:30                   ` Po Lu
2021-12-13  5:36                     ` Lars Ingebrigtsen
2021-12-13  6:01                       ` Po Lu
2021-12-13  8:30                         ` Lars Ingebrigtsen
2021-12-12 12:17               ` Eli Zaretskii
2021-12-12  4:00         ` Richard Stallman
2021-12-12  4:00         ` Richard Stallman
2021-12-12  4:48           ` Po Lu
2021-12-11  5:26     ` Lars Ingebrigtsen

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=E1mwG1h-0006A8-LM@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=luangruo@yahoo.com \
    --cc=stefankangas@gmail.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).