Capturing non-OpenSCAD contributions

Due to the build scripts and a desire for the “source” not only the model to be open we don’t put STLs in main OpenFlexure microscope Repo.

While I think this “purity” is important for core microscope components we need a way to make community contributions available in any format:


  1. We make an “Extras” or similarly named subgroup on GitLab
  2. We make an repo for “OpenScad Extras”, this can involve weird and whacky additions that other may want to use, but don’t really belong in the core project. I am sure we already have a number of these floating around the group. We can then have a build script to build these STLs.
  3. We make an “Other Extras” repo which has models in any format, no CI, just models. This way people can contribute things in any format
  4. We make a label for the microscope repo (or maybe a project level one) called requires conversion to OpenScad. And we open issues for anything in “Other Extras” that we think should get included into the main repo, once converted. We can remove the model from Other Extras, but the contribution remains in the GitHistory, and we should have way to acknowledge the original contributor’s contribution in the main repo.

I would say keep it as simple as possible, avoid adding more repos or practices you need to be savy to and just put the STLs (along with CAD source if possible) into the main microscope repo if they are designed with something our CI scripting cannot build. A good parallel is the contrib directory you see in a lot of open source software projects.

Yeah but the models are binaries and fill up the repos so incredibly quickly. We either end up in LFS hell where 99% of people cannot access the models as they are not in the Zip. Or we have a giant repo that takes all day to clone when we are in Tanzania.

I think the next simplest thing is to just make another repo: openflexure-microscope-contrib or like you called it “OpenScad Extras” for anything that we feel is worthwhile but can’t go in the main repo.

I think Julian’s suggestion was that there is a difference between openscad contributions and STL contributions, because the former are small files that benefit from CI. However, I’m not sure most contributions will be auto-built with CI, and the point at which they are is probably the point at which they get integrated into one of the other repositories. So I think “openflexure-microscope-contrib” is a good shout, and if we get contributions that would benefit from build scripts, we can always start another repo for that in the future.

Things that would live in a “contrib” repo for now:

  • The UC2 adapter
  • The dashcam adapters from STICLab
  • The “torch holder” merge request (this is SCAD but I’m not sure how much sense it makes to merge)
  • Some of the alternative bases (though I’m currently merging in an OpenSCAD one)
1 Like