To be fair, a modern ECU is pretty darn complex. Last one I worked on the calibration of at work had 25,000 calibratable variables - some were just single setpoints, others could be 16x16x16 3D maps... Takes teams of people a couple of years to go from clean-sheet design to something that's fully productionised. 6,000 pages of software documentation to read too. Digifant is dead simple by comparison - it's like comparing a gramaphone to an iPod!
Megasquirt is one way of learning, but you end up learning a lot of pointless shite in the process that's unique to the speshness in the way it's programmed/designed when you really just want to be learning about EFI - not how to bodge MS to get it to work. It's come a long way since we used it on Yoof's car, but it is like an overgrown uni project. You also run the risk of listening to (albeit skilled) people with good knowledge of electronic hardware or software design - but who may not really have a clue about automotive electronics.
A fine example is the use of a bloody parallel port connector, and industrial temp range components in the early MS versions. Like I said, it's come a long way since then - and I believe that MicroSquirt was supposed to be a fully automotive spec sealed unit with a proper automotive sealed connector. Dunno if that's made it to production yet though.
Even with a commercial product like Emerald there are improvements to be made, aside from needing a properly sealed case, I've found several software bugs that've done my head in and disappointed me in equal measure. But at least with that you've got some comeback to winge and get a new software version!