From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: arthur miller Newsgroups: gmane.emacs.devel Subject: Sv: as for Calc and the math library Date: Mon, 19 Aug 2024 12:05:40 +0000 Message-ID: References: <864j7qhup6.fsf@gnu.org> <87a5hi0yts.fsf@valhala.localdomain> <86y152ge0b.fsf@gnu.org> <86jzgjfwqp.fsf@gnu.org> <87sev78arx.fsf@gmail.com> <86le0z89u1.fsf@gnu.org> <87o75v87n1.fsf@gmail.com> <86frr786k7.fsf@gnu.org> <861q2q8e18.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="_000_DU2PR02MB101093C7871D4FBF5C153C77A968C2DU2PR02MB10109eu_" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10747"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "emacs-devel@gnu.org" To: "rms@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 19 14:45:02 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 1sg1kr-0002ay-CT for ged-emacs-devel@m.gmane-mx.org; Mon, 19 Aug 2024 14:45:02 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sg1k1-0006Ui-7A; Mon, 19 Aug 2024 08:44:09 -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 1sg192-0002EF-6l for emacs-devel@gnu.org; Mon, 19 Aug 2024 08:05:56 -0400 Original-Received: from mail-northeuropeazolkn19012026.outbound.protection.outlook.com ([52.103.32.26] helo=DU2PR03CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sg18y-0005TD-TV; Mon, 19 Aug 2024 08:05:55 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AAnVRqrdGyAUnsdednSxKzav9YzPzFnUa5zDOVwjPVG9yP+LVIkTPBQON58/T2xDXzSliRNqb2mXaRREpxywab/DPq93xn91DycqyRaNRKs09W3XSdEY/87qKtv1y4EpE1PEYnmIemgXhWyVQl/U8tCh68PIq3VAgY5Za+xe/jTs4lwKKcs3vD/Z1ife60uYgaJ0TPABvUCkzb5AxhzYEt4/VrXvsbtCYwizN+kMisGUREhh84h+rxNiShiTMMaFucdSUYzVR3F3yAggYGorjH5n3jAGePO0Y/HFJxcolIZPUsGjsY2qHA5aKQXb02HZWTws0h1Uhzc7O1Tm+0JF+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GUD+H0x1yB21i9BGlOg4GUXrY0q4x1BWDA0pg0LI2ew=; b=yww1GJiAg2IcZqWyplFyaUjelZb136HM3bYaXODdAaeByUHZuBNNyLQOupjwGYwbN6sGDMHUQqIdibZiFkbb8juZS0FKaaLU9ATglLekLwsxIzPhNYyLK/7wS1fcoFjg4agVOn5nEOzYLIR4VUt/uFuVdkVY5WG3rEZ74r2AO15o6uQuKUcDEOHILqZtBnNOiefw94rX1TEbdNH/IzhoXbEPauOirE54PxqyvpdADTSZJQGnONWYqLHXClSryzNJuKtN23FkpLuHpfAVG42EbjcwM+Ym7psI74OEjYmpFwzOZCLY6+hUsYXC8TW9hX1GcELmwFSU965IZV0NPKZ+yQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GUD+H0x1yB21i9BGlOg4GUXrY0q4x1BWDA0pg0LI2ew=; b=MMUN8Ucq0Ik47Q99Ub57Q06KN6ox1A4YOL6gpfyyoRqUdyGPRts6AyUA3pnqLaIMbd/BC4CQir7VdyvmDnwbCVIZuSlcfl3jLeYhGZeMBlNZb7wBYdnHS3eztU9h3cfR5W7GoblN/OSiGAXIalg6xU3Qg23cOgJXh4ZgiaakicdZyA9cDig80pCyDlmgZClX+ulJm5yqJ0gxKId/Q6m0Go7y3owlAkKud8ZPasvANQcIPQ4TcrfU92h+ezFXYHOawEW6X20ti2zSVp5XNWnBTos7R0qcr94HHEDDjmmCrYvWEdBcwnhz1VUP8VDV6okUSaboTJ4FMpkk4gQxj+bp9g== Original-Received: from DU2PR02MB10109.eurprd02.prod.outlook.com (2603:10a6:10:497::14) by PA4PR02MB7006.eurprd02.prod.outlook.com (2603:10a6:102:be::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.22; Mon, 19 Aug 2024 12:05:41 +0000 Original-Received: from DU2PR02MB10109.eurprd02.prod.outlook.com ([fe80::f3c9:d4cb:290:d487]) by DU2PR02MB10109.eurprd02.prod.outlook.com ([fe80::f3c9:d4cb:290:d487%4]) with mapi id 15.20.7875.019; Mon, 19 Aug 2024 12:05:40 +0000 Thread-Topic: as for Calc and the math library Thread-Index: AQHa7HhyCr4HNzb0tkSg9b4Ke04UmbIjdNFDgAAGX1aAAAZxKoABK62BgAF5touAACUuyYAAf3mkgAAFtHaAAA08XIAABoVEgADg0DCAACNJHoAA28K+gAR8S+SAAUSQKQ== In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: sv-SE x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [6bt5vNcdX5pPoVsRz9ouvopIFdj4TDOy] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DU2PR02MB10109:EE_|PA4PR02MB7006:EE_ x-ms-office365-filtering-correlation-id: 0112afc2-3a6d-4d60-c6a3-08dcc0473ed9 x-microsoft-antispam: BCL:0; ARA:14566002|9400799024|8060799006|15080799003|12050799009|461199028|19110799003|15030799003|3412199025|440099028|4302099013|102099032|1602099012; x-microsoft-antispam-message-info: Y4Lqvg9Te80L8ObrJl2IZLOboy/W5+0en4ugIuSQh85uqemOSvmlWThPsMcVaoFGTfB4d+GFNMchkO2SJ84os3R1o3luCGS5czDXdaIJkNfgq02dlJPYNEC4+4SNOtTG1e6bI1d7tK5RDsdG0V8NaeMH/b+/LX5yZS4gjNCLsqd/E1XE7U4rBliB9qQZXbBVsRpvieOObqRKykjisYxYHRcG5ERRRH61pDiMk8GP74SagDpy2M0FegPGHFSW3na5Ie0jZPqRfep+uT2TgqGF99QDufkKy9JZS9EEitJXS91mZDAFyT5uKvZxe64eOz0ACH8R36qZrnJJ6IOG+lDUFZOQfschFDrdZHKLLKTOpp4wqbLpC0cgWtLMAxC4w4HoUeDN/RzvSZheGaENVf1MKZ4CbpzpETM3Vd60X5rY5JVnVM2lCP+YrjafTrr1ADXFFjwQh/NtZxLydJsMV8uLmj5wZkYLuGpv5tIcQeU4BJUAImQyVLLHWOjy8V5OvXKxsMf1N5PjtkrIlBPLsn4xLmimbVa+lPRKtnma1uQfPmd2hOZSpi5gOHTJbuMP7zUZSLT/DE9D3Z6KVme23vQ2dB82nycZ6cBgIJ9a7Y2FC071sOMZT5tXPTPCMAWVlKbuUIDIEQgcy/FSIq4xTiMv8DQz+s9ivg7ESCW/TtukJmNQDhq6BaJlw9UayzSBeG8rxf4d+zozvZHr+4fCx5q3dsGMJbfHTOp99uh4tnEQq9oJXGzFRGAiY1OsItUKp SEF1fFU0nJPmID08LFRHNvZnnf1BTyu9f48ezWKOognyiYnLv+vw+SDU2z9BQcZVJ4pE5KFhcdOTuIfmW1BmkkNU+ZVC8rLAIT x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?LWmaCY/X4Ysb1ShjwqcpAK5D5v9BhczLsc2YZt1lPbDRpR4GBb0QvLmmzN?= =?iso-8859-1?Q?XwZlgHf1f11ZudzVAI6tk9XG32mPNeNEVhSSlgQ1ovJh6uQ5ZDSSg17/vg?= =?iso-8859-1?Q?X1HzikGdv1iVZvE/RT7Rf2FKVlNqvpu5Ae6/l2EEowAn2IK548XGSVTC2n?= =?iso-8859-1?Q?NrV6OBbuhEWHK2EB6WG4TBhkp3QzV0H6o5Tl7cBRHeA7JbmxwXTiJtcye/?= =?iso-8859-1?Q?skP1Azo7RkJUrSu4cMJGQECXZErf8FED6/dYPudBdkZFPmUYg5S6NbU+yO?= =?iso-8859-1?Q?c5/NURBFLIXPJx0f1BpvHONtNR0f+N66UbE1QQXuBykpyMadxHA89ug5A7?= =?iso-8859-1?Q?2oj4oyBDgV4OJQG9xxdV4LY5nzYdc6WxjggK6XgPKkxUZL6/M7vjs/Uo7+?= =?iso-8859-1?Q?T4MgIUBXDz8dOJq7uL7fe7vYh0ZZjfN49fN5KbPaI+Doy8HyiBZpjgeHDa?= =?iso-8859-1?Q?nBRbt7jKav1NIvmBGKJpHLz562MDa6WOA6rXENBlR+j3AfoniPkNqKLiyq?= =?iso-8859-1?Q?Cp9BlUrAzWgXRpT6lPMVpqhsexn2QYUbs4FEo2WBCOL9pHJfc+Um5iJtOb?= =?iso-8859-1?Q?o52LfayZU/G2/9gjFmv5DpCS88WY8oaeiMBL22+n8xGgWsE6MF5t5LC3FB?= =?iso-8859-1?Q? X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-bcc80.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DU2PR02MB10109.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 0112afc2-3a6d-4d60-c6a3-08dcc0473ed9 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2024 12:05:40.9125 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR02MB7006 Received-SPF: pass client-ip=52.103.32.26; envelope-from=arthur.miller@live.com; helo=DU2PR03CU002.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 19 Aug 2024 08:44:07 -0400 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:322914 Archived-At: --_000_DU2PR02MB101093C7871D4FBF5C153C77A968C2DU2PR02MB10109eu_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Richard Stallman writes: > [[[ 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. ]]] > > > >No. What we need is the declaration _by_the_library_ being loaded > > >that it complies. It is not an agreement between Emacs and the > > >library, it's a _requirement_ on our part that only the library itse= lf > > >can fulfill. > > > I have seen your previous answers to others, and I do understand > > the point you make, but I think the argument fails because a > > module can be just a proxy to a non-free library. If I can put it > > in other words, I wonder if it is a "false sense of security", > > because it is a guarantee by the person who writes the C module, > > not the 3rd party library they link to. Of course they are > > violating the license if they link to a non-free library, but that > > we are agreeing about we can't prevent. > > You're right, and this is a possible problem, but it raises a real > copyleft compliance issue only in a specific kind of occasion: when > someone writes such an intermediary module that loads a nonfree > library, _and distributes that intermediary module_ for such use. > > Just writing such an intermediary module and using it oneself does not > raise a copyleft compliance issue, because GPLv3 says one can make any > sort of modificatoin and use it privately -- even actually copying in > nonfree code. Where the copyleft requirement comes into pkay is for > making a modified version and distributing it to others. Hi, and thank you very much for the clarification RMS. I saw you previous p= ost saying this also. I think it is useful to remind people that the GPL is abo= ut the distribution and the rights to distribute the changed code not so much = about using the code (I think, I hope I am not sailing out of the clear water her= e). > So it could be good to keep an eye on the modules that people are > releasing, to make sure they do not load in other nonfree code. > If they do, the FSF should tell their distributors to stop. Yes, and this perhaps the only thing we can do, since technically it is ver= y easy to circumwent the license. > Given this situation, a spcial label as a flag for "this library is > free" might be useful, We just have to remember taht such a flag label > is not proof of anything. Its presence is only a statement (which can > be false) of intent that the module be entirely GPL3-compatible free > code and that it link in only GPL3-compatible other modules. Indeed. I don't know how realisict, technically and resource-wise it would = be to use Elpa as a place to distribute modules and to have each library in Elpa "signed" or "approved" by someone FSF-trusted who could ensure the GPL lice= nse is not violated. The problem I see is that after the initial review, librar= ies are pulled and build automaticly from Git sources, so that would be a const= ant process, but perhaps could be automated by a script which checks for presen= ce of certain system/library calls (dlopen & co) and warns an approved "reviewer"= to take a look at that library? I perhaps also misunderstand how Elpa works si= nce I am not so familiar with Elpa implementation. Problem with automation is tha= t a malicious author could, at least in theory, initially commit a perfect libr= ary, and after some time introduce malicious or GPL-incompatible code. I am thin= king of the recent XZ-incident. Since you have chimmed in, and in the light of your clarifications, may I a= sk what do you think of the difference between doing the same thing from the L= isp? Is there any conceptual difference between loading an external library from= a Lisp library as it is from a C library? Since you have worked a lot with Lisp(s) in your past, and as I have seen f= rom the transcripts of the work on the CommonLisp standard, work in which you a= lso took part, you seem to always been concerned with how easy/difficult constr= ucts are to use and understand for users. In several contributions you tried to simplify some constructs, at least as I understand (setf comes to mind for example, but I don't remember the details at the moment, would have to look= up for the exact reference). IMO it would be much easier and more convenient for EmacsLisp users and programmers to use a Lisp interface to work with modules than C. Admittedly= it lowers the technical barrier for violating the GPL license, but that techni= cal barrier is a hindrance only for very innexperience programmers, who probabl= y wouldn't be able to use FFI from Lisp neither. As a layman when it comes to licensing, I don't see the conceptual diffrence between a C library or a Li= sp library when it comes to licensing, and the very same "agreement" that shou= ld uphold between a Lisp library writer, as there is between C library writer = and the GPL code they use. If you can reflect on the conceptual difference I would be very thankful. I promised to Eli I won't push for FFI, and I am not doing it either, but I a= m interested to learn why it would be different to load a library via Lisp fr= om loading it from C, more than technical difference of doing it via Lisp is m= uch easier and convenient. If anyone, you have done lots of work in both Lisp a= nd C. I think it is very interesting to hear your opinion on the matter. I hope Eli don't get too angry on me for asking you this, since I understan= d he considers this off-topic. I understand it takes time and energy from you, w= hen we talk about this matters, and I appologize for that. This is also an opportunity to hear what RMS opinion is and the reason why FFI is bad in EmacsLisp, if he would be kind to explaing and clarify that one. I am sure = I am not the only one who will find this useful to hear. Perhaps I am just an id= iot, but I am not an enemy, and I don't mean harm as you seem to believe (since = you epressed the concern that I am just trolling to take your time). If you wan= t to send me the warning, or ban me from this list, so be it. PS: I hope I didn't sent this twice. In a recent couple of weeks I have a p= roblem with GNUs. It sometimes works and sometimes not. Several of these mails I had to copy = over to a different client, happend this time, while some went out without problems f= rom Emacs. ________________________________ Fr=E5n: Richard Stallman Skickat: den 18 augusti 2024 18:38 Till: arthur miller Kopia: emacs-devel@gnu.org =C4mne: Re: as for Calc and the math library [[[ 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. ]]] > >No. What we need is the declaration _by_the_library_ being loaded > >that it complies. It is not an agreement between Emacs and the > >library, it's a _requirement_ on our part that only the library itself > >can fulfill. > I have seen your previous answers to others, and I do understand > the point you make, but I think the argument fails because a > module can be just a proxy to a non-free library. If I can put it > in other words, I wonder if it is a "false sense of security", > because it is a guarantee by the person who writes the C module, > not the 3rd party library they link to. Of course they are > violating the license if they link to a non-free library, but that > we are agreeing about we can't prevent. You're right, and this is a possible problem, but it raises a real copyleft compliance issue only in a specific kind of occasion: when someone writes such an intermediary module that loads a nonfree library, _and distributes that intermediary module_ for such use. Just writing such an intermediary module and using it oneself does not raise a copyleft compliance issue, because GPLv3 says one can make any sort of modificatoin and use it privately -- even actually copying in nonfree code. Where the copyleft requirement comes into pkay is for making a modified version and distributing it to others. So it could be good to keep an eye on the modules that people are releasing, to make sure they do not load in other nonfree code. If they do, the FSF should tell their distributors to stop. Given this situation, a spcial label as a flag for "this library is free" might be useful, We just have to remember taht such a flag label is not proof of anything. Its presence is only a statement (which can be false) of intent that the module be entirely GPL3-compatible free code and that it link in only GPL3-compatible other modules. -- 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) --_000_DU2PR02MB101093C7871D4FBF5C153C77A968C2DU2PR02MB10109eu_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Richard Stallman <rms@gnu.org> writes:

> [[[ 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. ]]]=
>
>   > >No.  What we need is the declaration _by_the_libr= ary_ being loaded
>   > >that it complies.  It is not an agreement between= Emacs and the
>   > >library, it's a _requirement_ on our part that only th= e library itself
>   > >can fulfill.
>
>   > I have seen your previous answers to others, and I do unde= rstand
>   > the point you make, but I think the argument fails because= a
>   > module can be just a proxy to a non-free library. If I can= put it
>   > in other words, I wonder if it is a "false sense of s= ecurity",
>   > because it is a guarantee by the person who writes the C m= odule,
>   > not the 3rd party library they link to. Of course they are=
>   > violating the license if they link to a non-free library, = but that
>   > we are agreeing about we can't prevent.
>
> You're right, and this is a possible problem, but it raises a real
> copyleft compliance issue only in a specific kind of occasion: when
> someone writes such an intermediary module that loads a nonfree
> library, _and distributes that intermediary module_ for such use.
>
> Just writing such an intermediary module and using it oneself does not=
> raise a copyleft compliance issue, because GPLv3 says one can make any=
> sort of modificatoin and use it privately -- even actually copying in<= /div>
> nonfree code.  Where the copyleft requirement comes into pkay is = for
> making a modified version and distributing it to others.

Hi, and thank you very much for the clarification RMS. I saw you previous p= ost
saying this also. I think it is useful to remind people that the GPL is abo= ut
the distribution and the rights to distribute the changed code not so much = about
using the code (I think, I hope I am not sailing out of the clear water her= e).

> So it could be good to keep an eye on the modules that people are
> releasing, to make sure they do not load in other nonfree code.
> If they do, the FSF should tell their distributors to stop.

Yes, and this perhaps the only thing we can do, since technically it is ver= y
easy to circumwent the license.

> Given this situation, a spcial label as a flag for "this library = is
> free" might be useful, We just have to remember taht such a flag = label
> is not proof of anything.  Its presence is only a statement (whic= h can
> be false) of intent that the module be entirely GPL3-compatible free
> code and that it link in only GPL3-compatible other modules.

Indeed. I don't know how realisict, technically and resource-wise it would = be to
use Elpa as a place to distribute modules and to have each library in Elpa<= /div>
"signed" or "approved" by someone FSF-trusted who could= ensure the GPL license
is not violated. The problem I see is that after the initial review, librar= ies
are pulled and build automaticly from Git sources, so that would be a const= ant
process, but perhaps could be automated by a script which checks for presen= ce of
certain system/library calls (dlopen & co) and warns an approved "= reviewer" to
take a look at that library? I perhaps also misunderstand how Elpa works si= nce I
am not so familiar with Elpa implementation. Problem with automation is tha= t a
malicious author could, at least in theory, initially commit a perfect libr= ary,
and after some time introduce malicious or GPL-incompatible code. I am thin= king
of the recent XZ-incident.

Since you have chimmed in, and in the light of your clarifications, may I a= sk
what do you think of the difference between doing the same thing from the L= isp?
Is there any conceptual difference between loading an external library from= a
Lisp library as it is from a C library?

Since you have worked a lot with Lisp(s) in your past, and as I have seen f= rom
the transcripts of the work on the CommonLisp standard, work in which you a= lso
took part, you seem to always been concerned with how easy/difficult constr= ucts
are to use and understand for users. In several contributions you tried to<= /div>
simplify some constructs, at least as I understand (setf comes to mind for<= /div>
example, but I don't remember the details at the moment, would have to look= up
for the exact reference).

IMO it would be much easier and more convenient for EmacsLisp users and
programmers to use a Lisp interface to work with modules than C. Admittedly= it
lowers the technical barrier for violating the GPL license, but that techni= cal
barrier is a hindrance only for very innexperience programmers, who probabl= y
wouldn't be able to use FFI from Lisp neither. As a layman when it comes to=
licensing, I don't see the conceptual diffrence between a C library or a Li= sp
library when it comes to licensing, and the very same "agreement"= that should
uphold between a Lisp library writer, as there is between C library writer = and
the GPL code they use.

If you can reflect on the conceptual difference I would be very thankful. I=
promised to Eli I won't push for FFI, and I am not doing it either, but I a= m
interested to learn why it would be different to load a library via Lisp fr= om
loading it from C, more than technical difference of doing it via Lisp is m= uch
easier and convenient. If anyone, you have done lots of work in both Lisp a= nd
C. I think it is very interesting to hear your opinion on the matter.

I hope Eli don't get too angry on me for asking you this, since I understan= d he
considers this off-topic. I understand it takes time and energy from you, w= hen
we talk about this matters, and I appologize for that. This is also an
opportunity to hear what RMS opinion is and the reason why FFI is bad in
EmacsLisp, if he would be kind to explaing and clarify that one. I am sure = I am
not the only one who will find this useful to hear. Perhaps I am just an id= iot,
but I am not an enemy, and I don't mean harm as you seem to believe (since = you
epressed the concern that I am just trolling to take your time). If you wan= t to
send me the warning, or ban me from this list, so be it.

PS: I hope I didn't sent this twice. In a recent couple of weeks I have a p= roblem with GNUs.
It sometimes works and sometimes not. Several of these mails I had to copy = over to a
different client, happend this time, while some went out without problems f= rom Emacs.

Fr=E5n: Richard Stallman &l= t;rms@gnu.org>
Skickat: den 18 augusti 2024 18:38
Till: arthur miller <arthur.miller@live.com>
Kopia: emacs-devel@gnu.org <emacs-devel@gnu.org>
=C4mne: Re: as for Calc and the math library
 
[[[ To any NSA and FBI agents reading my email: pl= ease consider    ]]]
[[[ whether defending the US Constitution against all enemies,  &= nbsp;  ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > >No.  What we need is the declaration _by_the_library_ = being loaded
  > >that it complies.  It is not an agreement between Emac= s and the
  > >library, it's a _requirement_ on our part that only the lib= rary itself
  > >can fulfill.

  > I have seen your previous answers to others, and I do understan= d
  > the point you make, but I think the argument fails because a   > module can be just a proxy to a non-free library. If I can put = it
  > in other words, I wonder if it is a "false sense of securi= ty",
  > because it is a guarantee by the person who writes the C module= ,
  > not the 3rd party library they link to. Of course they are
  > violating the license if they link to a non-free library, but t= hat
  > we are agreeing about we can't prevent.

You're right, and this is a possible problem, but it raises a real
copyleft compliance issue only in a specific kind of occasion: when
someone writes such an intermediary module that loads a nonfree
library, _and distributes that intermediary module_ for such use.

Just writing such an intermediary module and using it oneself does not
raise a copyleft compliance issue, because GPLv3 says one can make any
sort of modificatoin and use it privately -- even actually copying in
nonfree code.  Where the copyleft requirement comes into pkay is for making a modified version and distributing it to others.

So it could be good to keep an eye on the modules that people are
releasing, to make sure they do not load in other nonfree code.
If they do, the FSF should tell their distributors to stop.

Given this situation, a spcial label as a flag for "this library is free" might be useful, We just have to remember taht such a flag label=
is not proof of anything.  Its presence is only a statement (which can=
be false) of intent that the module be entirely GPL3-compatible free
code and that it link in only GPL3-compatible other modules.

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


--_000_DU2PR02MB101093C7871D4FBF5C153C77A968C2DU2PR02MB10109eu_--