I think we should distinguish between OHDSI ‘core software assets’ that are key to the overall OHDSI goal (’ generation and dissemination of reproducible, scientifically rigorous, comprehensive evidence’) and other voluntary software contributions from the OHDSI community.
The core software assets need to be more rigorously managed and a good first step is to assign formal OHDSI product owners.
We should continue to encourage innovation though the broader set of community software contributions by being more relaxed about requirements and management of those contributions.
I can see a lifecycle where some community software contributions eventually become part of the OHDSI core software and get assigned an OHDSI product owner. We can develop some helpful selection/acceptance criteria for transitioning community software into the OHDSI core software set.
Here are some of the software development challenges:
- Multiple OHDSI supported DBMS & Operating Systems
- Coordination of software release schedules for dependent software components
- Support for new CDM database schema releases
- Versioning of study design artifacts is needed:
- For continued support of older software releases in the community - especially for Network studies
- Migrate existing study design artifacts for compatibility with new software releases
- Study reproducibility
- More unit tests/performance tests/integration tests required - need automated testing processes
- Ownership/communication for OHDSI software products/product roadmaps is informal
- Innovative open OHDSI community software ecosystem has a wide ranging set of software dependencies
- Some additional complexity necessary to use components across Atlas & Arachne and R Methods
There are also some challenges to consider around software deployment:
- Sparse documentation can be a barrier to deployment
- Can be challenging to identify/install/maintain specific software dependencies
- Need to handle potentially conflicting software dependencies (encapsulate dependencies)
- Numerous steps needed to install tools & their software dependencies manually
- Need more automated approaches to software distribution & installation
If OHDSI is going to assign product owners to core software then some questions to think about are:
- How are OHDSI product owners nominated/transitioned?
- What responsibilities/deliverables do they have?
- How do they engage with the OHDSI steering work group & the wider OHDSI community?
- What support/guidance should OHDSI provide to product owners?