Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

Welcome!

So, you want to work with DSpace, great! Here are some resources to help the first few days as a new DSpace developer go a lot more smoothly.

But I'm not a developer!

That's fine, even if you don't consider yourself a developer, if you want to work with DSpace in any capacity, we're here to help. These resources are for you. Welcome aboard, let's do some cool stuff!

Getting Started

Getting oriented: The Tools We Use

Here's a current list of the tools/sites we use, and how they are used.

  • GitHub - The main codebases & issue tracker are here. We also distribute our releases from here.
  • GitHub Actions for CI - We use GitHub Actions to do all Continuous Integration checks, including validating PRs & running automated tests. See Continuous Integration for more details. 
  • DSpace Wiki- The public wiki space. A few areas to be aware of (if you are not already)
    • Committer Guidelines - Splash page for all our Committer Guidelines. Sure, you are probably not a committer, but these guidelines are good to know.
    • Release Procedure - In case you are interested, this is our procedure for cutting a new release. If you're interested in helping with a DSpace release, release team membership is completely open to the entire community, so reach out to any committer and let us know.
  • DSpace Documentation- The official DSpace documentation is created in this wiki (and PDFs are generated from the wiki during releases). This is the splash page which lists all the existing DSpace Wiki Documentation.
  • demo6.dspace.org - The demo installation of DSpace (6.x) which is on a virtual server (Amazon EC2 w/Ubuntu Linux). This server can be used as a resource for those upgrading from DSpace 6.x to 7.x.
  • www.dspace.org - Main website which is managed by LYRASIS. If you need something changed/updated there, contact Tim Donohue

I'm ready to develop, where do I start?

We track our focused development work in GitHub project boards, and we try to tag the tickets that are "good first issue":

  • Latest Release Board(s) - Look for the issues labeled "good first issue" on this board, and ask to claim one. How? Ask in Slack, we'll help you get your name on that issue.

If you want to dig deeper than the focused work we're doing on an upcoming release, here are two links to every issue that is marked "good first issue", including tickets in our backlog:

We also have some guidelines for how to contribute new code:

I want to help, but I'm not really into writing code

That's cool, we need help reviewing code, and testing pull requests. We have a great step-by-step guide on how to test DSpace 7 pull requests. Even if you're a bit hesitant about actually running DSpace on your own computer, trust us, you can do it. We believe in you!

I just need to customize the look of our site, I don't know where to start

We wrote a page just for you: User Interface Customization

I see that tests are required for new contributions, but I'm not sure where to start or how to run the existing tests

We have a wiki page for that, too: Code Testing Guide

You're not alone!

DSpace has a vibrant, and helpful community of developers and technologists. You have just joined that community. We're glad you're here!

The best options for seeking help as a developer are:

Asking a question on the mailing list, on Slack, or StackOverflow, are all great ways to get help. The DSpace community is global, no matter the time of day you're reaching out, you are likely to get a response a lot faster than you expect.

Code of Conduct

All DSpace support channels, mailing lists and meetings follow the LYRASIS Code of Conduct. We ask you to remain respectful in all discussions. We also encourage you to report any violations of the code of conduct to LYRASIS (see the Code of Conduct for more details).

Be the change you want to see

After you join the mailing lists, Slack, and StackOverflow, if you see a question that you know the answer to, please jump in and help. That's how this whole thing works.





  • No labels