Licensing

Choosing a license

  • Copyright is implicit; others cannot use your code without your permission.

  • Licensing gives that permission, and its boundaries and conditions.

  • Choosing a license early on means being aware of your license as the project proceeds (and not creating conflicts).

  • There are over 80 OSI-approved licenses (and many, many others) to choose from.

This is one I like to use:

What is important to you? What does your lab use? Choose your own license!

Publishing your project?

Uh… Isn’t ‘publication’ the thing you do… at the end ?

No! Publishing your project at an early stage

  • forces you to consider readability throughout
  • minimizes the mess you have to deal with when you (finally) decide to publish
  • allows collaboration and support
  • facilitates sharing and re-use.

But what if someone scoops my code! I’m a revolutionary, they will steal my ideas!

  • If you are super paranoid, you can always opt for a private repository. It is your work & up to you. But consider the advantages!

Publishing unpublished data

  • If you have sensitive data…

    • Don’t include your data in your software repository (that’s not what they are for anyway).
    • Consider generating simulated data so your code can run regardless.
  • And for all data:

    • Your data should be separate from your code!
    • If your code references your data, consider a config or metadata file for these references.

Where do I publish?

Living project: github

(or other social coding platform):

  • synergistic with version control software git

  • makes history public and accessible (eek!)

  • allows publication of different releases

  • provides a platform for interaction and collaboration


Archiving a release: zenodo

(or other stable repository, like the OSF)