Hello,
Packages are installed in projects (rather than spaces) and when a user makes a copy of that project they will get copies of any packages installed in that project. You are correct that if a user copies a project - and that project is later modified - the copy will not get the updates.
In general people tend to manage courses by creating a single public project for each assignment in the course (rather than a single project for the entire course). So if you forget to add a package in assignment 1 that is needed in assignment 2-8 then you have time to add those in to assignments 2-8 before the students make a copy of them.
Let me know if this does not answer your question,
Sean