Custom development in Gitlab

The Gitlab codebase now has all the code relating to Free and Licensed. How do people go about doing custom development for features in Gitlab and what are the best practices? Premium code lives under /ee directory , so I assume clients make their own directories and add functionality to their setup? :thinking: Is it supported by the license ?