About getting enrolled #356
Unanswered
AdrianWellss
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The correct model is:
Trust is earned, but access is controlled.
A mature organization usually requires one or more of these:
CLA
A Contributor License Agreement confirms that the contributor has the right to submit the code and grants the project legal rights to use it. GitHub’s OSPO describes CLA as a legal document defining the rights granted by contributors to a project.
DCO
A Developer Certificate of Origin is a per-commit sign-off. It means:
I have the right to submit this contribution under the project’s license.
GitHub supports commit signoff policies, and the signoff is meant to confirm compliance with repository licensing rules.
Example:
git commit -s -m "Fix mesh import crash"
NDA / contract
For a private commercial organization, CLA/DCO is often not enough. They may require:
NDA
employment agreement
contractor agreement
IP assignment agreement
confidentiality clause
security policy acknowledgment
For private source code, this is normal.
A serious organization should not add a new person as an owner or broad member immediately.
Better sequence:
Stage 1: public PR contributor
Stage 2: outside collaborator on one repository
Stage 3: read/write access to one limited repo
Stage 4: module maintainer with CODEOWNERS review
Stage 5: organization member
Stage 6: admin/owner only after long-term trust
GitHub supports granular repository roles, so the organization can give people only the access needed for their work.
If the organization worries about leakage, the answer is not “trust me.”
The answer is:
Give me access only to the repository or module I need.
Do not give me access to private customer code.
Do not give me access to secrets.
Do not give me admin rights.
Do not give me production credentials.
Review all my changes through PRs.
This is called least privilege.
For example, if you only work on a CAD mesh import module, you do not need access to:
billing code
customer private data
license server code
deployment secrets
internal strategy documents
all company repositories
4. Process trust: force review before merge
Even if someone has write access, they should not be able to directly modify important branches.
Use:
protected main branch
required pull request review
required CI checks
required CODEOWNERS review
no force-push
no direct push to main
GitHub branch protection rules can require reviews, status checks, and prevent dangerous direct branch operations.
CODEOWNERS can automatically request reviews from responsible owners when someone modifies code in their area.
A professional organization should maintain auditability.
GitHub organization audit logs show what action was performed, who performed it, and when.
They should monitor:
who joined the org
who changed permissions
who cloned or accessed sensitive repos, where available
who changed branch protection
who added deploy keys
who created tokens
who changed secrets
who merged PRs
who deleted branches
Also require 2FA. GitHub organization owners can require members and outside collaborators to enable two-factor authentication.
You should not say:
You can fully trust me.
That sounds weak.
Say this instead:
I understand your concern about source code leakage, copyright ownership, and license compliance. I do not expect broad organization access immediately.
A safer approach would be to start with pull requests or limited access to a single repository/module. I am willing to follow your CLA, DCO, NDA, branch protection, code review, and security policies. I will only submit code that I have the right to contribute, and I am comfortable with all changes going through review before merge.
I think trust should be built gradually through contribution history, clear ownership of code, and controlled permissions rather than relying only on personal promises.
No organization can know with 100% certainty that a member will never leak code or violate copyright. The professional solution is:
legal agreement
identity verification
least-privilege permissions
limited repository access
CLA/DCO/NDA
branch protection
mandatory review
audit logs
2FA
gradual promotion
fast access revocation
So the real message is:
“Do not trust me blindly. Give me limited responsibility first, verify my behavior through PRs and reviews, and increase access only after I prove reliability.”
Beta Was this translation helpful? Give feedback.
All reactions