Giter Site home page Giter Site logo

codeisscience / code-is-science Goto Github PK

View Code? Open in Web Editor NEW
136.0 20.0 32.0 3.85 MB

Scientific code needs to be open source and peer reviewed

Home Page: http://www.codeisscience.com

License: MIT License

HTML 23.00% CSS 38.01% Shell 2.94% R 0.81% Less 35.24%
open-science open-source science javascript elife-sprint-2020 hacktoberfest

code-is-science's Introduction

Code is Science Logo

All Contributors

Code is science!

Code is Science works with the scientific coding community to champion Open Source code, so we can ensure that code is peer reviewed and FAIR.

For more details about our mission see CodeIsScience.com. If you'd like to contribute (including Mozilla Global Sprint volunteers!), head to CONTRIBUTING.md or straight to our issues list! PS, have I mentioned how awesome you are for considering it? 😍

Contact

We have a Gitter and a Slack.

Roadmap

This is primarily managed as a list of tickets in a GitHub project board, but here's a quick rough list:

Short term

  • Create tech infrastructure to record code-sharing compliance levels in journals. You can pick up tasks in these two places:
  • The front-end repo
  • The back-end repo
  • Define how code-sharing is measured

Tasks for anywhen

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Raniere Silva

João Paulo Taylor Ienczak Zanette

Isaac Miti

Fnyasimi

Abigail Wood

Delwen Franzen

Dipanshu Nagar

Emmy Tsang

helenapv

William F. Broderick

Stuart RF King

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Backers on Open Collective Sponsors on Open Collective

code-is-science's People

Contributors

aariops avatar allcontributors[bot] avatar alokpant avatar da5nsy avatar dipanshunagar avatar dustinscode avatar encodershub avatar fnyasimi avatar gedankenstuecke avatar ha0ye avatar igomez10 avatar ikayz avatar jacksonchui avatar jj avatar jptiz avatar monkeywithacupcake avatar rddravic avatar rgaiacs avatar shmishtopher avatar sliceking avatar tpoisot avatar yochannah avatar zediwards avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

code-is-science's Issues

Convert hand-drawn mockup to HTML & CSS - you can choose colours, fonts, etc.

Task

Convert hand-drawn homepage mock to basic html and css.

  1. Comment on this task stating that you intend to complete this task
  2. When you're ready, add your html mocks to the static directory and create a pull request.
  3. Bask in glory and email me your address if you'd like to have some codeisscience stickers for your trouble.

