I am considering moving many shapefiles to a newer format like GeoPackage.
Can GeoPackage handle multiple users editing the same file more or less simultaneously?
I have no technical background on how Geopackage works internally, so after searching for information on the simultaneous editing capabilities of Geopackage and barely finding anything conclusive, I decided to try it myself. I loaded the same Geopackage layers in two different Qgis (3.8.2) projects, and this is what I found out.
This is the (apparent) behaviour in that second case:
In conclusion, I wouldn't trust a Geopackage layer for all kinds of concurrent editing. But if both users are just adding objects or being sure they won't be editing the same ones, it seems to work very well, like almost real-time collaboration.
Negativo, nadda, nope, nine, sorry no.
More information on this tread as well. But in short, geopackage files are not design for multi-user editing. They have no 'middleware' server application structure to coordinate and orchestrate transaction ordering/queue mechanisms.
Using QGIS SpatiaLite/Geopackage databases on shared network drives
Also more info on SQLite databases https://softwareengineering.stackexchange.com/questions/340550/why-are-concurrent-writes-not-allowed-on-an-sqlite-database
Short answer, do not use file based database for multi editing.
Use a proper database engine such as PostgreSQL.