As part of getting ready for our Alpha release and initial round of User Acceptance Testing, I took our FAIMS3 repository public just now. FAIMS3 is built in Typescript and we’re designing it to be multi-platform from the get-go. Our Alpha release aims to accomplish the following expensive sentence:
To demonstrate the foundational capabilities of FAIMS3. Specifically, loading a module from a specification, data entry on all OSes, and asynchronous data exchange on an append-only datastore.
My goal when setting our development directions for Alpha was to ensure we had a rock-solid base to develop features on. As such, I’m making sure we build in unit, integration, and end-to-end testing throughout our design cycle, even if that costs us features we promised people — a more reliable product will help us sustain development for longer, and people are more willing to pay for features then they are for support infrastructure.
Our end-to-end testing is using Browserstack, because of their App Automate framework and very generous Open-Source support. Our CI is using Github Actions for much the same reason. I hope to release some video produced by our QA person in CSIRO via Browserstack very soon
Some notes on open-source licensing
We chose to use the Apache 2 license as an unrestrictive non-copyleft license which can support our sustainability goals. We were also heavily inspired to use Developer Certificates rather than a Community License Agreement due to James Bottomley’s discussion of the Community Corrosive Effects of CLAs. We wanted to make sure that we were well locked into the Apache 2 license and to recognise the contribution of our developers over at AAO@MQ and CSIRO.