emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Semantic: update or remove?


From: Stefan Kangas
Subject: Re: Semantic: update or remove?
Date: Tue, 18 Mar 2025 12:35:21 -0700

"Alfred M. Szmidt" <ams@gnu.org> writes:

> Indeed, Stafans Kangas handwaving of "the maintainers" have decided is
> also thin (hence why I asked "who" specifically, since no maintainer
> was explicitly in favor of obsolteing/deprecating Semantic/EDE --
> which Stefan is well aware of!).

There seems to be some confusion here.

The current maintainers of Emacs are Eli Zaretskii, Stefan Kangas, and
Andrea Corallo.  At least one of them has explicitly stated support for
moving Semantic to GNU ELPA.

In addition to the maintainers, I also referred to core contributors.
Since you asked, let me clarify that this group is less formally defined
and not listed anywhere.  If anyone is unsure who that includes, I
suggest reviewing this thread and cross-checking with the Git history
from the past few years.

Decisions like these are generally made by the maintainers and core
contributors, with final authority, in case of disagreement, resting
with the maintainers.

> Not to mention the question was technical, i.e. why
[...]
> which was entierlly ignored.

Alfred, you've been around long enough to know that repeating a
single-word question like "why?" without engaging substantively is
unlikely to elicit detailed responses.

That said, and at the risk of repeating what others have already
expressed in this thread (which, to be clear, I am doing), here are some
of the key arguments:

- Semantic is currently unmaintained.  There have been almost no
  non-trivial changes to the lisp/cedet/ directory since 2019, and the
  grammar files are no longer kept up-to-date with changes in the
  underlying languages.  To be generous, this is unlikely to change
  unless someone steps up.

- Rebasing Semantic on Tree-sitter or LSP has been suggested, but, as
  Stefan Monnier noted, this would be a major undertaking with uncertain
  payoff.  No one has volunteered to do that work.

- Performance remains a concern.  Improving it would likely require
  significant effort, and we have no volunteers for this either.

- It is difficult to use and extend.  It has a steep learning curve,
  both for users and for potential contributors.  Its original author
  remarked in 2022 (see below) how hard it was to get CEDET to "just
  work", and how often users gave up and turned to simpler alternatives.

- Built-in IDE functionality is progressing -- just not via CEDET.
  Tools like Eglot and Tree-sitter are now the focus of Emacs's
  development in this area.  They have broad language support and large
  upstream communities, which is essential given our limited resources.
  (This was a major factor behind our decision to integrate and start
  promoting Tree-sitter support, for example.)

- Keeping CEDET in-tree risks misleading new users.  They may stumble
  across it, spend time trying to get it working, and come away
  frustrated or confused.  This reflects poorly on Emacs overall.[2]

- Moving it to GNU ELPA preserves it for those who want it.  This is not
  deletion.  It acknowledges the reality of the situation, avoids
  promoting Semantic as actively maintained or recommended, and keeps it
  available for those who still find it useful, or indeed anyone who
  might want to revive it.

- In 2022, Eric Ludlam wrote on this list about the complexity involved
  in maintaining CEDET, and that "tools like LSP" had simply outpaced
  what CEDET could do.  He described CEDET as "still useful in many
  cases" -- but that's a good description of something better served in
  GNU ELPA than in core.[2]

  He concluded:

      "Overall, I think that is fine though – having many projects
      experimenting with different techniques, and having the best
      solution win is the benefit of free software."

If you're still unconvinced, I suggest reading this thread in full with
an open mind.

> The uproar is really that, future users of Emacs will have to
> explicitly install something that have been part of Emacs for many
> decades.  This is a major breakage, which Kangas takes so very lightly
> that is is absurd that it cannot be taken seriously.

We are not obligated to continue shipping features that are
unmaintained, no longer viable, and already superseded by better
alternatives.  Users having to explicitly install such packages is a
reasonable and appropriate outcome.

Could we just do nothing instead?  Certainly, and in fact, that's what
we've been doing.  But continuing to do nothing has become a disservice
to our users.  While moving it to GNU ELPA is not urgent, it is the
right thing to do.

More broadly, I think it's important to distinguish between criticism
and contribution.  Demands from the sidelines are easy to make.  The
actual work of maintaining Emacs is harder -- and always in need of more
hands.

Footnotes:
[1]  https://lists.gnu.org/r/emacs-devel/2022-08/msg00533.html

[2]  Thanks to Dmitry for linking this example:
     
https://www.reddit.com/r/emacs/comments/12ptn61/does_anyone_use_ede_emacs_development_environment/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]