Skip to content

Community Driver/Mapper Contributions: Repository Assignment

ADR: Community Driver/Mapper Contributions: Repository Assignment

Status

  • Proposed
  • Trialing
  • Under review
  • Approved
  • Retired

Context

The Community Implementation of the OSDU Platform will feature a reusable and tested foundation, which can be deployed with custom technology stacks using sets of Drivers and Mappers, a.k.a. the 'South Decision Point.' This approach enables the customization of underlying resources for each cloud or specific environment without necessitating code changes. The framework accommodates the contribution of new Drivers/Mappers at a later stage.

https://community.opengroup.org/osdu/platform/system/lib/drivers

https://community.opengroup.org/osdu/platform/system/lib/mappers

Problem Statement

If anyone wishes to introduce new sets of drivers/mappers, they may be unsure where to contribute them. This decision involves whether to add them to the existing Community repository, such as https://community.opengroup.org/osdu/platform/system/lib/drivers/os-obm, or to create a new repository not directly affiliated with community projects.

Decision Options

1. In the same repository, as a new module, for example, https://community.opengroup.org/osdu/platform/system/lib/drivers/os-obm

Pros:

  • Easier to align API (Java Interfaces) updates with custom drivers and update them accordingly.
  • Ability to check whether updates are compatible with custom drivers.
  • Easier to maintain versioning. Auto version increments could be done in place for each set of drivers.

Cons:

  • Issues with custom drivers may affect the stability of community drivers. Vulnerability scans, build issues, failed tests, etc.
  • Breaking changes in the driver API should be implemented by custom driver contributors without delays, or it could break the flow.

Sum: This approach would favor custom drivers more, and the community implementation could be affected.

2. As a separate project, for example in group https://community.opengroup.org/osdu/platform/system/lib

Pros:

  • The community set of drivers will be kept isolated, simplifying their maintenance, etc.
  • Updates to the driver API can be implemented by custom driver contributors at their own pace.

Cons:

  • Breaking changes could be harder to adopt.
  • Harder to keep versions up to date, custom driver maintainers should keep up to use the latest version.

Sum: This approach would favor community drivers more, custom driver maintainers should keep up.

Decision

TBD

Consequences

TBD

Edited by Rustam Lotsmanenko (EPAM)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information