openjournals / joss-reviews

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

[REVIEW]: OriTsgEFA: Origami and Tensegrity Equilibrium and Form-finding Analysis #5939

Closed editorialbot closed 1 year ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@Muhao-Chen<!--end-author-handle-- (Muhao Chen) Repository: https://github.com/Muhao-Chen/Origami_and_Tensegrity_Equilibrium_and_Form-finding_Analysis_OriTsgEFA Branch with paper.md (empty if default branch): main Version: v1.1 Editor: !--editor-->@diehlpk<!--end-editor-- Reviewers: !--reviewers-list-->@iammix<!--end-reviewers-list-- Archive: Pending

Status

status

Status badge code:

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

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

@Kevin-Mattheus-Moerman & @iammix, 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 @diehlpk 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 @iammix

editorialbot commented 1 year 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 1 year ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.04 s (1259.8 files/s, 131255.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
MATLAB                          34            481           1342           2408
TeX                              1              0              0            390
Markdown                        12             72              0            204
-------------------------------------------------------------------------------
SUM:                            47            553           1342           3002
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 1 year ago

Wordcount for paper.md is 1194

editorialbot commented 1 year ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1088/0964-1726/23/9/094007 is OK

MISSING DOIs

- 10.1201/9780429426506-173 may be a valid DOI for title: Optimal prestress design of the band gap dynamics in tensegrity metamaterials
- 10.1061/9780784483374.089 may be a valid DOI for title: Tensegami: Design principle of combining tensegrity and origami to make geodesic dome structure for martian agriculture

INVALID DOIs

- https://doi.org/10.1002/advs.202000636 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1103/PhysRevApplied.11.064069 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.ijsolstr.2019.03.026 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1126/sciadv.abm7834 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1007/978-3-319-91866-2 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.addma.2020.101144 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1002/adfm.201809097 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1039/C8SM01341A is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1038/srep46046 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1103/PhysRevLett.114.185502 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.2514/6.2021-0428 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.compstruct.2020.112188 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1089/soro.2019.0056 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.cma.2022.115832 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.compstruct.2018.10.108 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.2514/1.J059828 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.engstruct.2022.114391 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.euromechsol.2022.104584 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1002/adma.202005647 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.3389/frobt.2019.00111 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1109/TMECH.2021.3058074 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1098/rspa.2017.0348 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.ijsolstr.2017.05.028 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.compstruct.2020.112454 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.compstruct.2021.114838 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1073/pnas.141199598 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.ijosm.2011.11.003 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.3390/nano10081510 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.bios.2022.114119 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1557/opl.2012.536 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1126/science.aap7753 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1115/IMECE2015-51928 is INVALID because of 'https://doi.org/' prefix
- https://doi.org/10.1016/j.mechrescom.2020.103503 is INVALID because of 'https://doi.org/' prefix
editorialbot commented 1 year ago

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

iammix commented 1 year ago

Review checklist for @iammix

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Kevin-Mattheus-Moerman commented 1 year ago

@editorialbot remove me as reviewer

editorialbot commented 1 year ago

@Kevin-Mattheus-Moerman removed from the reviewers list!

Kevin-Mattheus-Moerman commented 1 year ago

@Muhao-Chen I have removed myself as reviewer here, and am talking to you now instead in my capacity as one of JOSS' Editors in Chief.

Thanks for this submission, and this related submission as well (TsgFEM). I have in the past edited or reviewed some of your work, and have found the tensegrity work interesting and useful. However, at this point your team have previously published the following two tensegrity related papers in JOSS: MOTES, and TsgFEM. In addition, your direct co-workers have published the closely related paper on STEDY.

Currently you are seeking the publication of this work here, OriTsgEFA, as well as a project named TsgDMC.

Having been involved in the review/editing of the previously published works I have just noticed a concern, which I have discussed with the editorial board at length as well. The concern is that although these software projects are each perhaps functionally interesting, they do share a significant amount of functional overlap.

Below are some examples of particular codes. For instancetenseg_plot.m, which is common to 4 of your repositories/projects:

  1. https://github.com/Muhao-Chen/Tensegrity_Finite_Element_Method_TsgFEM/blob/main/Function_library/tenseg_plot.m
  2. https://github.com/ramaniitrgoyal92/Modeling_of_Tensegrity_Structures_MOTES/blob/master/Function_Library/tenseg_plot.m
  3. https://github.com/Muhao-Chen/Origami_and_Tensegrity_Equilibrium_and_Form-finding_Analysis_OriTsgEFA/blob/main/Function_library/tenseg_plot.m
  4. https://github.com/Muhao-Chen/Tensegrity_Data-based_Modeling_and_Control_TsgDMC/blob/main/Software_Verification_and_Examples/SysCtrl_Examples/02_tenseg_airfoil/tenseg_airfoil_dynamics/tenseg_plot.m

Also this stress_strain.m function looks very similar:

  1. https://github.com/Muhao-Chen/Tensegrity_Data-based_Modeling_and_Control_TsgDMC/blob/main/Software_Verification_and_Examples/SysCtrl_Examples/02_tenseg_airfoil/tenseg_airfoil_dynamics/stress_strain.m
  2. https://github.com/Muhao-Chen/Tensegrity_Finite_Element_Method_TsgFEM/blob/main/Function_library/stress_strain.m
  3. https://github.com/Muhao-Chen/Origami_and_Tensegrity_Equilibrium_and_Form-finding_Analysis_OriTsgEFA/blob/main/Function_library/stress_strain.m

And these solver codes look like they were based on each other:

  1. https://github.com/Muhao-Chen/Tensegrity_Finite_Element_Method_TsgFEM/blob/main/Function_library/static_solver2.m
  2. https://github.com/Muhao-Chen/Origami_and_Tensegrity_Equilibrium_and_Form-finding_Analysis_OriTsgEFA/blob/main/Function_library/static_solver_ori_2.m

Similarly for these material_info codes:

  1. https://github.com/Muhao-Chen/Tensegrity_Data-based_Modeling_and_Control_TsgDMC/blob/main/Software_Verification_and_Examples/SysCtrl_Examples/02_tenseg_airfoil/tenseg_airfoil_dynamics/material_info2.m
  2. https://github.com/Muhao-Chen/Tensegrity_Finite_Element_Method_TsgFEM/blob/main/Function_library/material_info.m

And these ode4... files:

  1. https://github.com/Muhao-Chen/Tensegrity_Finite_Element_Method_TsgFEM/blob/main/Function_library/ode4_tsg.m
  2. https://github.com/Muhao-Chen/Tensegrity_Data-based_Modeling_and_Control_TsgDMC/blob/main/Software_Verification_and_Examples/SysCtrl_Examples/02_tenseg_airfoil/tenseg_airfoil_dynamics/ode4_truss.m

There are probably more similarities and shared functionalities/overlap if we study these a bit deeper.

Note that starting off from a previous project can happen in practice. However, the correct approach is to fork a project, such that the origin and original authorships for each contribution remain preserved. That way the incremental achievements on top of that fork are also clear. I think in your case the projects seem to be copy-pasted on a local machine. Or that each time you start a project you copy bits-and-pieces from the others as a starting point. Next the "new project" is uploaded to GitHub each time as if a complete new achievement. Here for instance: https://github.com/Muhao-Chen/Tensegrity_Data-based_Modeling_and_Control_TsgDMC/commits?author=Muhao-Chen, the 5 commits show the copied upload (albeit with some new functional developments for which I understand you seek publication) allong with commits to add/update/fix the paper and readme. This is not the proper way to do software versioning/branching/forking. Note I do realise you have cited the previous works in each subsequent publication, however on the Git/GitHub side all usual breadcrumbs to show novelty/changes/authorship has, due to the above approach, been lost.

JOSS does not accept so-called "salami-slicing", i.e. where a potentially large project is avoided, and instead a splintered set of several similar smaller ones is created in order to obtain several publications rather than just one. We are not necessarily accusing your team of this, but the way things have unfolded, does look similar. It may have been a misunderstanding in terms of how JOSS works, and what is acceptable for JOSS. It may be that to date you have not been used to proper git/github based forking and software development. However, at this point it is important that we point out that this fragmented form of publishing the tensegrity related works is not the proper approach, and not acceptable for JOSS.

Given the overlap, the closely related functionality, and the shared codes, of this work OriTsgEFA and TsgDMC (as well as the former publications), we have decided to reject both current JOSS submissions (OriTsgEFA and TsgDMC). Instead, what we recommend, is that you merge all projects into a single tensegrity project. Ideally this should be done using the git/github methods available, such that the merged project will feature clear authorship from all contributors of the sub-projects. Once this merged project has been established, it should contain for instance a single tenseg_plot.m file shared by several functional codes/examples, it should then have a single clear README, a single contributing guideline document, and a single merged documentation set, and a single set of testing/example codes, etc. (some static, some dynamic, some featuring FEM, some data-based etc.).

Although the two current submission will be rejected, we would be open to you submitting the described single merged project for future consideration in JOSS. For such a re-submission we would ask that you clearly clarify the key differences/advances over the previous work. We would recommend that, prior to submission to JOSS, that you post this information in a pre-submission enquiry (e.g. here https://github.com/openjournals/joss/issues) where you address myself, so I can look if your project appears ready to be considered for JOSS.

I hope the above is clear. Let me know if you have questions.

Kevin-Mattheus-Moerman commented 1 year ago

@editorialbot reject

editorialbot commented 1 year ago

Paper rejected.

Kevin-Mattheus-Moerman commented 1 year ago

@iammix thanks for agreeing to review this work, and for any work you have done to date. As you can see we have rejected this work for now. But do welcome a potential future re-submission that merged all functionality contained in the sub-projects.

Muhao-Chen commented 1 year ago

@Kevin-Mattheus-Moerman Thank you for your prompt response and valuable feedback. We would like to address the issues you raised.

It is worth noting that none of my co-authors have previously authored any papers related to Tensegrity in collaboration with the authors listed in STEDY.

Regarding the overlap in functions, the primary areas affected are plotting and the material database, encompassing materials such as steel, aluminum, and wood. We are hesitant to undertake a complete rewrite of this section merely for the sake of consistency with prior plots and material selections. While we know the option of creating new plotting and material functions to avoid this overlap, we believe it may not be necessary. Instead, we prefer to focus our efforts on refining the core functions.

We intend to develop an independent package to ensure user convenience, such that new users do not need to download multiple packages and potentially get lost. Your suggestions in this regard are certainly appreciated. We will fork the existing project to accommodate your recommendations.

We don't have a big project, to be honest. It is essential to clarify that we are not trying to publish things piece by piece. Our primary focus is on Tensegrity research. Wherever our research goes, we open-source the most powerful and impactful tools resulting from our research works.

We take pride in OriTsgEFA, as it stands as the first package enabling the study of integrated Tensegrity and origami structures. Similarly, TsgDMC represents a groundbreaking tool for data-based modeling and controlling Tensegrity structures.

The rejection by JOSS has indeed been a discouragement for us, given our strong commitment to open-source contributions. Your suggestion of consolidating our projects into a single merged project is excellent. This implies the need for a well-defined long-term plan encompassing the theoretical aspects we intend to explore and the functions we aim to develop. We greatly appreciate your advice and assure you we will do our best.

iammix commented 1 year ago

@Kevin-Mattheus-Moerman Thanks a lot for the informations that you provided. Looking forward for a future re-submission.