Affects Version/s: None
Fix Version/s: None
There are four kinds of extensions/contribs:
- the ones part of the main repository (PT)
- the ones part of the "contribs" sub-repository, that are part of the official releases
- the ones part of this sub-repository, that are not part of the official releases
- the ones that live happily in their own repository
I focus here on types 2 and 3. The description in
applies partly, but there are important differences.
Let's start with the main problems:
- lots of those contribs are just an extract from playgrounds, and become unmaintained with time.
- the history of contribs and main are interwined, making it difficult to read
- the release rhythm is imposed by the MATSim rhythm, which might not be optimal for all type 3 contribs
The benefits of moving all type 2 and 3 contribs to type 4:
- They would be able to define their own releases, with clear changelogs, linked to one particular MATSim release, taking advantage of a clear commit history
- An unmaintained contrib would point to an old MATSim release, avoiding breaking what used to work, and making it clear its development is stale
- "Favored" contribs could be part of the matsim github organization, giving them additional visibility
The main problem I see is with type 2, as some additional management overhead is necessary to get all developers create releases of their contribs for the MATSim release. The benefits in terms of quality seems to be greater than this cost.