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.
Hi!
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
- The new "Learning DSpace" user-facing guide for DSpace 7 is worth exploring if you haven't yet
- The Functional Overview is a good high-level view of all the pieces of DSpace 7
- The Docker Compose instructions will get you going quickly with a development environment for testing purposes
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 ContinuousIntegration 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.
- How we generally manage this Documentation is on a subpage: Documentation Management
- demo7.dspace.org and api7.dspace.org - Demo sites for DSpace 7.x. These are managed currently by Atmire & 4Science, respectively.
- demo.dspace.org - The demo installation of DSpace (6.x) which is on a virtual server (Amazon EC2 w/Ubuntu Linux). This server is used to show off the latest version of DSpace 6, as well as to help test upcoming features during release Testathons.
- 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 issues:
We'll try to keep that link up to date as the next release rolls around, after planning starts for it. If that hasn't happened, and the release linked above is already out, the following links should help you find a good place to start:
- All DSpace issues, filtered with the "good first issue" tag
- All DSpace-Angular issues, filtered with the "good first issue" tag
I want to help, but I'm not really into writing code
That's cool, we need help reviewing code, and testing pull requests. Soon, we'll add more details about how to get started doing that.
You're not alone!
DSpace has a vibrant, and helpful community of developers. You have just joined that community. We're glad you're here!
The best options for seeking help as a developer are:
- Troubleshooting Guide (How to find the underlying problem/error)
- Documentation
- Mailing Lists
- Slack (chat)
- Issue Tracker (GitHub)
- StackOverflow
security at dspace dot org
(for reporting possible security issues via email)
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.
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.