I think the article is misrepresenting RMS' view. In fact he does not seem to be against it at all. His point is that so long as the feature works on other systems, it is ok to use this implementation for Mac OS using what's available there. He's only against adding features that are exclusive to closed systems. He seems to prefer a 100% end-to-end "free" implementation, but is not against interfacing with proprietary systems if that is the only option, so long as it replicates a feature that is available in a free system (GNU).
In my view, if you want to provide a 100% "free" alternative you need to pull users in. If a feature works on GNU/Linux, but requires you to connect to a proprietary system on Mac OS (apple script) to implement the same feature, you should do that. When you run enough free software on a closed OS, it lowers the bar for choosing a free OS the next time you buy a computer.
Relevant quotes from the mail thread, that shows that RMS does have a relatively pragmatic view:
> Does anyone object to its removal?
RMS: In principle, it is good to remove it, but there is no principled reason
why we must remove it, if that means breaking a user-level feature
that does work on non-MacOS systems.
> but using it in a subprocess to retrieve only contacts data (which is already possible on free systems) must be more acceptable than Emacs including a C primitive to do the same thing.
RMS: Since retrieving contact data in Emacs is supported on free systems,
adding code to do the same job on MacOS is ok in principle. An
implementation which implements only that particular feature poses no
special problem. Implementing something more general than that might
pose a problem
> Just FTR, AppleScript is used in eudcb-macos-contacts.el, but via osascript executable
RMS: The comments in that file suggest that this is not a general facility
to execute AppleScript programs, but rather a way to get data out of a
MacOS-specific contacts database.
[...]
If so, then under the conditions in the node Non-GNU-Only Features of
the GNU Maintainers Guide, this is a system-specific implementation of
a feature that is supported equally well on the GNU system, so it is
ok.
In my view, if you want to provide a 100% "free" alternative you need to pull users in. If a feature works on GNU/Linux, but requires you to connect to a proprietary system on Mac OS (apple script) to implement the same feature, you should do that. When you run enough free software on a closed OS, it lowers the bar for choosing a free OS the next time you buy a computer.
Relevant quotes from the mail thread, that shows that RMS does have a relatively pragmatic view:
> Does anyone object to its removal?
RMS: In principle, it is good to remove it, but there is no principled reason why we must remove it, if that means breaking a user-level feature that does work on non-MacOS systems.
> but using it in a subprocess to retrieve only contacts data (which is already possible on free systems) must be more acceptable than Emacs including a C primitive to do the same thing.
RMS: Since retrieving contact data in Emacs is supported on free systems, adding code to do the same job on MacOS is ok in principle. An implementation which implements only that particular feature poses no special problem. Implementing something more general than that might pose a problem
> Just FTR, AppleScript is used in eudcb-macos-contacts.el, but via osascript executable
RMS: The comments in that file suggest that this is not a general facility to execute AppleScript programs, but rather a way to get data out of a MacOS-specific contacts database. [...] If so, then under the conditions in the node Non-GNU-Only Features of the GNU Maintainers Guide, this is a system-specific implementation of a feature that is supported equally well on the GNU system, so it is ok.