openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
704 stars 37 forks source link

[REVIEW]: JasPer: A Portable Flexible Software Toolkit for Image Coding/Processing #6431

Closed editorialbot closed 3 months ago

editorialbot commented 6 months ago

Submitting author: !--author-handle-->@mdadams<!--end-author-handle-- (Michael D. Adams) Repository: https://github.com/jasper-software/jasper Branch with paper.md (empty if default branch): mdadams-joss Version: 4.2.1 Editor: !--editor-->@adamltyson<!--end-editor-- Reviewers: @tomelse, @vitorsr, @justusschock Archive: Pending

Status

status

Status badge code:

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

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

@tomelse & @vitorsr & @justusschock, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

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

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Checklists

📝 Checklist for @tomelse

📝 Checklist for @justusschock

editorialbot commented 6 months ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

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

@editorialbot commands

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

@editorialbot generate pdf
editorialbot commented 6 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/ICIP.2000.899223 is OK
- 10.1109/ICASSP.2004.1327092 is OK
- 10.1007/978-3-642-13618-4_5 is OK
- 10.1007/978-3-642-15992-3_12 is OK
- 10.1007/978-3-540-74272-2_23 is OK
- 10.1109/TPDS.2010.115 is OK
- 10.1007/s11554-018-0833-5 is OK
- 10.1109/PCS.2015.7170073 is OK
- 10.1109/ISPACS.2014.7024437 is OK
- 10.1109/TMM.2006.887994 is OK
- 10.1109/ISCAS.2011.5937855 is OK
- 10.1109/ITNG.2008.66 is OK
- 10.1109/TCSVT.2004.842605 is OK
- 10.1016/j.jbi.2015.01.013 is OK
- 10.1587/transinf.2015EDP7035 is OK
- 10.3390/app12189166 is OK

MISSING DOIs

- None

INVALID DOIs

- None
tomelse commented 6 months ago

Review checklist for @tomelse

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

adamltyson commented 6 months ago

👋🏼 @tomelse, @vitorsr, @justusschock this is the review thread for the paper. All of our communications will happen here from now on.

As a reviewer, the first step is to create a checklist for your review by entering:

@editorialbot generate my checklist

as the top of a new comment in this thread.

These checklists contain the JOSS requirements. As you go over the submission, please check any items that you feel have been satisfied. The first comment in this thread also contains links to the JOSS reviewer guidelines.

The JOSS review is different from most other journals. Our goal is to work with the authors to help them meet our criteria instead of merely passing judgment on the submission. As such, the reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention openjournals/joss-reviews#6431 so that a link is created to this thread (and I can keep an eye on what is happening). Please also feel free to comment and ask questions on this thread. In my experience, it is better to post comments/questions/suggestions as you come across them instead of waiting until you've reviewed the entire package.

We aim for reviews to be completed within about 2-4 weeks. Please let me know if any of you require some more time. We can also use EditorialBot (our bot) to set automatic reminders if you know you'll be away for a known period of time.

Please feel free to ping me (@adamltyson) if you have any questions/concerns.

adamltyson commented 6 months ago

@tomelse, you beat me to it! :smile:

justusschock commented 6 months ago

Review checklist for @justusschock

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

