Rock vs Hard Place
When starting a new project, there are 2 approaches:
1. Get the base functionality done first, noting bugs and security stuff as "todo", then fix it.
2. Build a perfect infrastructure, then add the functionality.
Approach #1 is potentially dangerous (if you get the architecture wrong, you have lots of changes to make, and if you don't build in security from the start, you may not be able to add it later). But it has some major advantages:
- You have a working environment early, for testing ideas and prototyping
- You have a working demo environment (so it's easy to get backers and funding)
- You can prove to yourself that it will work in principle, which aids motivation.
- Other hackers like working code...it's much more motivating for people to potentially join a new project if there is something released that works, at least a bit.
- It gives the artists, css, documentation, and translation people something to start work on earlier, helping with critical paths.
Approach #2 only works well if you have a very small group (ideally one) who already have the design fully-formed in their heads, or if you want ultra-perfection (eg NASA) and have a matching budget.
So I applaud them choosing model #1...provided that the FIXMEs do actually get fixed before release!