"Snips, on the other hand, runs completely on your device, with nothing being sent to the cloud. This means it guarantees your Privacy, works offline and doesn't have variable costs!"
Unfortunately this leads me to wonder whether or not the service will remain free, but for the moment it is "free for makers and for building prototypes". Commercial costs apply.
Does this mean the language model will not learn as it is used more? I feel the main reason for sending & storing data in cloud is to train the algorithm to get better at recognizing & answering the questions.
2. Voice to text
3. Natural language understanding
4. Skills (search, weather, reminders, etc)
None of those are trivial problems but #4 is notable because it is often used as one of the ways Google beats Alexa. It can be boiled down to if a human simply asks for what they want, what are the odds the assistant will have an answer?
That to me is the part least likely to have a good open source alternative.
At the time you had the option of using AWS or Google to handle the voice, or possibly (if you have the time and knowledge) train it up to use a local service - this was gently discouraged by the documentation (it was referenced, but not well explained what it involved).
I believe you can now use Watson to offload the voice to text, too.
But in all those cases you're sending data off-site, which may be a concern. And each of those services has some usage constraints that should be enough to cover household use, but I'm not sure what happens when you start to hit those limits.
I don't know if other portions of the code might use off-site access data processing. I wish more projects would create a system block diagram of their software.
There is a free offline wake word detector here: https://github.com/Kitt-AI/snowboy ... ok that was closed source when I looked last! Looks like you still need to use their website for training though.