Please Make Basic Branch Protection Free for Private Repositories #174419
Replies: 2 comments 1 reply
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
-
|
I generally agree with the feedback here and understand the business reality that GitHub needs to keep meaningful features behind paid tiers. That part is fair. However, there is a middle ground that would significantly improve safety for free users without cannibalizing the paid plans. At minimum, GitHub could allow very basic protection for the default branch (e.g., main), limited to a couple of simple safeguards such as: These are not advanced workflow features like required reviews, status checks, or complex rulesets. They are simply guardrails to prevent catastrophic mistakes. Anyone who has worked with junior developers, students, or new Git users has likely seen situations where a naïve git push --force or accidental history rewrite destroys the branch history. Even experienced developers occasionally make this mistake. Branch protection exists specifically to prevent that kind of damage.  Allowing basic protection only for the main branch would: In other words, this would act as a safety net, not a full branch governance system. Paid tiers would still clearly justify themselves through advanced protection rules, organization-level policies, compliance features, and automation. But without at least minimal safeguards, free repositories remain unnecessarily fragile—especially for teams with less experienced contributors. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
General
Body
Pretext and Acknowledgement
I submitted the following as product feedback, and was encouraged to share it within the general community as a discussion post for better exposure, discussion, and hopefully review by GitHub's product teams. Thank you you all for your time and support in reading and any contributions you might make.
The Problem
GitHub’s free private repositories don’t allow simple branch protection (e.g., ‘no direct pushes to main’). This limitation creates unnecessary friction for student and small project groups, and I believe it should be available on free accounts.
How is this an issue?
I've held a GitHub educational license for several years now as I've gone back to University to pursue my education full time. Recently, and on several other occasions, I've needed to work with other GitHub users over an extended, but limited, period of time in an educational context to create several repositories later supplied as proof of work for a class or classes. The administrative overhead of setting up a new private repo under a single educational license multiple times for the same three to five users is inconvenient, at best, but has sufficed with patience.
However, this time I must give another developer in my class project group administrative access, and we must give our TA "Read Only" privileges so they may assess our work. We are strongly discouraged from publicizing our repository, for the purposes of academic integrity. The Professor, however encourages us to use GitHub because it is the standard and offers useful quality of life features like projects, actions, free runner minutes, etc.
We can't manage the level of granularity needed to meet these requirements well with a single private repository, so we needed to use an organization. However, before transferring there was little-to-no indication that transferring the repositories would result in dropping enforcement of branch protection rules, previously established. We find out after everyone has migrated to the new organization and adjusted their local environments.
The educational license benefits are gone, and with it our main branch protection rules. As someone who has experienced catastrophic repository mangling more than once at the hands of an inexperienced or lazy team member,, I argue vehemently that simple branch protections are necessary and fundamental for all projects.
Aren't there alternatives?
We could switch to use GitLab or GitTea or some other service, probably, but the technical and social costs of migrating everything over to another service is too high. We would be asking the group to create new accounts, or I'd have to transferring the repo back to a private individual repo, fixing the settings again, and then get everyone to change their local setups, again.
The restriction is inconvenient, and honestly feels arbitrary. Our primary options are: accept the risk, accept major inconvenience, or pay money we don't really have. If we were a personal project with sponsorships, employees of a corporation with money for licensing, or a funded lab, this wouldn't be a question. We would understand paying for licenses, because we would likely need to numerous other paid features GitHub offers, and that is where GitHub's paid market comfortably sits. However, we are not a company, we are not seeking income, we are not members of a lab, and this has come up more times than I can think of in similar contexts.
Should this *still be a paid feature?
GitHub's Team and Enterprise offerings have such a massive feature-set outside of just branch/org/repo rules that I believe allowing, at a minimum, simple templates for branch rules like "no push to main" to become a free feature would be a massive quality of life improvement and create a more positive experience for all users, and without diminishing the value of the paid tiers. It appears on close inspect to be a missing core feature, withheld to push users into matriculating rather than an additional feature only some users may want.
In the modern context of GitHub's feature offering, at least the simplest branch rules surely can't incur such significant cost as to justify requiring paid licensing. As a counterpoint, I acknowledge that in GitHub's earlier sparser offering, this was part of the much smaller feature-set and protected GitHub from exploitation. However, with Microsoft's technical expertise behind GitHub, they are more than capable of detecting and handling abuse where it might occur.
To acknowledge and counter the idea that this feature separation provides clear and reasonable product segmentation, I would argue that the mixture of Private/Public rule-set differences, the large number of significantly more expensive to implement free tier features, and offering Team benefits to educational licenses but not small educational groups muddies the waters substantially as to what is reasonable and is not. What is reasonable is just what is presented, "as is".
Taking stock of GitHub's free and paid features without knowledge of their tiers or costs, would you classify regex based branch protection as basic functionality justifying a paid tier, or as fundamental and simple compared to the other features?
What needs to change?
In a modern context, the value proposition of the Team and Enterprise tiers are enticing enough to prevent most forms abuse, in my opinion. I believe it may not have been the case at the time which the original decision regarding branch protection rules was made, and that a reassessment of this offering is well overdue.
Offering branch rules to everyone in private repositories is trivial. Please make them available to everyone or, at a minimum, expand educational licenses to apply to small project organizations to help bridge this gap.
Thank you again for reading.
Best,
Nathan Jodoin
Beta Was this translation helpful? Give feedback.
All reactions