From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: as for Calc and the math library Date: Tue, 13 Aug 2024 15:12:28 +0300 Message-ID: <86bk1whb9v.fsf@gnu.org> References: <864j7qhup6.fsf@gnu.org> <87a5hi0yts.fsf@valhala.localdomain> <86y152ge0b.fsf@gnu.org> <875xs60wmc.fsf@valhala.localdomain> <86wmklho4m.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35856"; mail-complaints-to="usenet@ciao.gmane.io" Cc: nicolas@n16f.net, emacs-devel@gnu.org To: arthur miller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Aug 13 14:13:35 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sdqP9-0009A5-I6 for ged-emacs-devel@m.gmane-mx.org; Tue, 13 Aug 2024 14:13:35 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdqON-0003na-Bv; Tue, 13 Aug 2024 08:12:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sdqOL-0003nK-Uh for emacs-devel@gnu.org; Tue, 13 Aug 2024 08:12:46 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sdqOJ-0007tD-Fe; Tue, 13 Aug 2024 08:12:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=G6bWhdE9Srz70rIARi1mJESJz/XPVrzxcT6fTi/Zux0=; b=lm9ceOmmEK/q RhtCa66tgoNPRXDVWsNO8k3DzCaUSiFk95WlUFrRqjq5XOnOp3+HnbREfYrtpCyFBM4VdSuf7rzwc KqFgYAUBbsC9j3D3VL8oYKVgypGnZ9sJ7eExn7DpXmuIIR0zLB3WTnPes7qMsB/WYHGGsMGsW7qgD wCXm7a1DTJY1IU4QEiYe2CAUXkTwkMH9pnKPtDWNkAgvs4PSgTFlz5+njGRNcWdYk38xDYXxif4o9 WRCHyqcSL+1DN67Ab9KvAF90q1aIsWM6NPpodvMARHgkF81lkFP2LpBeaGqEKxcBZICaizWtNR3hu j/7QMwFm8VCyEW+pust+IA==; In-Reply-To: (message from arthur miller on Tue, 13 Aug 2024 07:16:35 +0000) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:322702 Archived-At: > From: arthur miller > CC: "emacs-devel@gnu.org" > Date: Tue, 13 Aug 2024 07:16:35 +0000 > > > > Eli Zaretskii writes: > > > > > > > We made the effort to allow loading dynamic modules precisely for this > > > > reason: to allow free libraries to be used, but not non-free ones. > > Emacs users are "linking" Emacs to all kind of proprietary, non-free services > these days. You are reading /r/Emacs yourself and seen packages popping up > targeting this or that proprietary service almost every day. Shared libraries > are no longer the staple of distributing closed source. The computing landscape > has change a lot since 1980s/1990s. > > > > You absolutely can use non-free dynamic modules: enforcing the existence > > > of a symbol saying "I promise I'm free" does not change anything. One > > > could also easily add a free dynamic module that calls non-free > > > libraries. > > > > The need to declare that a library is free and have its sources freely > > available does serve as an obstacle for non-free software. And using > > non-free library with a free module is against the GPL, so it is > > illegal. We cannot prevent people from lying and doing illegal > > things, we can only make it harder. > > IMO, licenses are to restrict the usage, not arbitrary technical > limitations. We could similary have a token declaration in FFI interface, when > loading a library, no? You are basically reiterating what Nicolas already said, and I answered that. I see no reason to repeat my answers to these arguments, they are still the same. > You are preventing people not familiar with programming who can't write a > simple C wrapper to load a proprietary library, but it ain't stop any malicious > company anyway. People not familiar with programming will be unable to use FFI for anything serious anyway. > At the same time, the strategy is slowing down > Emacs development and make it harder for talented people to actually write > useful code for Emacs. It is also growing the C core unnecessary. I don't share this view of the Emacs development, of course. And with all due respect, I don't think you are in a good position to judge that: you are not involved in this deep enough and long enough to have the perspective and experience to make such judgments. > There is a plethora of MIT licensed math libraries, with big API surfaces, > well optimized for many architectures which users could bring into Emacs > themselves. AFAIU, there should be no reasons not to be able to load MIT licensed libraries via the emacs-module machinery. > Anyway, Guile is the "gnu extension language", and there are no > problems to expose FFI: > > https://www.gnu.org/software/guile/manual/html_node/Foreign-Function-Interface.html > > How come there is no decision against loading shared objects in Guile? There was > even a discussion, on this very mailing list, of Emacs core re-written in Guile > (which seems to not happen). That would auto-expose Guile FFI, but that seemed > to be OK? > > Similar for CLisp and GCL, both are GNU projects and expose FFI. These questions are not for me to answer. I'm not responsible for these other projects. I think they are mistaken, but then the Guile folks never listened to what I had to say on quite a few subjects, so I'm not surprised. (I know nothing about how Common Lisp is developed and what are its goals.) For the record: there are other GNU projects that use the same "restrictions" on plugins: Gawk, GNU Make, and GCC, to mention those I know about. So it isn't like Emacs is alone in this.