From: Daniel Colascione <dancol@dancol.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: owinebar@gmail.com, bjorn.bidar@thaodan.de, philipk@posteo.net,
emacs-devel@gnu.org, rms@gnu.org, manphiz@gmail.com
Subject: Re: Tree-sitter maturity
Date: Sat, 04 Jan 2025 15:46:49 -0500 [thread overview]
Message-ID: <8CE9A18D-79B7-4741-9A7D-6BF90557E456@dancol.org> (raw)
In-Reply-To: <86bjwmbaoo.fsf@gnu.org>
On January 4, 2025 3:12:23 PM EST, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Sat, 04 Jan 2025 14:30:30 -0500
>> From: Daniel Colascione <dancol@dancol.org>
>> CC: owinebar@gmail.com, bjorn.bidar@thaodan.de, philipk@posteo.net,
>> emacs-devel@gnu.org, rms@gnu.org, manphiz@gmail.com
>>
>> I think we should vendor even libpng. Down with dynamic linking! Seriousy.
>
>You are asking the Emacs maintenance team to take up a significant
>additional load. That's impractical.
Tying grammars to the code that uses them is less of a burden than adding hacks upon hacks to try to make Lisp less tightly coupled to grammar changes from the future.
>> >This eliminates the need to keep the grammar in our repository (or
>> >have it sub-moduled)
>>
>> And it creates the need to do code distribution in a bespoke way. How is that a net win?
>
>It's _our_ win. The problem is shifted to the distros, where I think
>it belongs.
No, it isn't, because distros *can't* do a good job of this. You have to, for good technical reasons, couple a grammar to a version of Emacs. Besides: plenty of people (I'd guess a majority going by how the industry is set up) were using Emacs outside the context of a distro. If we weren't allergic to telemetry, we'd know.
>> > to say nothing of the legal aspects that are
>> >better avoided.
>>
>> Nobody has been able to describe these legal aspects. Grammars are free software. GPL compatible, too.
>> That means we can put them in Emacs. That's what software freedom means.
>
>I did explain that, and don't want to repeat. You can consider those
>reasons unimportant, but I don't (and cannot, really: I don't call the
>shots in this particular game).
No, you didn't explain. You asserted.
You said that we would need to get written permission from grammar projects to include their code in Emacs. When I asked where this requirement comes from, you said it had always been this way and that RMS might have more information. He appears not to.
That there are legal reasons we can't include third party software in the Emacs repository is superstition. Thousands of other free software projects include third party free code without special permission. At best, the requirement is a hairshirt the project has chosen to wear for no particular reason that that it could choose to remove at any time.
>> > Also don't forget that we have at least two active
>> >branches at any given time, and the number of grammar libraries we are
>> >interested in is more than a handful. So adding them to our
>> >repository is a significant addition to the maintenance burden.
>>
>> Vendoring reduces, not increases, the maintenance burden. If you're vendoring or hash locking, when you
>> cut a branch, you cut the grammars at the same time. If you check in the grammars or their hashes, this
>> snapshotting happens automatically. The alternative would be bizarre: we don't try to combine cc-langs.el
>> from master with cc-engine.el from a release branch!
>
>You are missing the point. My point is that several branches means we
>need to match a different version of the library to each branch
If you check the grammar into the tree, the version in each branch matches that branch automatically. That's what a version control system is. It's the essence of what it does. Same goes for submodules, which are just checked-in pointers.
You do strictly less work to branch when something is just a plain file in that branch than you do when you have some kind of exotic external dependency.
Can you give me a concrete example of how checking in code burdens branch maintenance? Your position isn't making any sense to me in context of how version control systems work.
>> >> It's just a more complicated and error-prone way of doing the
>> >> same thing as checking in the code. The same goes for other forms of
>> >> downloading dependencies, e.g. via git submodules.
>> >
>> >The difference is that the RI changes. And that's not something to
>> >ignore, from where I stand.
>>
>> Huh? In what possible way could a bespoke downloader be a better engineering choice than submodules?
>
>I didn't say anything about engineering, I was talking about the
>responsibility.
Good engineering minimizes the number of moving parts and needless failure points in a system.
next prev parent reply other threads:[~2025-01-04 20:46 UTC|newest]
Thread overview: 207+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-20 15:13 My resignation from Emacs development Alan Mackenzie
2024-11-20 15:34 ` Eli Zaretskii
2024-11-20 16:23 ` Christopher Dimech
2024-11-21 6:22 ` Gerd Möllmann
2024-11-21 10:05 ` Christopher Dimech
2024-11-21 11:23 ` Gerd Möllmann
2024-11-21 11:40 ` Eli Zaretskii
2024-11-21 10:29 ` Alan Mackenzie
2024-11-21 12:26 ` Christopher Dimech
2024-11-20 16:42 ` Alfred M. Szmidt
2024-11-20 17:04 ` tomas
2024-11-20 21:56 ` Dmitry Gutov
2024-11-21 2:28 ` Stefan Kangas
2024-11-21 12:34 ` Tree-sitter maturity (was: My resignation from Emacs development) Peter Oliver
2024-11-23 13:41 ` Stefan Kangas
2024-11-24 2:10 ` Tree-sitter maturity Björn Bidar
[not found] ` <67428b3d.c80a0220.2f3036.adbdSMTPIN_ADDED_BROKEN@mx.google.com>
2024-12-17 22:11 ` Yuan Fu
2024-12-18 13:34 ` Eli Zaretskii
2024-12-19 1:40 ` Yuan Fu
2024-12-19 8:17 ` Eli Zaretskii
2024-12-20 9:13 ` Björn Bidar
[not found] ` <6765355b.c80a0220.1a6b24.3117SMTPIN_ADDED_BROKEN@mx.google.com>
2024-12-20 9:29 ` Yuan Fu
2024-12-23 0:43 ` Björn Bidar
[not found] ` <6768b256.c80a0220.222b1b.64e6SMTPIN_ADDED_BROKEN@mx.google.com>
2024-12-24 1:20 ` Yuan Fu
[not found] ` <87frmfxm8y.fsf@>
2024-12-24 4:52 ` Richard Stallman
2024-12-24 12:32 ` Eli Zaretskii
2024-12-24 21:31 ` Xiyue Deng
2024-12-26 4:30 ` Richard Stallman
2024-12-27 10:54 ` Philip Kaludercic
2024-12-27 12:40 ` Eli Zaretskii
2024-12-27 13:46 ` Daniel Colascione
2024-12-27 14:19 ` Philip Kaludercic
2024-12-27 14:24 ` Daniel Colascione
2024-12-27 14:57 ` Philip Kaludercic
2024-12-27 15:02 ` Philip Kaludercic
2024-12-29 4:19 ` Richard Stallman
2024-12-29 4:23 ` Daniel Colascione
2024-12-29 7:44 ` Eli Zaretskii
2024-12-29 8:01 ` Daniel Colascione
2024-12-29 8:41 ` Eli Zaretskii
2024-12-29 8:59 ` Yuan Fu
2024-12-29 9:14 ` Daniel Colascione
2024-12-29 9:24 ` Eli Zaretskii
2024-12-29 10:01 ` Daniel Colascione
2024-12-29 13:35 ` Eli Zaretskii
2024-12-29 20:12 ` Daniel Colascione
2024-12-29 10:13 ` tomas
2024-12-29 10:21 ` Yuan Fu
2024-12-29 14:59 ` Daniel Colascione
2024-12-29 14:14 ` Dmitry Gutov
2024-12-29 7:26 ` Eli Zaretskii
[not found] ` <904957B9-55C1-42DF-BE6A-16986A4B539A@dancol.org>
[not found] ` <87r05o2eji.fsf@posteo.net>
[not found] ` <E2C32D27-EEC2-4DD2-B6F6-8827820B880E@dancol.org>
2024-12-31 16:47 ` Philip Kaludercic
2024-12-29 14:36 ` Lynn Winebarger
2024-12-29 20:36 ` Daniel Colascione
2024-12-29 23:29 ` Björn Bidar
[not found] ` <6771db94.050a0220.386e00.e451SMTPIN_ADDED_BROKEN@mx.google.com>
2024-12-30 0:30 ` Yuan Fu
2024-12-30 0:36 ` Daniel Colascione
2024-12-30 1:00 ` Yuan Fu
2024-12-31 9:48 ` Philip Kaludercic
2024-12-30 3:20 ` Lynn Winebarger
2024-12-31 3:22 ` Björn Bidar
2024-12-31 22:29 ` Lynn Winebarger
2025-01-01 20:23 ` Björn Bidar
[not found] ` <6775a459.170a0220.2f3d1e.1897SMTPIN_ADDED_BROKEN@mx.google.com>
2025-01-04 16:15 ` Lynn Winebarger
2025-01-04 17:39 ` Daniel Colascione
2025-01-04 18:57 ` Eli Zaretskii
2025-01-04 19:30 ` Daniel Colascione
2025-01-04 20:12 ` Eli Zaretskii
2025-01-04 20:46 ` Daniel Colascione [this message]
2025-01-04 20:57 ` Eli Zaretskii
2025-01-04 21:18 ` Daniel Colascione
2025-01-05 6:13 ` Eli Zaretskii
2025-01-04 21:25 ` Lynn Winebarger
2025-01-04 21:34 ` Daniel Colascione
2025-01-04 23:21 ` Björn Bidar
2024-12-28 12:20 ` Peter Oliver
2024-12-28 12:23 ` Philip Kaludercic
2024-12-29 14:50 ` Björn Bidar
2024-12-27 14:59 ` Eli Zaretskii
2024-12-27 15:05 ` Daniel Colascione
2024-12-27 15:31 ` Eli Zaretskii
2024-12-27 15:37 ` Daniel Colascione
2024-12-28 1:08 ` Stefan Kangas
2024-12-29 4:19 ` Richard Stallman
2024-12-29 4:21 ` Daniel Colascione
2024-12-29 6:41 ` tomas
2024-12-29 6:43 ` Daniel Colascione
2024-12-29 6:54 ` tomas
2024-12-29 7:05 ` Daniel Colascione
2024-12-29 8:56 ` tomas
2024-12-29 15:16 ` Björn Bidar
2024-12-29 15:05 ` Björn Bidar
[not found] ` <87ed1qedhl.fsf@>
2024-12-29 15:21 ` Daniel Colascione
2024-12-29 16:02 ` Björn Bidar
[not found] ` <663726A2-141B-4B98-80FB-BD93E99AC122@dancol.org>
2024-12-29 19:06 ` Björn Bidar
[not found] ` <6771d84b.050a0220.250914.d0e0SMTPIN_ADDED_BROKEN@mx.google.com>
2024-12-30 0:56 ` Yuan Fu
2024-12-27 14:11 ` Philip Kaludercic
2024-12-27 15:06 ` Eli Zaretskii
2024-12-31 13:47 ` Philip Kaludercic
2024-12-27 18:29 ` Ihor Radchenko
2024-12-28 7:55 ` Eli Zaretskii
2024-12-28 8:11 ` Ihor Radchenko
2024-12-28 8:58 ` Eli Zaretskii
2024-12-29 15:09 ` Björn Bidar
2024-12-26 4:32 ` Richard Stallman
2024-12-26 7:12 ` Eli Zaretskii
2024-12-29 14:35 ` Björn Bidar
2024-12-19 12:23 ` Peter Oliver
2024-12-19 12:42 ` Eli Zaretskii
2024-12-19 13:15 ` Vincenzo Pupillo
2024-12-20 8:59 ` Björn Bidar
2024-11-21 13:01 ` My resignation from Emacs development Alan Mackenzie
2024-11-21 13:48 ` Eli Zaretskii
2024-11-21 14:29 ` Alfred M. Szmidt
2024-11-22 0:01 ` Po Lu
2024-11-22 7:03 ` Eli Zaretskii
2024-11-22 8:14 ` Robert Pluim
2024-11-22 8:32 ` Eli Zaretskii
2024-11-22 23:59 ` Po Lu
2024-11-23 6:39 ` Eli Zaretskii
2024-11-21 16:29 ` Alan Mackenzie
2024-11-22 5:35 ` Adam Porter
2024-11-22 7:24 ` Madhu
2024-11-22 8:11 ` Eli Zaretskii
2024-11-22 9:26 ` Madhu
2024-11-22 12:07 ` Eli Zaretskii
2024-11-22 12:40 ` Stefan Kangas
2024-11-22 13:06 ` Alan Mackenzie
2024-11-22 13:39 ` Stefan Kangas
2024-11-22 14:25 ` Eli Zaretskii
2024-11-25 4:28 ` Richard Stallman
2024-11-26 17:37 ` Alan Mackenzie
2024-12-13 4:35 ` Richard Stallman
2024-12-15 15:27 ` Alan Mackenzie
2024-12-15 15:48 ` Eli Zaretskii
2024-12-15 20:43 ` Alan Mackenzie
2024-12-19 4:22 ` Richard Stallman
2024-12-19 8:26 ` Eli Zaretskii
2024-11-23 22:18 ` Andrea Corallo
2024-11-22 10:57 ` Alan Mackenzie
2024-11-22 23:19 ` Adam Porter
2024-11-26 19:01 ` Daniel Radetsky
2024-11-26 19:51 ` Christopher Dimech
2024-11-27 2:18 ` Adam Porter
2024-11-27 9:36 ` Daniel Radetsky
2024-11-27 9:59 ` Christopher Dimech
2024-11-30 3:52 ` Richard Stallman
2024-11-30 7:53 ` Eli Zaretskii
2024-11-30 16:22 ` Discuss new features/enhancements or large changes for users in emacs-devel [was: My resignation from Emacs development] Drew Adams
2024-11-30 16:56 ` Eli Zaretskii
2024-11-30 21:06 ` [External] : " Drew Adams
2024-12-01 6:00 ` Eli Zaretskii
2024-12-03 7:26 ` My resignation from Emacs development Richard Stallman
2024-12-03 13:33 ` Eli Zaretskii
2024-11-30 16:21 ` Discuss new features/enhancements or large changes for users in emacs-devel [was My resignation from Emacs development] Drew Adams
2024-11-30 17:05 ` Eli Zaretskii
2024-11-30 21:09 ` [External] : " Drew Adams
2024-12-01 6:12 ` Eli Zaretskii
2024-12-01 19:23 ` Drew Adams
2024-12-03 7:25 ` Richard Stallman
2024-12-03 13:32 ` Eli Zaretskii
2024-12-06 4:48 ` Richard Stallman
2024-12-02 4:09 ` Richard Stallman
2024-12-02 13:04 ` Discuss new features/enhancements or large changes for users in emacs-devel Eli Zaretskii
2024-12-02 15:32 ` [External] : " Drew Adams
2024-12-05 5:08 ` Richard Stallman
2024-12-05 6:33 ` Eli Zaretskii
2024-12-02 15:29 ` [External] : Re: Discuss new features/enhancements or large changes for users in emacs-devel [was My resignation from Emacs development] Drew Adams
2024-11-27 2:06 ` My resignation from Emacs development Adam Porter
2024-11-27 9:17 ` Daniel Radetsky
2024-11-22 15:36 ` Stefan Kangas
2024-11-22 17:48 ` Alan Mackenzie
2024-11-23 23:43 ` Stefan Monnier via Emacs development discussions.
2024-11-23 6:10 ` Richard Stallman
2024-11-23 7:48 ` Eli Zaretskii
2024-11-23 11:06 ` Christopher Dimech
2024-11-23 11:54 ` Eli Zaretskii
2024-11-23 12:48 ` Christopher Dimech
2024-11-23 23:59 ` Adam Porter
2024-12-01 3:50 ` Sean Whitton
2024-12-01 6:19 ` tomas
2024-11-24 18:12 ` Suhail Singh
2024-11-26 4:56 ` Richard Stallman
2024-11-26 7:38 ` Suhail Singh
2024-11-21 5:59 ` Gerd Möllmann
2024-11-22 11:36 ` Alan Mackenzie
2024-11-22 11:52 ` Eli Zaretskii
2024-11-23 10:36 ` Alan Mackenzie
2024-11-23 11:31 ` Eli Zaretskii
2024-11-21 13:39 ` Andrea Corallo
2024-11-21 19:01 ` Alfred M. Szmidt
2024-11-21 19:19 ` Christopher Dimech
2024-11-21 19:47 ` Eli Zaretskii
2024-11-21 19:40 ` Jim Porter
2024-11-24 4:35 ` Richard Stallman
2024-11-21 23:57 ` Po Lu
2024-11-22 17:26 ` On committing significant and/or controversial changes (was: My resignation from Emacs development) Ihor Radchenko
2024-11-22 17:47 ` Ship Mints
2024-11-22 19:04 ` Eli Zaretskii
2024-11-24 2:35 ` On committing significant and/or controversial changes Björn Bidar
2024-11-24 4:41 ` Adam Porter
2024-11-30 2:16 ` Björn Bidar
[not found] ` <87ttbx73zu.fsf@>
2024-11-24 8:26 ` Eli Zaretskii
2024-11-22 19:01 ` Eli Zaretskii
2024-11-23 6:10 ` My resignation from Emacs development Richard Stallman
2024-11-23 8:50 ` Eli Zaretskii
2024-11-23 6:10 ` Richard Stallman
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8CE9A18D-79B7-4741-9A7D-6BF90557E456@dancol.org \
--to=dancol@dancol.org \
--cc=bjorn.bidar@thaodan.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=manphiz@gmail.com \
--cc=owinebar@gmail.com \
--cc=philipk@posteo.net \
--cc=rms@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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.