From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lynn Winebarger Newsgroups: gmane.emacs.devel Subject: Re: Grammar checking Date: Sun, 2 Apr 2023 11:24:05 -0400 Message-ID: References: <87sfdnyuxc.fsf@posteo.de> <83sfdl2z26.fsf@gnu.org> <58158ae49808189da7b2@heytings.org> <83mt3t2xz1.fsf@gnu.org> <86jzyxxqir.fsf@gmail.com> <58158ae4986fa602fe47@heytings.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16769"; mail-complaints-to="usenet@ciao.gmane.io" Cc: gregory@heytings.org, nasser.alkmim@gmail.com, eliz@gnu.org, m.eliachevitch@posteo.de, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Apr 02 17:25:16 2023 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 1piza0-0004Cy-5W for ged-emacs-devel@m.gmane-mx.org; Sun, 02 Apr 2023 17:25:16 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pizZG-0003uS-62; Sun, 02 Apr 2023 11:24:30 -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 1pizZB-0003u8-67 for emacs-devel@gnu.org; Sun, 02 Apr 2023 11:24:27 -0400 Original-Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pizZ6-00012k-Ri; Sun, 02 Apr 2023 11:24:23 -0400 Original-Received: by mail-pf1-x431.google.com with SMTP id fb38so17553549pfb.7; Sun, 02 Apr 2023 08:24:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680449057; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=L3jo1hy8G9Nahemjkl/WqGPDryBQIT72rF3NFI7Knq4=; b=IYWkk/E8iHx1Y69rNCiJY5slIc3/fGAhMKU+iwBwU3TUsN8PLz2/A2+b1qXk9CCDUP u0fId8UO0aXZ2Ip5AqaI7TNf5aatgx7SGnFUSdvJXwWODx8eDS8mrerPyM80ODI06Z1D 13/C3YlO+NP+rvQYURlYUkLR6qNDdeuYGtgcR6eE9eJYMFT6WCzcDYsSEBUK6nbuPpAv AhIpyeXjutxCkmM4BKOX9awwvtdzFnaJAKmh9F8vv4PqpKzeByyl0P3+zoDP3a9vnsOX pB7ySZKOc0xWhxNSk0hC0m18aeZxorpO+++Iwjpi8uMn6d+yZyStjvTZkteH3RncmD+r ktCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680449057; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L3jo1hy8G9Nahemjkl/WqGPDryBQIT72rF3NFI7Knq4=; b=8C1xBs1ExiFQXpew7ksw2T3qJ1fuvNIp0tkfohLl/553wObfqc/FwrkedYtDCh6lbB himODsRkTxorQ8fdwc1KCksc92z1s9sieV2Ogz8C0QSnI3wBZRLL+TbES/w6XadzdxTO H0YzF5AxE/MDwzHo55Ae6mk2vGte6iSEC9p+0eCML321uZ3IAP1T54rZUiSwDr6LmXL1 4bUyPhKFW/iU1NXb/Tnkz9zqYnbT6fGT6UWssx7Y6IowUDdwc497AYXQ8eIZD3LAvrQl JvqfHOFVWdbWQmBPPRFR5krVGBiTD6mk6Ztxn0YlTik/vLl8mLYI2GI/htDX9YAkblJg 1r/w== X-Gm-Message-State: AAQBX9fZkuRKKmZrC8qNkerSTSaT+Ax4hjz3ISq7KOJx2yEFJudpP428 /bl1wJ28Hy7mOqhlbWD4kX1JtES2KyRUa6kHUPLh9U5R8BM= X-Google-Smtp-Source: AK7set/JljM4S6XWfWtawA/ZGEMYWqNsfFYXGV4PvQ8IaaE1zQBvRYwj4k5ELIYOfKGcPE0jgMmLZmYjo8REg4auF68= X-Received: by 2002:a05:6a00:1a0b:b0:625:4ff8:3505 with SMTP id g11-20020a056a001a0b00b006254ff83505mr17034514pfv.1.1680449056874; Sun, 02 Apr 2023 08:24:16 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::431; envelope-from=owinebar@gmail.com; helo=mail-pf1-x431.google.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:305037 Archived-At: On Sat, Apr 1, 2023 at 11:12=E2=80=AFPM Richard Stallman wrot= e: > > LanguageTool isn't proprietary software, but it is used for SaaSS > > where the "premium" tier appears to use rule sets that are not > > released with the base tool. > > We certainly don't want Emacs to lead people to submit to practices > like that. > > If the released (and free) LanguageTool _program_ gives adequate > results, we could make Emacs support working with that. But we should > take pains _not_ to support the kind of communication that that SaaSS > server offers. They may not make it easy, see this complaint on their forum: https://forum.languagetool.org/t/about-the-premium-version-of-languagetool/= 8469 Although that appears to only apply to the "grammar checker" on the languagetool.org site, so presumably users of a locally installed free server won't see such comments. There's also this kind of thing in the code base: https://github.com/languagetool-org/languagetool/blob/master/languagetool-c= ore/src/main/java/org/languagetool/Premium.java > > > LanguageTool.org is very clear in using > > the term "open source" rather than "free" to describe the software > > (and configuration files) for its "Basic" service. > > That means they don't agree with our philosophy. Given the facts > you've described, that is no surprise. But we don't need to reject a > free program just because its developers disagree with our philosophy. I agree the concerns I've raised are of a "second-order" nature. I haven't claimed the program itself is non-free, just that there are foreseeable complications of the sort highlighted in Section 8 of the GNU coding standards. There was an extensive discussion around how to incorporate the grammars for tree-sitter modes *after* all the work to get the functionality working, and I'm not sure that even involved any truly non-free software. The issues around how to advise users to set up and make use of languagetool seem to me to be much stickier. * The documentation is free but definitely refers to the SaaSS in meaningful ways in the sense of Section 8. * The process for contributing "rules" to the free version is to go through the SaaSS's forum sites. https://community.languagetool.org/rule/list?lang=3Den shows 5919 rules for english, presumably in the basic version. I have no idea where to find these rules in the code base, nor whether submitting a rule that is already in the premium version will actually get incorporated in the free version. Looking at the java code makes it appear there are many hard-coded rules, but I don't know if that is really the case. That is whether the code for the rules are some generic implementation of the rules coded in XML, or if the XML rule sets are being translated into java code at some point in the build process. The second one is going to put users in a sticky situation if they want to enhance emacs's grammar checking once there is an official reliance on this external tool. I'm not really a purist, but I don't like dealing with these kinds of ambiguous situations where the gatekeeper for community contributions has such a conflict of interest in whether and how those contributions are incorporated and shared. Without impugning the developer and gatekeepers, there's no *guarantee* a contributed rule via those community forums will not be incorporated in the premium ruleset without being incorporated in the "basic" ruleset, since such contributions are presumably provided to the project maintainer under the LGPL. There are workarounds to these issues, but none of them that I can see are trivial. I don't know what benefit there is to delaying dealing with these issues until the functionality is already implemented in master. Lynn