I’ve been looking into JabRef and noticed that while there is extensive user documentation, there isn’t a centralized Software Requirements Specification (SRS) document detailing the system’s functional and non-functional requirements.
I would like to contribute by drafting a comprehensive IEEE-aligned SRS document for JabRef. This will cover system features, use cases, user characteristics, and non-functional requirements (such as performance, usability, and data persistence).
Once finished, I will share the document here for any review or feedback from the maintainers and community. Please let me know if there are any specific functional areas or features you would like highlighted!
I assume this is a student-task with a one-shot contribution or do you have time to work on this for several months?
Your initial post does not contain any links, which is not OK in the times of world-wide-web. Remember that the success of the Web was because of hyperlinks!
Each issue (!) should appear in the SRS and be linked so that traceability is there. I don’t see any indication that you have knowledge about tracing.
You seem not to have looked at the current state of JabRef - we begun to harvest requirements in an organic way at Requirements | Developer Documentation
If you want to start to work on it, maybe pick one small example. Outline how you want to achieve concistency. Maybe you know that a software project evolves and requirements change.
Thank you for the straightforward and constructive feedback, as well as the link to the JabRef Requirements Documentation. You make a completely valid point regarding hyperlinks and the massive scale of maintaining a full SRS.
To be clear about our capacity: We have a dedicated timeframe of a few months for this effort, so attempting to cover all 4,600+ issues of JabRef in a single SRS is indeed unfeasible. We completely understand if JabRef strictly prioritizes long-term, ongoing maintenance over short-to-medium term contributions, and we fully respect your decision if this effort doesn’t align with your current project goals.
However, if you are open to a smaller contribution, we would love to follow your suggestion and start with a focused approach. Our plan would be to select a single core module / subsystem (e.g., PDF Metadata Extraction or Online Bibliographic Fetchers) rather than the entire application.
For this specific module, we aim to draft an IEEE-aligned specification defining 2-3 key use cases and establishing a clear traceability matrix directly linking requirements to existing GitHub issues and code components.
If this sounds acceptable, we will review your documentation, pick a candidate module, and share a brief outline here first.
Thanks again for guiding us in a practical direction.