Basic tech and design specs:

  1. Pure native HTML5 & CSS please. No CSS frameworks (e.g. no bootstrap) or font icons (inline svg icons are great though, and can be added to https://github.com/yochannah/code-is-science/blob/master/static/symbol-defs.svg).
  2. Bonus points for responsive, but not mandatory!
  3. Design: There are no colours in the mocks, so use your own imagination! Try to make them generally go well with logo model 1 or model 2: https://github.com/yochannah/code-is-science/tree/master/static/logos and use material colours: http://materialuicolors.co/
  4. Ensure the design is accessible as possible

Page details:

Homepage:

Mock 1 - homepage

  • logo can be found in this repo's /static/logos/model-1 folder
  • header with links title text: (don't worry about the correct href value yet, just leave blank)
    • open source journals
    • contact
    • about
    • search field with magnifying glass icon
  • body
    • sidebar with radio box filters
    • main content:
      • filterable list with headers for journal name, discipline, OSS
      • journal name is a link to an external site
      • oss value is either a checkmark for yes or x for no.
  • footer
  • (c) codeisssciencecom 2017
  • links to contact page, twitter @ codeisscience, github.com/codeissscience.

If at any point my handwriting is unclear, please clarify on this issue!

If you complete this issue, please consider also following on with the second submit-a-journal page.

https://i.imgur.com/QPMmsJJ.jpg

Create code reviewer database

See #19 for the discussion leading up to this. Implementation method is up to you - this could be google sheets and a script to read from them as needed. This option is good because it requires minimal setup / paid hosting. You can see @ha0ye's approach to the google sheets option here: #33

We would like to offer a list of people who are interested in and able to review code, showing the following details:

mandatory:

  • reviewer name
  • email address
  • domain expertises
  • specific techniques within the domain
  • language expertises
  • language-specific tools or packages

optional(?)

  • orcid
  • github user

Science+open source hackathon?

So, this is an idea that's been bubbling in my head for some time is that we should probably try to spread the word and get more people to contribute to academic open source projects.

Idea:

How about something akin to Hacktoberfest, but specifically aiming to:

  1. Draw in academics / scientists / researchers / research software engineers / software devs with an interest in science.
  2. Working on:
    • Open source science projects (this would be easy enough to find with a specific tag)
    • Finding source-less projects references in papers and getting their code online on github, zenodo, etc.
  3. Offer snazzy code is science stickers to all participants + top 20(ish?) contribs get a t-shirt. Or something cooler? Ideas welcome - especially something sciencey. I'm pretty sure I have a source of funding for this, but can try to secure others if needed.
  4. Time period: One month, preferable later in the year.

Questions / things to mull over:

  • Names? ScienceSeptember? AcademicApril (or August - I like August better because I want time to spread awareness :D ) maybe something even better?
  • What if this is more popular than planned? Would we find more budget for stickers + postage?
  • Dispatching thanks rewards: I can handle this at small scale but the bigger it gets, the more useful some helpers might be. Anyone wanna help? Helpers will get the snazzy gifts too of course because - oddly - coding isn't just about code!

Interested in helping?

Please do any of these:

  • add a comment with thoughts
  • volunteer to be an assistant planner / wrangler / postage dispatcher / project manager / designer / community leader / other.

I can dogfood this too and create tasks (demo tasks?) for the repos I work on for this event.

Create website

  • specifically referring to the informational component (not the user-editable db component
  • gh-pages hosted
  • may not be necessary pre mozfest, but would be nice

journal page - make it include the header include file [interesting mix of R and hugo templating]

So, the site is built largely using hugo with the exception of the journals page, which is rendered using knitr R-related wizardry. @alokpant wisely suggested that the journals page should use the same header, which is entirely sane. Offhand I'm not sure how to mate the hugo template with the R template, or even if it's possible, but it would be nice if we could do so.

Relevant files:

And you can check out the wiki for instructions on how to build the site.

add icons for the nav links in the top bar

We use inline icomoon svg icons already in the contact page, so it would be nice to keep things consistent. @abhiabhijit, would you like to give this a go? :)

First, fork the repo, then in your fork of the repo, add icons.

to add icons:

  1. go to the icomoon app and select relevant icons for each of the links
  2. click generate svg & more on the bottom bar of icomoon
  3. hover over an icon and click the "get code" to get the svg code for the icon, like this: image
  4. paste the symbol definition here: https://github.com/yochannah/code-is-science/blob/master/themes/codeisscience/static/symbol-defs.svg?short_path=543107f
  5. paste the "html svg use" code where you want the icon to appear in the code. You can look at the raw code for the contact page for more examples of how this works: https://raw.githubusercontent.com/yochannah/code-is-science/master/content/contact.md

Finally, when it's all done, make a PR!

What to do if you need help

Mention @yochannah, tweet @yoyehudi, pop by to say hi on gitter or if needed email [email protected] <3

Curate list of journals where papers are accompanied by code link/licence

start reviewing journals that accept software papers and check the following things (need to consider exact metrics, but here's a start):

  • are articles accompanied by code?
    • no code
    • code often found in freeform format so may be hard to tell without careful review, e.g.:
      • source link may be available in text or references
      • attached file in supplementary materials (does this ever happen?)
      • code open source but not linked (may be hard/impossible to tell)
      • code present in elab notebook or other executable snippet
    • code required to submit paper. good example is JOSS: http://joss.theoj.org/about
    • bonus points for:
      • OSI licence
      • metadata available describing licence and source link.
      • written in free / open source language

I'm sure this list will need to be refined.

Create PR template

When submitting a PR, if there is a predefined template, then it would make it easier for developers to outline changes. As references between PR (s) and Issue(s) are documented within Github, so in long run it will also make it easier to close already solved issues.

For now it would make sense to just create a PR template. Github has good documentation on how to create it here.

Once alot of users start adding issues or feature requests we can make use of inbuilt Github feature. When user clicks on Issue it will ask for whether it is issue or feature. Below is sample, I create for one of other projects:

image

Site header: doesn't wrap well on small screens

See screenshot below - the list content doesn't wrap nicely. We could probably shrink the logo margins and make things wrap a bit better, maybe with some flexbox layout instead of floats. Docs on how to update the site and build the css are here: https://github.com/yochannah/code-is-science/wiki

image

if you want to pick up this task

  1. Comment on this issue stating that you intend to work on the task
  2. When you're ready, add your work to the repo and create a pull request.
  3. Bask in glory and email me your address if you'd like to have some codeisscience stickers for your trouble. <3

What to do if you need help

Mention @yochannah, tweet @yoyehudi, pop by to say hi on gitter or if needed email [email protected] <3

Add links to manifesto and manifesto comments to homepage

Manifesto: https://codeisscience.github.io/manifesto/manifesto

I'd like this link to be really prominent (maybe in a button or something) here: https://github.com/yochannah/code-is-science/blob/master/content/_index.md

if you want to pick up this task

  1. Comment on this issue stating that you intend to work on the task
  2. When you're ready, add your work to the repo and create a pull request.
  3. Bask in glory and email me your address if you'd like to have some codeisscience stickers for your trouble. <3

What to do if you need help

Mention @yochannah, tweet @yoyehudi or if needed email [email protected] <3

Share journals that do (or don't) have open source policies

We'll be re-designing a database for this, but in the meantime, if you know of any journals that do or don't have open source code policies and would like to share, please add the details to this google form: https://docs.google.com/forms/d/e/1FAIpQLScckKkSwH1nW22G8u0_GMRKk1KAV7SQGxaRsH6ysLecS9EHFQ/viewform?usp=sf_link

This issue is part of the 2020 eLife Innovation Sprint. For more info about this project and the sprint, or to get help, please see the Code Is Science eLife Sprint Plan

Can we offer code review for scientific code?

How would this work?

A few thoughts:

  • maybe a list of people with domain expertise (e.g. biology, mathematics, physics) and language expertises?
  • is this the right place to do this? Is there somewhere more appropriate?

Please comment with your thoughts how we could enact this!

This issue suggested by @leotrs

Page.RSSLink is deprecated

WARN 2020/09/02 19:43:31 Page.RSSLink is deprecated and will be removed in a future release. Use the Output Format's link, e.g. something like: 
    {{ with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}

Add credits to site footer

We used icomoon & hugo to get up and running! Let's add links to these in the footer of the page, here:

Getting started.

  1. Comment on this issue stating that you intend to work on the task
  2. When you're ready, add your work to the repo and create a pull request.
  3. Bask in glory and email me your address if you'd like to have some codeisscience stickers for your trouble. <3

What to do if you need help

Mention @yochannah, tweet @yoyehudi, pop by to say hi on gitter or if needed email [email protected] <3

Discussion question: How do we measure if journals comply with their openness policies?

Many journals say they require open source code but it isn't always checked by reviewers or enforced by editors.

How does one prove whether or not journals tend to check these things? Selections of recent articles that do/don't comply? Other? How does one model this in a database in a quantifiable way?

Please leave a comment on this issue if you have ideas for how to handle this.

This issue is part of the 2020 eLife Innovation Sprint. For more info about this project and the sprint, or to get help, please see the Code Is Science eLife Sprint Plan

Update manifesto page to either contain manifesto or link to manifesto

So, I'm about to print some leaflets and a poster with the url codeisscience.com/manifesto as the main entry point. That currently exists as manifesto.md in the root of the content folder here.

We could do one of the following:

  • either
    • copy the text to manifesto.md in this repo
    • add links to pledge support as organisation and as individual,
    • add links to posters / leaflets
  • ALTERNATIVELY: Figure out how to just redirect from codeisscience.com/manifesto to the manifesto <-- this is my preferred option in all honesty, but without access to the server (e.g. since it's hosted on github) I don't think that it's possible to 301 redirect which leaves us with a meta-refresh which isn't best practice. Maybe I am fussing over nothing and we should just add a meta refresh to the page.

Page.Hugo is deprecated

WARN 2020/09/02 19:43:31 Page.Hugo is deprecated and will be removed in a future release. Use the global hugo function.

Create search facility for journal db

This task depends on #5 and possibly #7 as well.

Search for journals by name. Other? Ideally with only open-source infrastructure. Ideally needs to fit on a small digital ocean droplet or be hosted on a free service.

See https://docs.google.com/spreadsheets/d/1oY5ak7VJa-qwJJeWA3829S-1akZaYtHuWPYpChBdW2o/edit#gid=0 to get an idea of the basic column headings but note that we don't know what all the column headings are yet - some column headings will probably be added, meaning faceting may become more important

New page: collect resources on good practices and good quality code

Create page with list of recommendations for good practice, good quality code.

Some ideas:

People who aren't me: please feel free to add ideas in this issue until we have a genuine page up!

This issue was suggested by @leotrs

create html/css mock for code-is-science "add a journal page".

This issue follows on from #12 and should only be completed after #12 is complete. Use the same design principles and the same header/footer from the previous mock.

Mock 2 - add a journal

Add a journal page

  • header and footer same as homepage
  • no sidebar
  • main body:
    • form with following text fields
      • journal name
      • journal link
      • discipline (use can type more than one, comma separated)
    • checkbox fields:
      • no
      • unclear / unknown
      • reviewers see source, but code doesn't have to be published openly
      • artifact deposited
      • yes, must have osi-approved licence.
    • submit button.

form submission functionality will be added later and is not required for this task.

Contact info doesn’t wrap well on small screens

Describe the issue in as much detail as possible

Rather similar to the header not wrapping well on small screens (as described in #39) the boxes containing information on how to contact Code is Science don’t wrap well on small screens.

What page(s) does it occur on?

The contact page on the website: http://www.codeisscience.com/contact/

Here are some screenshots from my iphone (sorry if they render super huge!!)

4f910452-5418-4e23-8258-c801fcf0cfe8
1dd116d5-382d-41cf-b45b-562489b0acc1

DB should be accessible via API

Probably depends on the db task #5

Ideally swagger: https://swagger.io/

methods required include:

  • get all journal lists

  • get all open/closed (filter!)

  • get just one journal by id

  • above will need sort params

  • create journal entry

  • update journal entry

  • create new user (register)

  • probably some sort of auth token?

We'll need a search as well

'taxonomy' in the disabledKinds list

ERROR 2020/09/02 19:43:31 You have the value 'taxonomy' in the disabledKinds list. In Hugo 0.73.0 we fixed these to be what most people expect (taxonomy and term).
But this also means that your site configuration may not do what you expect. If it is correct, you can suppress this message by following the instructions below.
If you feel that this should not be logged as an ERROR, you can ignore it by adding this to your site config:
ignoreErrors = ["error-disable-taxonomy"]

Create Logo

All ideas welcome, including sketches that can be converted into a nicer design later

Blog outputs from the sprint!

I think we have fodder for at least two blog posts, ot maybe even three, in response to what we've done for the sprint.

  1. Summary of what happened, the awesome contributors who helped us get there, and next steps.
  2. Deeper dives into specific topics, such as:
    • How do we identify code papers? (surprisingly hard!) - see #63 for notes
    • Personas for people who interact with code in science / research - see #60

This issue is part of the 2020 eLife Innovation Sprint. For more info about this project and the sprint, or to get help, please see the Code Is Science eLife Sprint Plan

Add favicon to main page

I'd like to have a favicon. The main logos are located in the static/images folder and the header template file is here - can we convert one of our images into a favicon (maybe one of the no-text logos?)

if you want to pick up this task

  1. Comment on this issue stating that you intend to work on the task
  2. When you're ready, add your work to the repo and create a pull request.
  3. Bask in glory and email me your address if you'd like to have some codeisscience stickers for your trouble. <3

What to do if you need help

Mention @yochannah, tweet @yoyehudi or if needed email [email protected] <3

Export .png version of logo with white text

Background

The current mock has a logo with dark text on a dark background. It might be easier to read if the text was white instead.

image

Logos are located here:
https://github.com/yochannah/code-is-science/tree/master/static/images

Task

  • Export new copies of the logos in the images/model-x folders to .pngs with white text for dark backgrounds. You probably want to open the svg copies and then export to png as they'll be highest quality.
  • Ensure that they are named clearly as the light text option.

To pick the task up

  1. Comment on this issue to let people know you're working on it.
  2. Fork this repo
  3. Make the changes detailed above, and when ready, make a PR! (guidance here if needed: https://help.github.com/articles/creating-a-pull-request/ )
  4. Bask in your awesomeness!

If you need help:

Mention me, @yochannah, tweet me @yoyehudi, or email [email protected].

Define Personas and User Stories - why do _you_ want to find journals that support open source

When code is written for research and science purposes, it should be open source so that others can benefit from it. We’d like to help researchers find journals that require open source code easily. We would like to begin prototyping a real-life website that allows people to search for journals that have (or don’t have) open source code sharing policies.

If you care about open source code in science, please comment on this issue and share the following things:

  • Why you care about open source in science
  • What you would be looking for if you wanted to find a journal that supported open source code. Would you want to filter by country, research domain, APC cost, other? What factors would influence your choice?
  • preview our prototype from a previous Mozilla sprint - does it tell you everything you need? What is missing or could be improved on?

For more info about this project and the sprint, or to get help, please see the Code Is Science eLife Sprint Plan

Add citation guidelines for this repo

ideally using https://citation-file-format.github.io/ to get there.

if you want to pick up this task

  1. Comment on this issue stating that you intend to work on the task
  2. When you're ready, add your work to the repo and create a pull request.
  3. Bask in glory and email me your address if you'd like to have some codeisscience stickers for your trouble. <3

What to do if you need help

Mention @yochannah, tweet @yoyehudi, pop by to say hi on gitter or if needed email [email protected] <3

Define database schema (migrate from google form) - your choice of DB backend.

Currently we have a google form to collect journal-policy related data. We need to make this more robust! See the current fields we collect here: https://docs.google.com/forms/d/e/1FAIpQLScckKkSwH1nW22G8u0_GMRKk1KAV7SQGxaRsH6ysLecS9EHFQ/viewform?usp=sf_link - we may want to add other fields based on user stories / user interviews.

Paid hosting can be provided, but whatever stack we choose should be reasonable open source, please :) :)

This issue is part of the 2020 eLife Innovation Sprint. For more info about this project and the sprint, or to get help, please see the Code Is Science eLife Sprint Plan

Set up all contributors bot on this repo

See https://allcontributors.org/ - we want to credit all of our contributors, no matter what background of contribution type they have offered. Let's set up an all contributors bot.

If you need additional access rights to this repo just ping someone from the @codeisscience/elife-sprint-leads team to get access.

This issue is part of the 2020 eLife Innovation Sprint. For more info about this project and the sprint, or to get help, please see the Code Is Science eLife Sprint Plan

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.