Giter Club home page Giter Club logo

Comments (12)

claxtonh avatar claxtonh commented on May 27, 2024

Though I'm not a coder myself, I did use other people's code in my research. When it came time start publishing my results, I remember getting really frustrated about the inability to cite the actual code that I used... in that the journal didn't allow me to do such. The way we got around this hurdle was to mention the name of the software (In our case HKL3000) and then we cited a paper that discussed the algorithms used in the software. The irony was that the paper we cited was close to two decades old, and focused solely on the algorithms, not of the software itself. But, this is what others did in the field, so that's what we had to do. I'd love for this practice to change.

from codemeta.

mbjones avatar mbjones commented on May 27, 2024

@claxtonh That would be so useful to focus on your research needs for citing software. We're starting to discuss various functional use cases for which we need software metadata, and each of the use cases requires different sets of metadata. Getting your and other researcher's perspectives on which of these use cases are important would be very useful. Here's a table showing a preliminary set of use cases that we would like to flesh out further in the project:

Example uses for software metadata
Generate formal citations to software
Download the software and documentation
Determine what the software is supposed to do
Determine software version to ensure reproducible results
Discover newer or older versions of software for comparison
Determine software license to assess reuse restrictions
Determine the software dependencies / environment required
Identify mechanisms to assess software quality
Identify relevant software by keywords, subject categories, creator or other fields
Identify citations and other metrics of software reuse

from codemeta.

danielskatz avatar danielskatz commented on May 27, 2024

If you are interested in this topic, join Arfon Smith and me in a Force11 working group that's just starting up: https://github.com/force11/force11-scwg

from codemeta.

owlice avatar owlice commented on May 27, 2024

