Subject: bug#76120: [PATCH] Expose the native sharing dialog (macOS)

From: Stefan Kangas <[email-masked]>
Date: Sun, 9 Feb 2025 12:55:30 -0800

Alvaro Ramirez <[email-masked]> writes:

>> According to our guidelines, we must have the same functionality
>> on
>> GNU/Linux before we can install it for a non-free system.[1]
>> This is
>> also documented in nextstep/README.
>
> If that's the official guideline, I suppose there isn't much room
> for guideline discussion, unless you think it's worth revisiting
> the current stance in 2025.

It's above my pay grade, since this policy is project-wide in GNU.

Keep in mind that the goal of the GNU project is to replace all non-free
software with free software.  This includes replacing macOS with
GNU/Linux.  Thus, we don't want to help make it more attractive to keep
using non-free systems than it is to use free ones.

I suggest reading this link for more background:
https://www.gnu.org/prep/maintain/maintain.html#Non_002dGNU_002donly-Features

>> In other words, the feature you have proposed sounds useful, and
>> we are
>> grateful for your contribution.  However, we really would need
>> it
>> working on GNU/Linux, as a part of core, before we can install
>> such a
>> feature on macOS.  The reasons for this are detailed in the link
>> below,
>> but comes down to us not wanting to make Emacs better on
>> non-free
>> operating systems than it is on free ones.
>
> I've been gradually dipping my toes into upstream contributions
> (not just macOS-related) in the hope I can maybe become a more
> active contributor in the future.

That's great!  Thank you in advance, and welcome to the project.

> While I understand the spirit of the guideline, I can't help but
> feel a bit discouraged to contribute my other packages and/or
> other patches which are typically platform-agnostic.
>
> Somehow, feels like a net loss.

I can only hope that you will understand the reasoning provided above.

Note that it's quite rare that we have run into this, because Emacs for
the most part works almost exactly the same across all platforms.

>> Would you or anyone else be interested in implementing this for
>> GNU/Linux as well?  I don't think we need perfect coverage of
>> all
>> desktop environments, but it would be useful to support it on
>> one or more
>> popular ones (for example Gnome or KDE).
>
> Skills-wise, I wouldn't be the best candidate to make the
> Linux-related changes. I could try reaching out to Carl Lieberman,
> author of https://github.com/carldotac/kdeconnect.el, to see if
> they'd be inclined to contribute their package upstream.
>
>> This would also be a good opportunity to generalize the feature,
>> so that
>> instead of having `ns-share`, we would have a command named
>> `share-file`
>> or something like that.
>
> Without a Linux partner to help with the counter changes, I'm less
> likely to take on the additional scope.
>
> I could also reach out to emacs-devel if you reckon it's
> appropriate to scout Linux support.

Asking Carl Lieberman might be a useful step.  Asking on emacs-devel
would also be useful, to see if other people have any comments.

It's quite possible that I misunderstood, and that we do have
first-class support for this feature on GNU/Linux, for example.
(Emacs is very large, and it wouldn't be the first time I wasn't even
aware of some feature, so I wouldn't be surprised.)

Thanks again for your contribution and patience here!

>>
>> Footnotes:
>> [1]
>> https://www.gnu.org/prep/maintain/maintain.html#Non_002dGNU_002donly-Features