When software is developed in teams - the standard way software is developed today - versioning systems are the first choice for the management of collaboration. From a technical point of view, versioning systems have to face several challenges. Depending on the applied versioning paradigm, functionalities such as synchronous editing, branching, storing different versions, merging, etc. are required. Since much effort has been spent into realizing these tasks, measurable progress has been achieved over the last decades. Unfortunately, a lack of empirical studies exists to find out the actual requirements arising from practice. Therefore, we conducted an online survey and interviewed representative users of versioning systems from academia and industry. Special emphasis is on the versioning of software models, which are nowadays becoming more and more important as there is a trend to model-driven software engineering. The results of our empirical studies show that not all requirements of developers are satisfied by current versioning systems. Especially, more emphasis has to be put on the management of collaborative development, e.g., the division of work and the management of conflicts.