Skip to content
Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Learn more
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REVIEW]: genius: analysis ready song lyric retrieval #1995

Closed
whedon opened this issue Jan 6, 2020 · 17 comments
Closed

[REVIEW]: genius: analysis ready song lyric retrieval #1995

whedon opened this issue Jan 6, 2020 · 17 comments
Assignees
Labels

Comments

@whedon
Copy link
Collaborator

@whedon whedon commented Jan 6, 2020

Submitting author: @JosiahParry (Josiah Parry)
Repository: https://github.com/josiahparry/genius
Version: 2.2.1
Editor: @danielskatz
Reviewer: @bmcfee, @heraldoborges
Archive: Pending

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/cfdc4edf88ef8ea69d4dc14894e95335"><img src="https://joss.theoj.org/papers/cfdc4edf88ef8ea69d4dc14894e95335/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/cfdc4edf88ef8ea69d4dc14894e95335/status.svg)](https://joss.theoj.org/papers/cfdc4edf88ef8ea69d4dc14894e95335)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@bmcfee & @heraldoborges, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @danielskatz know.

Please try and complete your review in the next two weeks

Review checklist for @bmcfee

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@JosiahParry) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @heraldoborges

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@JosiahParry) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2020

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @bmcfee, @heraldoborges it looks like you're currently assigned to review this paper 🎉.

⭐️ Important ⭐️

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2020

Attempting to check references...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2020

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2020


OK DOIs

- 10.1007/978-3-642-11674-2_15 is OK
- 10.1080/02699931.2019.1700482 is OK
- 10.1525/jpms.2018.300411 is OK
- 10.21105/joss.00037 is OK
- 10.18637/jss.v059.i10 is OK

MISSING DOIs

- None

INVALID DOIs

- None
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jan 6, 2020

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 6, 2020

👋 @bmcfee & @heraldoborges - thanks for agreeing to review this! Your job now is to go through the review criteria in your checklist above, as discussed in the first 2 comments in this thread. If you can check things off, please do. When you see things that need to be addressed, if they are short, add comments here, and if they are more complex, add issues in the source repo and put the URL of this review thread there as well so this thread gets tagged.
If you have any questions or problems, please let me know.

@bmcfee

This comment has been minimized.

Copy link

@bmcfee bmcfee commented Jan 6, 2020

@danielskatz meta-question for you. I've looked through the code of this package, and it appears that it works by web-scraping, and not through an officially sanctioned API. IANAL, but I worry about whether the use of this package potentially violates terms of service, and whether it's appropriate for publication in JOSS given the strong dependency on (the benevolence of) a commercial entity.

To be clear, I'm not advocating one way or the other at this point, but AFAIK there is nothing in the JOSS reviewer guidelines that covers this kind of issue. It would be nice to have some editorial clarification first before diving into the rest of the review.

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 7, 2020

I don't see a problem with this, if there is no public/published API. If you think there is a better way to approach this, please suggest it.

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 7, 2020

And, if you think this violates the terms of service, then please say so. None of us are lawyers, so this gets a bit tricky to figure out.

@bmcfee

This comment has been minimized.

Copy link

@bmcfee bmcfee commented Jan 7, 2020

Genius does have an API, but it very intentionally does not provide lyrics data (which I'm sure they do not own), as far as I can tell.

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 7, 2020

Ok, thanks - as long as you don't think there's a problem here in this software violating the genius terms of service, please continue the review

@bmcfee

This comment has been minimized.

Copy link

@bmcfee bmcfee commented Jan 7, 2020

as long as you don't think there's a problem here in this software violating the genius terms of service,

Sorry, this is unclear to me. Are you saying "as long as it's okay to violate ToS, proceed" or "as long as this software does not violate ToS, proceed"?

Going off recent news, I think I can confidently predict that this does violate ToS: https://www.theverge.com/2019/12/3/20993621/genius-google-lawsuit-stolen-lyrics-lyricfind

The question I have is what JOSS's stance on this kind of thing is, given that the project under review is very closely dependent on a proprietary service. It would be another thing entirely for a general purpose scraper, eg beautifulsoup, but this specific project is very much about crawling content from one specific service, who would probably not be happy about it.

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 7, 2020

I meant "as long as this software does not violate ToS, proceed"

But given what you have said, let's pause for a little bit and I'll discuss this with the other editors.

@jedbrown

This comment has been minimized.

Copy link
Member

@jedbrown jedbrown commented Jan 7, 2020

The lawsuit appears to be primarily concerned with commercial use (see page 36 of the filing), but the terms related to scraping look relevant here (emphasis mine):

Except as expressly authorized by Genius in writing, you agree not to modify, copy, frame, scrape, rent, lease, loan, sell, distribute or create derivative works based on the Service or the Genius Content, in whole or in part, except that the foregoing does not apply to your own User Content (as defined above) that you legally upload to the Service. In connection with your use of the Service you shall not engage in or use any data mining, robots, scraping or similar data gathering or extraction methods. -- https://genius.com/static/terms

@danielskatz danielskatz added the rejected label Jan 8, 2020
@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 8, 2020

👋 @JosiahParry - The editors have decided to reject this submission due to the fact that the software appears to violate the terms of service for the service it uses (Genius).

@bmcfee & @heraldoborges - sorry for the unneeded work you may have done on this already, and @bmcfee, thanks specifically for noticing and bringing up this issue

@danielskatz danielskatz closed this Jan 8, 2020
@bmcfee

This comment has been minimized.

Copy link

@bmcfee bmcfee commented Jan 8, 2020

Thanks for the clarification @danielskatz , and sorry @JosiahParry that this didn't work out!

@danielskatz - is there any discussion of getting some general verbiage in place to clarify these points (namely, tos violation and dependency on proprietary services) in the JOSS guidelines? I'd be happy to help out with that if you think it would be useful.

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 8, 2020

It would be great if you could suggest something in our docs via a PR, or an issue, in the JOSS repo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.