Saying you have 3 proprietary and 50 open source projects. The easiest way is to allow Anonymous and Non members to access projects and shift these roles for proprietary ones... But - (for a case something goes wrong and the plugin stops to work)! So looks like one is better to define shifts for 50 projects... It’s approximately 100 shifts... And similar shifts should be defined for each new open source project!..
So to avoid this the idea is to define global default shifts which get automatically created when a new project is registered. In this case for proprietary projects you will just need to remove these shifts...