unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Philip Kaludercic <philipk@posteo.net>
To: "Bozhidar Batsov" <bozhidar@batsov.dev>
Cc: "Emacs Devel" <emacs-devel@gnu.org>
Subject: Re: Adding Flycheck to NonGNU ELPA
Date: Mon, 19 Feb 2024 18:53:26 +0000	[thread overview]
Message-ID: <87le7g9tg9.fsf@posteo.net> (raw)
In-Reply-To: <72490bec-175b-46b6-aaf9-153b3c242b70@app.fastmail.com> (Bozhidar Batsov's message of "Mon, 19 Feb 2024 20:08:15 +0200")

"Bozhidar Batsov" <bozhidar@batsov.dev> writes:

> There is a detailed comparison here
> https://www.flycheck.org/en/latest/user/flycheck-versus-flymake.html

From what I see, this comparison is outdated and somewhat one-sided.
Flymake has error explanations, and categories like "Automatic syntax
checking" seem disingenuous if the complaint is that there is not a
flymake-global-mode.  (It would have probably taken less time to write a
`define-globalized-minor-mode', than the time to write this point...)

> but many of the differences are probably not important to many
> people. You might remember that before Flycheck, Flymake was in a
> state of disarray and abandoment for years, so I'm pretty sure
> Flycheck making it almost obsolete back then was the trigger for some
> modernization around Emacs 26.1. 

Could you explain how this relates to the current state of Flymake
vs. Flycheck?  The fact that Flymake caught up, and in my eyes
deprecated Flycheck, seems like a success story.

>                                  And the contributors to Flycheck and
> Flymake were always pretty different - part of the reason Sebastien
> (the original author of Flycheck) quit Emacs were some attacks he was
> getting on emacs-devel.

For the sake of a constructive discussion, please don't make claims like
these without any further references.  Provocations like these, from
anyone, only make discussions like these more difficult.

> Many people are so off-put by the discourse there, that they want to
> have as little as possible with it. And that's the real value of
> alternative packages IMO - they allow us to harvest the energy of all
> contributors.

I don't think this is the problem you are making it out to be, and even
if it were, one could have a package like flymake-collection added to
NonGNU ELPA.

> Btw, flymake-flycheck was created only because Joao wouldn't agree to
> provide Flycheck support in Eglot (I know this from the author of
> flymake-flycheck). The whole situation with Elgot was a classic
> example of the hostility in Emacs towards packages some maintainers
> dislike... (https://github.com/joaotavora/eglot/issues/42)

I don't know how you infer, but again, it would be nice to keep the
discussion here on-topic instead of bringing up old drama between
GNU-adjacent/core development and MELPA/GitHub/anti-GNU people.

>> but considering that
>> more and more people rely on LSP for the information (and Eglot supports
>> Flymake OOTB), I don't know how valuable this is.
>
> Btw, Eglot is not the only LSP client for Emacs. :-) lsp-mode users
> flycheck by default for its error diagnostics. I'm not a big LSP user,
> though, and often prefer the simplicity of just shelling out to
> whatever lint tools I need.

The "lsp-mode" is not part of NonGNU ELPA, so I don't think that is a
problem in this case.

> You probably know that Flycheck is one of the most download packages
> on MELPA, so it has plenty of happy users. 

I do not follow MELPA development or statistics, but from what I recall
these are just accumulated downloads over all versions, right?  If so,
then the information we get from this fact is rather low.

(BTW. if we are to implement this feature for ELPA, then we should pay
attention to avoid this mistake, and only display the download counts
over some fixed time interval, e.g. the information currently available
in the access logs.)

>                                            
>                                            I'm one of them and that's
> why I took over the maintenance of the project. I felt that NonGNU
> ELPA existed to make it easier for popular stuff to be installed by
> users, but it seems to me MELPA won't be going away any time soon.

NonGNU ELPA is not only a means of making more useful packages readily
available to users OOTB (without having to search online blogs and fora
for code snippets that enable third-party archives and install dozens of
weirdly named packages replicating built-in functionality), but also a
chance to clean up the package landscape, and prune away some
experiments from the 2010s.  As you say, people will continue
maintaining third-party repositories that accept every brittle little
scripts anyone writes (I speak here from experience and personal
suffering), but I think it is a feature that ELPA has a more curated
policy.  I for my really try my best to raise the bar of package
submissions, and while it is not always easy, I hope that this helps
make the system more robust for everyone.  So once more, please do not
assume malice in these discussions, I don't think anyone here hates one
another or intentionally wants to hinder them personally.  It takes
effort to take others seriously, but it is worth undertaking if we want
to make Emacs better.

To this end, I repeat my question: What _technical functionality_ does
Flycheck _currently_ provide that Flymake does not?  A different way of
putting it is what architectural advantages does Flycheck exemplify over
Flymake, that give it an inherent edge?  If there aren't too many
differences, I think the cost of confusion (Flymake and Flycheck are
names that are easy to confuse) and of inducing choice-fatigue among new
users is not something we should ignore.

> On Mon, Feb 19, 2024, at 7:44 PM, Philip Kaludercic wrote:
>> "Bozhidar Batsov" <bozhidar@batsov.dev> writes:
>> 
>> > Hey everyone,
>> >
>> > Just wanted to ask if there's any interested in adding Flycheck
>> > (https://www.flycheck.org/en/latest/), a popular alternative to
>> > Flymake, to NonGNU ELPA?
>> >
>> > You can find the codebase here https://github.com/flycheck/flycheck
>> > There's also some integration with Eglot https://github.com/flycheck/flycheck-eglot
>> >
>> > I'm not sure what's the stance of adding alternatives to built-in
>> > packages in general, but I think providing some alternatives to the
>> > end users is not a bad thing overall.
>> 
>> My main question is what advantage Flycheck has over Flymake.  I
>> understand it has a database of tools built-in, but considering that
>> more and more people rely on LSP for the information (and Eglot supports
>> Flymake OOTB), I don't know how valuable this is.  In addition to that,
>> there are projects like
>> 
>> https://github.com/mohkale/flymake-collection
>> https://github.com/purcell/flymake-flycheck
>> 
>> that could help bridge the gap.
>> 
>> 



  parent reply	other threads:[~2024-02-19 18:53 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-19 14:51 Adding Flycheck to NonGNU ELPA Bozhidar Batsov
2024-02-19 17:44 ` Philip Kaludercic
2024-02-19 18:08   ` Bozhidar Batsov
2024-02-19 18:48     ` Eli Zaretskii
2024-02-19 19:18       ` Bozhidar Batsov
2024-02-19 18:53     ` Philip Kaludercic [this message]
2024-02-19 19:17       ` Bozhidar Batsov
2024-02-19 19:41         ` Philip Kaludercic
2024-02-19 19:32       ` Dmitry Gutov
2024-02-19 22:32         ` joakim
2024-02-20 11:48           ` Philip Kaludercic
2024-02-20 20:04             ` Dmitry Gutov
2024-02-21 14:38               ` Dmitry Gutov
2024-02-21 15:02                 ` Stefan Monnier
2024-02-22 15:50                   ` Dmitry Gutov
2024-02-22 16:57                     ` Philip Kaludercic
2024-02-22 17:10                       ` Dmitry Gutov
2024-02-22 17:29                         ` Bozhidar Batsov
2024-02-23 16:07                           ` Docs on ELPA (was Re: Adding Flycheck to NonGNU ELPA) Spencer Baugh
2024-02-23 16:13                             ` Philip Kaludercic
2024-02-23 23:37                               ` Adam Porter
2024-02-24  8:04                                 ` Philip Kaludercic
2024-02-25 12:32                                   ` Corwin Brust
2024-02-24 23:25                               ` Stefan Monnier
2024-02-25 10:06                                 ` Philip Kaludercic
2024-02-21 17:01                 ` Adding Flycheck to NonGNU ELPA Philip Kaludercic
2024-02-21 17:38                   ` Dmitry Gutov
2024-02-21 18:05                     ` Philip Kaludercic
2024-02-21 18:07                       ` Dmitry Gutov
2024-02-21 18:14                       ` Stefan Monnier
2024-02-21 21:19                         ` Stefan Kangas
2024-02-21 21:46                           ` Bozhidar Batsov
2024-02-21 23:39                           ` Stefan Monnier
2024-02-22  9:15                             ` Stefan Kangas
2024-02-22  3:16                           ` Dmitry Gutov
2024-02-22  7:15                             ` Bozhidar Batsov
2024-02-22 10:15                               ` Steve Purcell
2024-02-22 11:54                               ` Dmitry Gutov
2024-02-22 10:14                             ` Steve Purcell
2024-02-22 14:29                               ` Dmitry Gutov
2024-02-23 16:20                                 ` Spencer Baugh
2024-02-23 17:58                                   ` Eli Zaretskii
2024-02-23 21:09                                   ` Dmitry Gutov
2024-02-21 17:40                   ` Stefan Monnier
2024-02-21 17:00               ` Philip Kaludercic
2024-02-21 18:19                 ` Dmitry Gutov
2024-02-21 21:24                   ` Bozhidar Batsov
2024-02-22  8:41             ` Thierry Volpiatto
2024-02-22 11:57               ` Dmitry Gutov
2024-02-22  9:03             ` Po Lu
2024-02-19 19:33     ` Dmitry Gutov
2024-02-19 19:47       ` Bozhidar Batsov
2024-02-19 19:55         ` Dominik Schrempf
2024-02-19 23:21         ` Dmitry Gutov
2024-02-20  6:17           ` Bozhidar Batsov

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=87le7g9tg9.fsf@posteo.net \
    --to=philipk@posteo.net \
    --cc=bozhidar@batsov.dev \
    --cc=emacs-devel@gnu.org \
    /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).