I stayed away from this thread for a few days until more facts came out.
Now, based on evidence it does seem that the Lion Air and Ethiopian crashes had many similarities, but also based on facts brought to light I don't think this is a software issue, it's a hardware issue.
With the usual disclaimer that the following is subject to change with more information.
The first Boeing 737 launched in the late 1960's - that's fifty years ago, about halfway point in the entire history of powered flight. The fact it has lasted this long and become the Cessna 172 of commercial aviation (ubiquitous - I think it's still regarded as the best-selling most-total-units type of aircraft in the commercial passenger category) indicates that it started as a good, safe design. Over the years it has been repeatedly tweaked, hence the -100, -200, -NG, etc. suffixes to various versions.
However, the Max line - the newest version - wasn't just "tweaked" from what is coming out. You see, Boeing concluded it needed new, more efficient engines to stay competitive and chose the LEAP engine from CFM international. There was a problem in that mounting these engines where prior 737 engines were mounted on the wing would result in inadequate ground clearance. In order to fix that, they mounted the nacelles further forward on the wing, also lengthened the nose strut, and modified a few more bits and bobs as needed to make it all work. Even so, those engines have a mere 43 cm ground clearance on the Boeing 727 Max line.
But in flight the nose strut doesn't really matter. What matters is that the engine sits further forward relative to the CG of the airframe and is in a slightly different relationship to the rest of the wing and airframe. This results in both a stronger-than-normal nose-up tendency AND a stronger than normal nose-down tendency in the airplane depending on the situation. So strong, in fact, that it caused issues with the airworthiness of the aircraft. The MCAS reaction to these conditions is likewise stronger than normal in order to made the airplane flyable. The airframe of the Boeing Max is less stable than any other 737.
This was "solved" not by actually fixing the weight-and-balance problem in the hardware but by attempting to write software to fix the problems by having a computer modify the pilot's control inputs. This is something we have been doing routinely with fighter aircraft which are arguably inherently unstable in current designs and require a functioning computer to be flown. However, the "solution" to lose of control in a fighter jet is to have the pilot eject from the aircraft. This is not a feasible "solution" in an airliner facing a loss-of-control situation. Airliners should be designed to be inherently stable (to the extent that is physically possible), not unstable, because airliners don't have to perform dogfight maneuvers or other edge-of-the-envelope stuff. Indeed, passenger airliners should as much as possible stay firmly in the middle of the envelope.
So... instead of a hardware solution to a hardware problem in this instance Boeing decided to use a software fix for a hardware problem. This apparently resulted in a problem when the software was not up to the problem (if your new iPhone has a software bug worst case you get a different phone. If your aircraft has a software problem worst case is you die a horrible fiery death). Boeing rolled out a "patch" for the software "solution" to the hardware problem. Which didn't seem to work. Because, based on what I've been able to find (with the caveat I'm not an engineer or privy to all the facts), the problem wasn't software, it was hardware. I have serious doubts that patching and re-patching software is going to solve this. I understand the appeal of the attempt - new software is a fuckton cheaper than new hardware in this sort of situation, or having to scrap a design entirely.
In addition, instead of the standard "triple-redundancy" of the aviation industry the MCAS system that is supposed to compensate for the hardware problem relies on not three but only two sensors. Unlike a triple redundant system where if one sensor fails there are two still giving accurate information and a "vote" between sensors yields reliable information, in a double-redundant system if one unit fails you have no way to know which is giving accurate information and which isn't, meaning it's a coin-flip whether the decision system (computer or human) is going to guess right or wrong on what to do. Yes, triple-redundancy costs more, but it's also a fuckton safer. Even on the bottom rungs of aviation where I used to hang out there's an emphasis on multiple inputs and confirmation of information, even more so should there be at the commercial transport level. Who the hell thought giving up triple-redundancy was a good idea? I'm guessing it's someone who spends more time pushing money around than actually traveling in an airplane.
The result of all this is that you have an airplane with a nose-up-down tendency to an unusual degree (which in aviation usually means unsafe, or at least less stable), and a software system that masks this... until it disengages or is turned off or simply can no longer adequately compensate, at which point you have a human pilot called in (because humans are there to handle situations the machines aren't programmed to handle) to deal with an airplane of flight characteristics of such unusual nature as to be dangerous. Remember - Boeing didn't think they could get an airworthiness certificate for the 737 Max without the MCAS software, so if the system disengages or is turned off the human pilot is then dealing with an aircraft of marginal airworthiness at best, and arguably NOT airworthy. Again, with a fighter jet the pilot can eject at that point, and in a modern fighter if there's a computer problem that's what the pilot does: abandon ship. A commercial airliner pilot can't do that, neither can the passengers, and is left to wrestle with something with, arguably, a major design flaw.
This isn't a matter of pilot error or pilot training. You can't train a pilot to deal with an airplane with a design problem that makes the aircraft unairworthy in a particular situation because physics doesn't let you cheat.
There are some software problems here. Inputs that result in the anti-stall system engaging doesn't just result in a nose-down input (which is what you do to prevent a stall) but a very strong nose-down input that is hard for the pilot(s) to fight. In it's first iteration this system would keep re-engaging multiple times which could (and apparently did) result in the up-down-up-down climb/dive seen in both crashes. If the system is turned off - meaning turned off so it won't be automatically re-engaged - then you have the pilot flying a plane of different than typical flight characteristics which can be hazardous. I don't know if this something that can be addressed by specifically training pilots for 737 Max emergency procedures, but Boeing advertised and sold this aircraft as something that didn't require specific training for already certified 737 pilots. Which would only compound any other problems involved with this mess.
It's not "pilot error" if the pilot was told he didn't need any additional training and wasn't informed of unusual flight characteristics.
To further add to the mess - due to the "make government small enough to drown it in a bathtub" meme in the US for the past few decades, FAA funding has been cut back with the result that aircraft manufactures have been given more and more responsibility for making sure their designs are safe. This is no way to run aviation. You need third-party observation to keep honest people honest and to put the dishonest out of business. I suspect an incremental slide to the current design flaws of the 737 Max due to lack of impartial oversight and fact-checking, economic pressures, and bad decisions on the part of the people at that were never questioned and never had to be justified to that third-party impartial outside observer that wasn't there due to budget cuts.
So, at this point, I think the 737 Max shouldn't be grounded, it should be scrapped. Because it looks like this is a hardware design flaw and you don't fix those with software or pilot training, you fix those by either fixing the hardware or getting different hardware.
A life is like a garden. Perfect moments can be had, but not preserved, except in memory. Leonard Nimoy.
Now I did a job. I got nothing but trouble since I did it, not to mention more than a few unkind words as regard to my character so let me make this abundantly clear. I do the job. And then I get paid.- Malcolm Reynolds, Captain of Serenity, which sums up my feelings regarding the lawsuit discussed here.
If a free society cannot help the many who are poor, it cannot save the few who are rich. - John F. Kennedy
Sam Vimes Theory of Economic Injustice