IMO
The kid did the WRONG thing.
He should have told the bus driver about the gun.
I think he did the wrong thing too, by picking it up and not telling an adult instead.
Where I have a problem though is he could have been told by the principal what to do in the future without suspending the kid. The kid was trying to be responsible and careful and he was punished for it.
The principal was an idiot, IMHO.