> > 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 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. 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. 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. 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. With all respect to Emacs developers, especially RMS and you, I am very grateful for all your work and the software you gave us, but I don't understand how is this strategy helping Emacs and GNU development? > > It is sad to see Emacs being hamstrung and users being limited because > > someone could do something that would have no impact whatsoever with the > > project or any other user. > > This is a sad world for more reasons than one, but discussing that is > off-topic here. It shouldn't be Eli, because it is about Emacs development, and you know as well that it is rather shooting us in the foot, than helping. I am honesly not trying to be PITA. I understand the subject is sensitive. I have seen the history, and (I think) I understand why the decision was made. I won't press the subject more, but I think it may be worth to revisit the decision since times have changed. With all respect /arthur ________________________________ Från: Eli Zaretskii Skickat: den 12 augusti 2024 15:22 Till: Nicolas Martyanoff Kopia: arthur.miller@live.com ; emacs-devel@gnu.org Ämne: Re: as for Calc and the math library > From: Nicolas Martyanoff > Cc: Nicolas Martyanoff , arthur.miller@live.com, > emacs-devel@gnu.org > Date: Mon, 12 Aug 2024 14:11:07 +0200 > > 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. > > 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. > It is sad to see Emacs being hamstrung and users being limited because > someone could do something that would have no impact whatsoever with the > project or any other user. This is a sad world for more reasons than one, but discussing that is off-topic here.