I've only been a software engineer for a few years, and joined a startup a few months ago. Things were going well, and I really enjoy the work and believe in the business. A few days ago we had an all hands meeting where the CEO explained that the company would not be able to pay anyone this month due to issues attracting funding.
From the sound of it it's going to be at least a few months before any more funding arrives - but they're hoping to keep the business running until that time, and pay people back at that point. I have some savings so I might be able to survive for a few months on those if I have to.
What are my options here? If they fail to pay me, is that breach of contract, and am I free to stop working immediately? If I leave, what evidence should I be collecting to document that I haven't been paid so I can claim it back later if necessary? If I choose to stay what should I be asking for in return for taking such a risk?
A company that isn't paying employees is not continuing to run.
If they fail to pay me, is that breach of contract
I am not qualified legal consul and if the fine points of law are really important, I recommend hiring competent legal consul experienced in these matters.
That bullshit aside, if they are not paying you find another job. If the company raises a fuss, I recommend the "fuck you, sue me" (FYSM) approach. It's simple. If the company can't afford to pay employees, it almost certainly does not have money to pursue legal action in regard to your contract even if it thinks it has a case.
Usually, employee salaries are the last expense that a company keeps paying because without employees things go down hill faster and there is less chance of recovery. But if the company isn't paying you, then it almost certainly is not paying other bills. And those creditors have lawyers and any money for legal fees within the failing company will be directed at that problem first.
I have some savings so I might be able to survive for a few months on those
A CEO who expects you to do that (or even asks), doesn't give a shit about you. People of character are uncomfortable exploiting other people. The CEO already has exploited a month of free labor to keep their hope of making money alive. You are already out a paycheck. The CEO knew when the money would run out a month ago. Instead of allowing you to get your affairs in order, the CEO mislead you.
Misled you over money.
Good luck.