Skip to content

KUKSA.val Component Maturity

Erik Jaegervall edited this page Sep 7, 2023 · 6 revisions

This is a suggestion on how to classify KUKSA.val components. Idea is to use PyPI classification as basis (Planning, Pre-Alpha, Alpha, Beta, Production/Stable, Mature, Inactive)

https://pypi.org/classifiers/ https://martin-thoma.com/software-development-stages/

Status KUKSA.val Meaning
Planning No software exists
Pre-Alpha In development
Alpha Usable for Internal use, Demo and Proof-of-Concept
Beta Usable for Evaluation and Testing Purposes, well maintained
Production/Stable Feature Complete, reasonably well tested, well maintained
Mature No new features planned, minimal maintenance
Inactive No maintenance, not tested/updated when other components are updated
TBD Components where no decision yet has been taken
Component Status Exceptions/Comments/Rationale
KUKSA.val SOME/IP Feeder Alpha Not generic, can only be used as designbase
KUKSA.val Replay Alpha Only intended for test purposes
KUKSA.val CSV Provider Alpha Only intended for test purposes
KUKSA.val Example HVAC Service Alpha Not generic, can only be used as designbase
KUKSA.val Example Seat Service Alpha Not generic, can only be used as designbase
KUKSA.val Mock Service Alpha Only intended for test purposes
KUKSA.val DDS Provider Beta Not sufficiently tested/proven yet
KUKSA.val Client Production/Stable Websocket connection functionality in status "Mature"
KUKSA.val Databroker Production/Stable VISS/Websocket functionality in status "Alpha"
KUKSA.val DBC Feeder Production/Stable J1939 functionality in Alpha status as no public test files exist
KUKSA.val Server Mature No contributor showing strong interest in VISS/Websocket/C++
KUKSA.val Go Client Mature No contributor showing strong interest in Golang
KUKSA.val GPS Feeder Mature No contributor showing strong interest in extending functionality
KUKSA.val S3 Uploader TBD Unclear if anyone is interested in this component
KUKSA.val Node red dashboard TBD Unclear if anyone is interested in this component

Proposed Version Handling:

  • If we release a new version of the server solutions (KUKSA.val Server and KUKSA.val Databroker) or the SDKs (KUKSA.val Python Client, KUKSA.val Go Client) we shall strive to test the "Production/Stable" and "Mature" components using or depending the updated server/SDK with the new server/SDK as soon as possible.
  • If no-one volunteer to test/update the "Production/Stable" and "Mature" components then they may be degraded to "Inactive"

Any Production/Stable/Mature component shall always "work" with latest release server/SDK

Proposed maintenance strategy:

  • If a bug or vulnerability is found - fixing it should have a high priority if the component is in state Beta, Production/Stable or Mature
  • Exception: Individual features in "Production/Stable" components may be considered as "Mature" or "Inactive"
  • For Pre-Alpha/Alpha fixing bugs and vulnerabilities has no priority, focus is in on feature growth
  • If no-one volunteer to fix "Production/Stable" and "Mature" components then they may be degraded to "Inactive"