editorialbot commented 6 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.16 s (1086.5 files/s, 399882.7 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
C                                65           4164           6547          28913
Bourne Again Shell               29            873            475           5419
C/C++ Header                     57           2550           7655           4778
CMake                            10            196            252           1122
TeX                               2             54              4            477
Markdown                          2             38              0            225
YAML                              6             18             40            155
DOS Batch                         1             11              7             35
C++                               1              2              0             19
make                              1              2              0              7
--------------------------------------------------------------------------------
SUM:                            174           7908          14980          41150
--------------------------------------------------------------------------------

Commit count by author:

   967  Michael Adams
   364  Max Kellermann
    22  Michael Vetter
    17  Richard Hughes
     8  Timothy Lyanguzov
     5  Osamu WATANABE
     3  Biswapriyo Nath
     3  OSAMU WATANABE
     2  Alex Gaynor
     2  David Seifert
     2  Joshua Root
     2  xantares
     1  Adam Majer
     1  Billy Robert O'Neal III
     1  Daniel Engberg
     1  Dirk Lemstra
     1  Evan Miller
     1  Fredrik Fornwall
     1  Jamaika1
     1  Jan Palus
     1  John Hein
     1  Markus Koschany
     1  Mikhail Paulyshka
     1  Miloš Komarčević
     1  Peter Klotz
     1  Sam James
     1  SpaceIm
     1  Tomas Hoger
     1  Tony Theodore
     1  Vicente Olivert Riera
     1  dirk
     1  yuan
     1  zhailiangliang
     1  zodf0055980
editorialbot commented 6 months ago

Paper file info:

📄 Wordcount for paper.md is 1249

✅ The paper includes a Statement of need section

editorialbot commented 6 months ago

License info:

🟡 License found: Other (Check here for OSI approval)

editorialbot commented 6 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

adamltyson commented 6 months ago

Hi @tomelse, @vitorsr, @justusschock! Just checking in to make sure everything's progressing with the review. If you have any questions or concerns, please get in touch!

justusschock commented 5 months ago

Hey @adamltyson , the license does seem to be a non-standard osi-license. It looks like some sort of extended MIT to me. Could you clarify if the license still works?

adamltyson commented 5 months ago

Hey @adamltyson , the license does seem to be a non-standard osi-license. It looks like some sort of extended MIT to me. Could you clarify if the license still works?

Thanks for raising this @justusschock.

@mdadams as per the journal guidelines, would you be able to relicense the code under an OSI approved license? If it is an existing, approved license, could you let us know? I had a look and couldn't find this specific license anywhere.

mdadams commented 5 months ago

@adamltyson:

While I appreciate that the license for JasPer (formally known as the "JasPer 2.0" license) has not been submitted for approval by the OSI, it has been approved by a number of very well-respected organizations in the open-source community, including both the Fedora Project and OpenSUSE Project. You can confirm for yourself that the JasPer 2.0 license is listed as one of the licenses that has been vetted by Fedora Legal and approved as a valid open-source license for use by the Fedora Project at:

https://docs.fedoraproject.org/en-US/legal/allowed-licenses

(Refer to the table titled "Allowed Licenses".) You can also confirm that the JasPer 2.0 license has been approved by the OpenSUSE Project for use in OpenSUSE Linux at:

https://en.opensuse.org/openSUSE:Accepted_licences

(Refer to the table under the heading "Good Licenses'.) In case this might also be helpful information, the table in which the JasPer license is listed in this (OpenSUSE) web page indicates that this license is FSF Free, GPLv2 compatible, and GPLv3 compatible. JasPer is included in many other Linux and BSD Unix distributions, Homebrew, and Conan, as well as many other projects. Most, if not all, of these projects require the software they include to employ an open-source license. The JasPer 2.0 license was inspired by the MIT and BSD licenses. Essentially, the JasPer 2.0 license is a MIT license with wording added to emphasize the disclaimer and prevent the names of the copyright holders from being used to promote products based on JasPer without prior permission.

With respect to OSI approval, there are only two options for making JasPer use a license that is formally approved by the OSI:

  1. JasPer would need to be released under a different license that has already been approved by the OSI.

  2. The existing JasPer license would need to be submitted to the OSI for approval as a legacy license and subsequently approved by the OSI.

Option 1 (i.e., changing the JasPer license) is not feasible. Since JasPer has a history of almost 25 years, changing the license for this software is simply not possible. Changing the license would require obtaining the consent of the original copyright holders as well as all of the very many individuals who have contributed bug fixes, patches, and other changes over a period of almost 25 years. Just identifying all of these individuals/parties would be problematic.

Option 2 (i.e., OSI approval of the current license) also appears not to be feasible. The OSI web site states that legacy licenses will only be considered for approval if they are used by more than twenty projects maintained by different unrelated entities. Since the JasPer 2.0 license is only used by JasPer, it does not meet this criterion for being considered.

While I appreciate that it is extremely important to JOSS that it only publish software that employs a license that is truly open source, it would seem to be somewhat contrary to the spirit of the journal not to consider a software project that clearly meets the criterion of being open source, except for the technicality that its license has not been approved by the OSI. (Note that the OSI was founded in 1998, which is only one year prior to the start of the development of JasPer.) With all of the above said, however, I do respect that the decision of whether JasPer is a valid submission to JOSS is not mine to make. Clearly, this decision is solely at the discretion of the journal. I would only ask that you please consider the somewhat special circumstances surrounding JasPer when making your final decision. As I have demonstrated in the paper accompanying the submission, JasPer has helped the research community over many years, and JasPer is very clearly used in many projects that specifically require an open-source license.

danielskatz commented 5 months ago

@mdadams - as JOSS is an affiliate of OSI, we have a firm policy that we will only review software that has an OSI-approved license. Given this, and your discussion above that says that this software does not and will not have an OSI-approved license, it seems like we should end the review process and mark this as withdrawn. Please let me know if you agree.

If so, I will point you to https://www.software.ac.uk/top-tip/which-journals-should-i-publish-my-software for some other options, as well as https://joss.readthedocs.io/en/latest/submitting.html#other-venues-for-reviewing-and-publishing-software-packages for other suggestions for how you might receive credit for your work. Of course, none of this is a statement about the quality or utility of your software, just that it does not fit the JOSS requirements.

adamltyson commented 5 months ago

Thanks @danielskatz.

@mdadams as mentioned, please let us know how you would like to proceed.

adamltyson commented 4 months ago

@mdadams just bumping this. Could you let us know what you'd like to do so the reviewers know what to do?

danielskatz commented 4 months ago

@mdadams - We will proceed to reject this in 2 weeks unless we hear from you about the software being changed to an OSI-approved license.

danielskatz commented 4 months ago

@editorialbot remind @danielskatz in 2 weeks

editorialbot commented 4 months ago

Reminder set for @danielskatz in 2 weeks

editorialbot commented 3 months ago

:wave: @danielskatz, please take a look at the state of the submission (this is an automated reminder).

danielskatz commented 3 months ago

@editorialbot reject

editorialbot commented 3 months ago

Paper rejected.

danielskatz commented 3 months ago

👋 @adamltyson, @tomelse, @vitorsr, @justusschock - thanks for your efforts on this, and our apologies that the process couldn't be successful in this case