For astronomy research, here's one way to cite the software itself: http://ascl.net/
(I edit that resource.) The main indexer of astro publications (ADS http://adswww.harvard.edu/) indexes the ASCL and tracks citations. Our metadata is available through dynamic reporting (in XML and JSON format).

We've had sessions at major astro conferences on sharing and citing software; info from one such session can be found here: http://ascl.net/wordpress/?p=604

from codemeta.

claxtonh avatar claxtonh commented on May 27, 2024

Danielskatz, thank you for the invitation. Owlice, that's a great resource.

What I thought was unique about the whole experience was that the journal didn't accept citations for software or datasets. HOWEVER, we got around the dataset limitation by mentioning the identifier for the dataset as a footnote in the paper.

For example, my paper dealt the with X-ray crystal structure of a protein. The protein X-ray structures were deposited in the Protein Database (PDB) where each structure that is deposited receives an identifier. Here's a link. http://www.rcsb.org/pdb/home/home.do This is sort of a cultural norm in the field of structural biology

There doesn't have to be a paper associated with each structure, but each one receives a 4 character alphanumeric id, which is what we referenced in the paper. If you type in that ID into the PDB, you get all this information about the structure (including authors, conditions to create the structure, software used ect.) and a link to download the data needed to recreate the structure. Here's an example of my protein's page: http://www.rcsb.org/pdb/explore/explore.do?structureId=3FLA

I feel like this is something very similar to Owlice's ASCL database of astrophysics software.

from codemeta.

claxtonh avatar claxtonh commented on May 27, 2024

Sorry, when I say we "referenced" the dataset, we didn't actually cite it in the references, we only mentioned where the datasets came from in the notes section of the paper (footnote).

On that note, if getting journals to accept software citations becomes too big of a challenge, perhaps we could encourage professors to start listing a place to get the software in the notes section of papers.

from codemeta.

claxtonh avatar claxtonh commented on May 27, 2024

Opinions for Use Cases:
*Disclaimer, these are my opinions based on my experience in the field of biochemistry. They will probably differ wildly among people of different scientific fields.

"Generate formal citations to software" -- I think there are two different definitions of citations. There's the citation that you use in the reference section of a publication (that follows MLA, or APA), and then there's the citation that goes into the metacode itself. If the formal citation that you're referring to is the MLA citation, then it's not really that important. If you're talking about a citation that is a part of metadata, then yes, having a formal standard would be VERY useful as it would lend scientific credibility, and encourage the sharing of information among repositories.

"Download the software and documentation" -- Really Really Really Useful. In an ideal world, this would always be available. However, I'm used to not being able to access all of a publication's references, so it's not something that would be necessary to get software as a research object off the ground. I.e it's not uncommon for someone to reference an out-of-print textbook that I can't access. I believe a DOI includes a link to a place where one can access the code/documentation.

"Determine what the software is supposed to do" -- Slightly important. Generally, the way that I selected my software tools was based on what software was mentioned in similar articles and what my fellow lab members used. For example, when I needed to clone a protein from scratch, I used the same software that 'paper A' used when they cloned a protein from scratch. The structural software I used was the same software that my post-doc used, which was the software that he used in a previous lab. I never searched the internet for new software to try. In fact, any untried software was generally viewed with suspicion. I hope other people have had a different experience. Maybe this would be better placed in a readme instead of in a citation.

Determine software version to ensure reproducible results -- This would be a requirement.

Discover newer or older versions of software for comparison -- Also very important.

Determine software license to assess reuse restrictions -- Very important if I need to modify the software to better work with my data.

Determine the software dependencies / environment required -- This would be super important in a readme documentation because it's necessary to be able to run. However, for a citation, I'm not certain it's necessary. I guess it would be useful if a repository wanted to allow people to filter software based on specific environments, in which case it would have to go into the citation. This portion would need some sort of standardization.

Identify mechanisms to assess software quality -- unsure

"Identify relevant software by keywords, subject categories, creator or other fields." -- This would be helpful for repositories that want to apply filters. Not useful for the scientist herself.

Identify citations and other metrics of software reuse -- unsure

Something that should be added is the list of authors, even if the list is super long. Academia is based on a "Give Credit where Credit is Due" philosophy. It's actually a big faux pax to mention an article by title instead of by first author's name. I once got chewed out by my advisor for doing this during an in-house presentation. As for locations, you'll notice that every journal article in almost every field also lists the institutions each author was affiliated with. This also falls under the Give Credit where Credit is due, because research institutions survive on the prestige that is garnered from the publications their faculty members produce.

from codemeta.

Daniel-Mietchen avatar Daniel-Mietchen commented on May 27, 2024

I like where this is going.

One way to help journals with the integration of software citation into their workflows is to adapt JATS (a tagging standard mostly used in the biomedical field, but increasingly beyond) so that it can properly handle information about the relevant use cases in a way that is compliant with the software citation principles-to-be.

We've recently done this for data citation, and I'd be happy to help do it for software too.

from codemeta.

olexandr-konovalov avatar olexandr-konovalov commented on May 27, 2024

I would like to comment on "Identify mechanisms to assess software quality" and "Identify citations and other metrics of software reuse" - in my understanding they are also important.

"Identify mechanisms to assess software quality" may involve finding out various information about software development process: source code repositories, issue trackers, publicly available code coverage reports, etc.

"Identify citations and other metrics of software reuse" may involve looking into some citations databases to find out, for example, other application areas of a particular software.

from codemeta.

cboettig avatar cboettig commented on May 27, 2024

Great discussion. See the Software Citation Implementation Working group for more on this issue. https://github.com/force11/force11-sciwg . Codemeta should support metadata required to facilitate such citations.

from codemeta.

danielskatz avatar danielskatz commented on May 27, 2024

@mfenner - ping to call attention to @Daniel-Mietchen's offer about JATS, even from 2 years ago ...

from codemeta.

mfenner avatar mfenner commented on May 27, 2024

Added force11/force11-sciwg#7 to Force11 Software Citation Implementation WG repo to follow up about JATS.

from codemeta.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.