Thinking about the long term sustainability of AmoebotSim development, one of the more brittle and confusing aspects of having a core, public version of AmoebotSim is the way algorithms are included. If this project gets lucky is successful, there might be many groups all over the place who want to make their algorithms available, and it wouldn't make sense for us to be the gatekeepers for what algorithms get to be included in the canonical version of AmoebotSim.
One solution could be to use a package/submodule model for algorithm development. AmoebotSim is the core project maintained in this repository while individual algorithms are published as separate submodules that can be linked in on as as-needed/as-interested basis. From the perspective of the SOPS lab, we could then just be responsible for keeping a list of community algorithm modules in our documentation that people could download.
I haven't yet completely thought through what this would take to implement, but it would certainly build on the work done in refactoring algorithm registration. Needs further investigation.
Thinking about the long term sustainability of AmoebotSim development, one of the more brittle and confusing aspects of having a core, public version of AmoebotSim is the way algorithms are included. If this project
gets luckyis successful, there might be many groups all over the place who want to make their algorithms available, and it wouldn't make sense for us to be the gatekeepers for what algorithms get to be included in the canonical version of AmoebotSim.One solution could be to use a package/submodule model for algorithm development. AmoebotSim is the core project maintained in this repository while individual algorithms are published as separate submodules that can be linked in on as as-needed/as-interested basis. From the perspective of the SOPS lab, we could then just be responsible for keeping a list of community algorithm modules in our documentation that people could download.
I haven't yet completely thought through what this would take to implement, but it would certainly build on the work done in refactoring algorithm registration. Needs further investigation.