Article Intended For
Penn State GitHub users seeking to learn more about GitHub Organizations or interested in creating a new one.
Introduction
GitHub Organizations provide a department or team a place to collaborate on projects, manage access permissions, and streamline workflow within a shared repository environment. By utilizing Organizations, teams can efficiently organize their repositories, collaborate with members, and integrate third-party tools to enhance productivity and streamline development processes.
What is a GitHub Organization?
From the GitHub documentation: "Organizations are shared accounts where businesses and open-source projects can collaborate across many projects at once, with sophisticated security and administrative features. "
When you visit a repository on github.com, the URL you visit has the format https://github.com/<account>/<repo>. When you create a repo in your personal GitHub account, the <account> portion is your GitHub username. When you create a repo within a GitHub Organization, the <account> portion is the Organization account name.
There may already be a GitHub Organization for your unit within the Penn State Enterprise that will suit your need. Check our list of existing Organizations and owner contact info at github.psu.edu. That page includes an email for each Organization; please use it to request membership.
All Penn State GitHub users are automatically invited to the Penn State University Organization (https://github.com/psu-edu). This Organization provides GitHub's core features with no extra-cost add-ons (See our GitHub FAQ KB article for more details). Its purpose is to provide a GitHub home for users who do not need those features and are not in a unit with an existing Organization. We use GitHub Teams to organize users there.
Who can request a new GitHub Organization?
Penn State faculty and staff may request GitHub organizations.
For people or teams that don't have funding or a budget we recommend creating a Github Team within the psu-edu organization. For more information on how to easily leverage Teams within GitHub please refer to Github's excellent "About Teams" documentation.
If you are a student who is working with a faculty member you will need to ask them to submit a request.
Article Body
Why should I create a new Organization?
Some reasons why you might need a separate Organization include:
- You need to use add-on GitHub features that may incur costs, and there is no existing Organization for your unit.
- You need your own brand and/or name to be easily found by others. Each Organization has a display name, and a shorter version of it appears in every URL of every repo within the Organization.
- You need a broad umbrella for a group of projects on which you and your colleagues collaborate.
- You require different settings for that group of projects than would be allowed in another Organization.
Remember that repositories have their own settings as well, so you may be able to do what you want to do there. Check the documentation.
Things to think about before requesting a new GitHub Organization:
- Creating a new GitHub Organization means you are responsible for its management. Penn State's GitHub Enterprise Administrators will have your back if you need help, but you and your co-owners are in charge.
- Your Organization has four attributes which you must specify:
- Organization Name:
- This is a short name with no spaces in it. Example: "psu-unit-name"
- We request a prefix of "psu-" followed by the name of your unit as this will make it clear that it is part of Penn State and make it easier for us and others to find, like "psu-myorg".
- If there's a potential future transfer of the org to another university or another justification not to have the "psu-" prefix please mention it when you fill out the "Request an Organization within the Penn State GitHub Enterprise Service" form.
- It is part of every repository URL, so make sure any special characters you use are valid in a URL.
- It must be unique on github.com.
- It should be as descriptive as possible within a short string.
- A UMG based on this name will be created and set as the Organization's email contact.
- It is nontrivial to change because it appears in every repository's URL, so choose carefully.
- Display Name:
- This appears as the title on your Organization's home page on github.com.
- It can be a longer string than the Organization Name and can have spaces and some special characters.
- It can be changed easily and does not affect the Organization's URL.
- Description (optional):
- This appears under the Display Name on the Organization's home page in a smaller font.
- It can be longer and more detailed.
- It can be easily changed and does not affect the Organization's URL.
- Organization Name:
- Some suggestions:
- Choose your Organization Name with care! It is nontrivial to change after it's created!
- If your project is internal to Penn State, consider using "psu-" as a prefix in the Organization Name. This will make it clear that it is part of Penn State and make it easier for colleagues to find.
- Check github.com to make sure the name doesn't already exist. Just try to visit https://github.com/<proposed org name>. If you get a page saying "404 This is not the web page you are looking for", then your proposed Organization name is unique.
- Make your Display Name the name of your unit. You can include more detail in the Description.
- Keep the Description brief.
- Read the GitHub documentation on Organizations to be sure this is something you need and want to do.
- Example:
- Organization Name: psu-myorg
- Display Name: Penn State Department of Me
- Description: A department dedicated to the study of me. Our website can be found at nowhere.psu.edu/me
- Email: umg-psu.dept.me@psu.edu
Each request must be approved by the GitHub Enterprise Administrators in Penn State IT.
Request your GitHub Organization using this ServiceNow form.
Links
GitHub Organization documentation
About GitHub Enterprise accounts
Request an Organization within the Penn State GitHub Enterprise Service