A popular model is delayed source code release, so new features are developed on a private branch and binary releases, along with the code, and made available to supporters and then after X weeks merged into the main branch. Not sure how this would work with GPL3.