* Emms and the Spotify Search API
@ 2024-06-05 15:26 Yoni Rabkin
2024-06-05 18:04 ` Adam Porter
2024-06-08 2:55 ` Richard Stallman
0 siblings, 2 replies; 10+ messages in thread
From: Yoni Rabkin @ 2024-06-05 15:26 UTC (permalink / raw)
To: emacs-devel
Hello all, I'm the current maintainer of Emms.
We are adding to Emms the ability to search online music
databases. There is already some support for the MusicBrainz database
(https://musicbrainz.org/) and support for the Discogs
(https://www.discogs.com/) search API will not be far behind.
Spotify distribute their streaming music client, which is a very popular
piece of proprietary software. But Spotify also provide an API to search
their music database.
To be clear: I'm not considering streaming from Spotify via Emms. I'm
only considering whether to support the Spotify music database search
API in Emms.
What I'd like feedback on is whether or not adding support for search on
Spotify's music database would be tantamount to supporting or
encouraging people to use Spotify's proprietary streaming client and
services.
Thank you in advance for your input.
P.S. I've yet to read Spotify's developer agreement. Perhaps there will
be a clause in there that effectively prohibits developing free software
that connects to the Spotify search API, and perhaps not. I don't have
that information yet.
--
"Cut your own wood and it will warm you twice"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-05 15:26 Emms and the Spotify Search API Yoni Rabkin
@ 2024-06-05 18:04 ` Adam Porter
2024-06-05 18:07 ` Yoni Rabkin
2024-06-08 2:55 ` Richard Stallman
1 sibling, 1 reply; 10+ messages in thread
From: Adam Porter @ 2024-06-05 18:04 UTC (permalink / raw)
To: yoni; +Cc: emacs-devel
Hi Yoni,
Slightly off topic, but I have a request: Please consider publishing
those MusicBrainz and Discogs search API libraries on ELPA separately
from EMMS. I'd like to be able to use them in [Listen.el], and I'd
guess that other packages might as well. EMMS is a rather large
package, and I wouldn't want to add it as a dependency (I already
imported its tag-reading library--which would be another good choice for
factoring out into a separate package, BTW).
Thanks for your consideration.
--Adam
Listen.el: <https://elpa.gnu.org/packages/listen.html>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-05 18:04 ` Adam Porter
@ 2024-06-05 18:07 ` Yoni Rabkin
2024-06-05 18:21 ` Adam Porter
0 siblings, 1 reply; 10+ messages in thread
From: Yoni Rabkin @ 2024-06-05 18:07 UTC (permalink / raw)
To: Adam Porter; +Cc: emacs-devel
Adam Porter <adam@alphapapa.net> writes:
> Hi Yoni,
>
> Slightly off topic, but I have a request: Please consider publishing
> those MusicBrainz and Discogs search API libraries on ELPA separately
> from EMMS. I'd like to be able to use them in [Listen.el], and I'd
> guess that other packages might as well. EMMS is a rather large
> package, and I wouldn't want to add it as a dependency (I already
> imported its tag-reading library--which would be another good choice
> for factoring out into a separate package, BTW).
I think we can continue this specifi thread on either the emms-help
mailing list or whatever forum you use for developing listen.el.
--
"Cut your own wood and it will warm you twice"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-05 18:07 ` Yoni Rabkin
@ 2024-06-05 18:21 ` Adam Porter
2024-06-08 2:54 ` Richard Stallman
0 siblings, 1 reply; 10+ messages in thread
From: Adam Porter @ 2024-06-05 18:21 UTC (permalink / raw)
To: Yoni Rabkin; +Cc: emacs-devel
On 6/5/24 13:07, Yoni Rabkin wrote:
> Adam Porter <adam@alphapapa.net> writes:
>
>> Hi Yoni,
>>
>> Slightly off topic, but I have a request: Please consider publishing
>> those MusicBrainz and Discogs search API libraries on ELPA separately
>> from EMMS. I'd like to be able to use them in [Listen.el], and I'd
>> guess that other packages might as well. EMMS is a rather large
>> package, and I wouldn't want to add it as a dependency (I already
>> imported its tag-reading library--which would be another good choice
>> for factoring out into a separate package, BTW).
>
> I think we can continue this specifi thread on either the emms-help
> mailing list or whatever forum you use for developing listen.el.
Sure, please see <https://github.com/alphapapa/listen.el/discussions/29>.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-05 18:21 ` Adam Porter
@ 2024-06-08 2:54 ` Richard Stallman
2024-06-08 6:44 ` Eli Zaretskii
2024-06-08 11:23 ` Yoni Rabkin
0 siblings, 2 replies; 10+ messages in thread
From: Richard Stallman @ 2024-06-08 2:54 UTC (permalink / raw)
To: Adam Porter; +Cc: yoni, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> Sure, please see <https://github.com/alphapapa/listen.el/discussions/29>.
Is it possible to participate in that discussion without running Github's
nonfree Javascript code? I know it is impossible to make a Github account
without running that code. Can you participate in that discussion without
a Github account?
If Github excludes from the discussion the people who are committed to
free software, that would tend to bias the discussions. We can create
a gnu.org email list for this discussion, and any other discussion
sthat ought to move off of Github.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-05 15:26 Emms and the Spotify Search API Yoni Rabkin
2024-06-05 18:04 ` Adam Porter
@ 2024-06-08 2:55 ` Richard Stallman
2024-06-08 12:08 ` Yoni Rabkin
1 sibling, 1 reply; 10+ messages in thread
From: Richard Stallman @ 2024-06-08 2:55 UTC (permalink / raw)
To: Yoni Rabkin; +Cc: emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> To be clear: I'm not considering streaming from Spotify via Emms. I'm
> only considering whether to support the Spotify music database search
> API in Emms.
In practical terms, what is the use of searching the Spotify music
database? What specific next steps would it enable a user to do?
Is there a useful next step that can be done without nonfree software?
Please correct me if there is one, but I tend to think the answer is no.
> What I'd like feedback on is whether or not adding support for search on
> Spotify's music database would be tantamount to supporting or
> encouraging people to use Spotify's proprietary streaming client and
> services.
If the feature to search the database has only one use, and that is to
follow it up by accessing the database using Spotify's DRM-afflicting
client software, then the search feature would be tantamount to
endorsing that software.
But if the search feature is useful in some other ways, then depending
on what those other ways are, perhaps the conclusion would be otherwise.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-08 2:54 ` Richard Stallman
@ 2024-06-08 6:44 ` Eli Zaretskii
2024-06-08 11:23 ` Yoni Rabkin
1 sibling, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2024-06-08 6:44 UTC (permalink / raw)
To: rms; +Cc: adam, yoni, emacs-devel
> From: Richard Stallman <rms@gnu.org>
> Cc: yoni@rabkins.net, emacs-devel@gnu.org
> Date: Fri, 07 Jun 2024 22:54:26 -0400
>
> > Sure, please see <https://github.com/alphapapa/listen.el/discussions/29>.
>
> Is it possible to participate in that discussion without running Github's
> nonfree Javascript code? I know it is impossible to make a Github account
> without running that code. Can you participate in that discussion without
> a Github account?
You can participate via email, but I think doing so requires that you
first login and add yourself to the people who are tracking the
discussion. After you add yourself, you get all the posts via email
and can reply via email. But the requirement to login and add
yourself probably means that in practice the answer is NO, at least as
long as email participation is considered.
Maybe there are other methods, but I'm unaware of them.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-08 2:54 ` Richard Stallman
2024-06-08 6:44 ` Eli Zaretskii
@ 2024-06-08 11:23 ` Yoni Rabkin
2024-06-11 15:02 ` Richard Stallman
1 sibling, 1 reply; 10+ messages in thread
From: Yoni Rabkin @ 2024-06-08 11:23 UTC (permalink / raw)
To: Richard Stallman; +Cc: Adam Porter, emacs-devel
Richard Stallman <rms@gnu.org> writes:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > Sure, please see <https://github.com/alphapapa/listen.el/discussions/29>.
>
> Is it possible to participate in that discussion without running Github's
> nonfree Javascript code? I know it is impossible to make a Github account
> without running that code. Can you participate in that discussion without
> a Github account?
>
> If Github excludes from the discussion the people who are committed to
> free software, that would tend to bias the discussions. We can create
> a gnu.org email list for this discussion, and any other discussion
> sthat ought to move off of Github.
I told Adam that I don't have a github account and would rather not open
one. We then agreed to take the discussion to the emms-help mailing
list, which is a gnu mailing list.
--
"Cut your own wood and it will warm you twice"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-08 2:55 ` Richard Stallman
@ 2024-06-08 12:08 ` Yoni Rabkin
0 siblings, 0 replies; 10+ messages in thread
From: Yoni Rabkin @ 2024-06-08 12:08 UTC (permalink / raw)
To: Richard Stallman; +Cc: emacs-devel
Richard Stallman <rms@gnu.org> writes:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > To be clear: I'm not considering streaming from Spotify via Emms. I'm
> > only considering whether to support the Spotify music database search
> > API in Emms.
Apologies in advance to the emacs-devel team, I know that this answer is
not emacs-specific. But this is where Richard asked the question, so
this is where I will answer. If possible, further discussion should
probably continue on the Emms mailing list, emms-help@gnu.org
(https://lists.gnu.org/mailman/listinfo/emms-help)
> In practical terms, what is the use of searching the Spotify music
> database?
> What specific next steps would it enable a user to do?
Media files, often audio files of music, can store metadata in them
which describes the content of the media file. The metadata is often the
name of the artist, band, name of the album, track name, composer, etc.,
it can even contain an image of the album cover.
Emms tries to display and organize music by using the metadata. So the
better the metadata, the better Emms can organize and display it.
Emms can edit the metadata of common formats of media files by calling
external binaries such as `mid3v2' and `vorbiscomment' (both are
typically available on a fully free OS such as trisquel.)
But media files can also have incorrect or incomplete metadata, while
others have no metadata at all. Searching music databases for
information allows the user to collect the missing or incorrect
information, which they can then use to update the file via Emms.
> Is there a useful next step that can be done without nonfree software?
> Please correct me if there is one, but I tend to think the answer is
> no.
The result of a music database search is simply some JSON (a lightweight
text data-interchange format) which Emms converts to SEXP and tries to
display in a structured way to the user. Then, Emms will make it easy
for the user to copy specific bits of information into the metadata of
the file (see editing metadata above.)
For example, searching for "Dave Brubeck" may return "The Dave Brubeck
Quartet (US) 1951 - 1967", as well as the names of several other groups
Dave Brubeck was a part of, and their dates. Sometimes a lot of
information is returned. For example, an album could have 30 different
releases in different countries and in different formats (vinyl, CD,
cassette, etc.)
It is then up to the user to decide if any of those are useful
descriptors of the audio they have at hand, and if they want to copy
that information into that file's metadata.
I hope that the description of the process above provides a good view of
what we are trying to achieve.
> > What I'd like feedback on is whether or not adding support for search on
> > Spotify's music database would be tantamount to supporting or
> > encouraging people to use Spotify's proprietary streaming client and
> > services.
>
> If the feature to search the database has only one use, and that is to
> follow it up by accessing the database using Spotify's DRM-afflicting
> client software, then the search feature would be tantamount to
> endorsing that software.
> But if the search feature is useful in some other ways, then depending
> on what those other ways are, perhaps the conclusion would be
> otherwise.
Since the result is just structured information, the user can then do
anything they want with it.
However, this doesn't mean that using spotify's service is OK. There can
be other issues.
Using such a service typically requires that you generate cryptographic
credentials, aka an "API key". This key identifies the developer so that
Spotify (or another service) can tell which application is making the
call, and contact the developer if that application is misbehaving. I
don't know if Spotify permit free software to get a key (there are
services which require that the key be kept secret.) If each user needs
to generate their own developer account with Spotify, this may require
using non-free software and also force those users to make a Spotify
account.
Similarly, I haven't dug into the Discogs music database service
requirements.
For comparison, Emms already supports search via the MusicBrainz service
(which other pieces of free software use as well.) The Emms user is not
required to sign up with MusicBrainz in any way, nor interact with
MusicBrainz in any way outside of using Emms to search their database.
--
"Cut your own wood and it will warm you twice"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Emms and the Spotify Search API
2024-06-08 11:23 ` Yoni Rabkin
@ 2024-06-11 15:02 ` Richard Stallman
0 siblings, 0 replies; 10+ messages in thread
From: Richard Stallman @ 2024-06-11 15:02 UTC (permalink / raw)
To: Yoni Rabkin; +Cc: adam, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> I told Adam that I don't have a github account and would rather not open
> one. We then agreed to take the discussion to the emms-help mailing
> list, which is a gnu mailing list.
That's an ideal outcome.
Happy hacking!
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-06-11 15:02 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-05 15:26 Emms and the Spotify Search API Yoni Rabkin
2024-06-05 18:04 ` Adam Porter
2024-06-05 18:07 ` Yoni Rabkin
2024-06-05 18:21 ` Adam Porter
2024-06-08 2:54 ` Richard Stallman
2024-06-08 6:44 ` Eli Zaretskii
2024-06-08 11:23 ` Yoni Rabkin
2024-06-11 15:02 ` Richard Stallman
2024-06-08 2:55 ` Richard Stallman
2024-06-08 12:08 ` Yoni Rabkin
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).