Workshop: The OpenAlex Library

Create collaboratively an open source software library to access research with OpenAlex.

Resources

Tasks

  • Choose the maintainers team who will create and manage the repository
  • Keep a list of useful commands
  • Create your list of features
  • Create a side script where you import the library and do your tests
  • Create a documentation
  • Choose a licence

Secondary tasks

  • Create issues to list and explain the requested features
  • Identify existing libraries
  • Create a CLI
  • Review, improve and refactor the code

Questions

  • What is the difference between issues and pull requests?
  • What is a fork? What is a branch? What is an upstream and downstream repository?
  • What should be the strategy to propose a modification? Maintainers need to explain it to the group
  • What is a library?
  • What are the name of different software forges that exists, and what is their differences?

Advanced questions:

  • What is a DOI and how do you search for it?
  • What is a persistent identifier? Give a list and quick explanation of some existing identifiers.
  • What is role of the organization Software Heritage?
  • What is the purpose of Creative Commons licenses?

Pedagogical outcomes

  • Understanding of open science and use of a research search engine
  • Use of an API and software development around it
  • Experiment of open source software collaboration through a software forge
  • Self-organization in a collaborative setting

Workshop organization

First step: Create the repository and let students create a first draft of a source code in little groups.

Second step: When a first source code base is in the repository, let them divide the tasks among themselves according to their interests and preferences.