Smith is the one respoxible for neo's change.
here is a thoguht. Before you guys shoot it down, stop and think about it. Plus it is based on the idea that i believe that they are all still in the matrix.
In M1, trinity tells neo that everything the oricle said was true, but this. Just b4 the big fight scene. Now that means all the events after the resue maybe new.
Snith was fed up about being in this LOOP. He figured that he would kill NEO and that would end the loop. With great satifaction. That forced neo to see the code of the matrix diferently.
If smith had just let Neo go, he would have went to oricla and replinish zion like he did b4. The reason i say this, is cause i remeber they wanted to cut that from the first movie.(smith hatred of humans speech)
said it slow the movie. But felt it to important.
Neo sees that the person who created zion that had the power to manipulate the matrix was him. He see that zion is the false choice that they give people. They can live in this perfect world with perfect jobs or fight to save man.
smith is free do to some of Neo's programming rubbing off on him. But neo change cause smith's wanting to leave the matrix rubbed on him.
😉