SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
Explore the GitHub community

Open Source on GitHub: Sponsors, Marketplace, InnerSource, Forks and Discovery (GH-900)

11 min readGH-900 · Explore the GitHub communityUpdated

Open-source engagement on GitHub is how developers and companies share, fund, find and contribute to code: publishing projects under open source licenses, paying maintainers through GitHub Sponsors, following people and organizations, extending workflows from GitHub Marketplace, applying the same practices privately as InnerSource, and choosing forks, templates and discoverable repositories so others can build on the work. This lesson covers the GitHub Foundations (GH-900) skills for the "Explore the GitHub community" domain.

What you’ll learn
  • Describe the benefits of open source and how contribution works without write access
  • Explain GitHub Sponsors tiers and fees and how FUNDING.yml displays a Sponsor button
  • Explain how GitHub supports open source, including free Actions minutes, self-hosted versus larger runners and free Copilot Pro for maintainers
  • Distinguish following users and organizations from watching and starring repositories, including watch settings
  • Describe GitHub Marketplace and what publishing paid app plans requires
  • Explain InnerSource and the visibility and practices that make it work
  • Choose between forks, templates, topics and repository visibility to promote collaboration

What open source is and why projects choose it

Open source software is code published under a license that lets anyone read, use, modify and share it within the license's terms. On GitHub that usually means a public repository with a LICENSE file, a README and contribution guidelines.

The benefits come from many people being able to see and build on the same code:

  • Transparency and review: anyone can read the code, so more people spot defects and security problems and report or fix them through issues and pull requests.
  • Reuse: other projects can use the code under its license instead of writing the same thing again.
  • Shared improvement: features and fixes arrive from users with different needs, and the project's skills and reputation grow with its community.
  • Learning and hiring: public work is a visible record that developers and companies can point to.

Open source is about who may use the code, not who may change the original. Outsiders contribute by forking the repository and opening pull requests, and the maintainers stay in control: they decide what to merge and remain responsible for the project's upkeep, with GitHub acting as the host. The license is what grants others the right to copy and reuse the code.

GitHub Sponsors: funding the people behind open source

GitHub Sponsors is GitHub's program for paying developers and organizations who build and maintain open source work. A sponsored account joins the program, sets up a Sponsors profile and defines tiers; sponsors then pick a tier and pay from their own personal or organization account.

  • Tiers are set by the sponsored account and can be monthly (recurring) or one-time, each with its own amount and optional rewards.
  • Who can be sponsored: individual developers and organizations that contribute to open source.
  • Who can sponsor: personal accounts and organization accounts.

Fees depend on who pays, not who receives:

SponsorFee taken by GitHubWhat the maintainer receives
Personal accountNoneThe full sponsorship amount
Organization accountCan carry a fee for card processing and GitHub's service (see GitHub's Sponsors documentation for the current rate)The sponsorship less that fee

Sponsors is about money for people. It is not where you buy software (that is the Marketplace), and showing interest through stars or watching transfers nothing to a maintainer.

FUNDING.yml and the Sponsor button

A repository shows a Sponsor button when it has a FUNDING.yml file in its .github folder on the default branch. The file lists where people can fund the project, and the button opens those links. (The maintainer also enables Sponsorships under the repository's Settings > Features.)

# .github/FUNDING.yml
github: [octo-maintainer]          # GitHub Sponsors usernames
open_collective: date-parser       # an external funding platform
custom: ["https://example.org/donate"]  # your own funding links

Keys cover GitHub Sponsors usernames, supported external platforms (such as Open Collective, Patreon, Ko-fi, Liberapay and Tidelift) and custom URLs. An organization can put a default FUNDING.yml in its .github repository so that every repository without its own file shows the same button.

FUNDING.yml only displays funding links; it moves no money by itself, and the links only help if they point at the people or platforms that actually receive the funds. GitHub looks for this one file name in this one place: the button comes from FUNDING.yml on the default branch and from nothing else in the repository.

How GitHub supports and advances open source

GitHub supports open source by making public projects cheap to host, build and maintain, and by funding the people who run them. The programs to know:

  • Free public repositories with issues, pull requests, Discussions, Projects and wikis, plus security features such as Dependabot alerts, code scanning and secret scanning available for public repositories.
  • Free GitHub Actions for public repositories on standard GitHub-hosted runners. Self-hosted runners are free with Actions in any repository: you supply and pay for the machine, GitHub charges nothing for the minutes. Larger runners (GitHub-hosted machines with more CPU and memory) are always billed, even for public repositories, and you cannot register your own hardware as one.
  • Free Copilot Pro for maintainers of popular open source repositories, with eligibility reviewed regularly by GitHub (verified students and teachers have a separate free offer).
  • GitHub Sponsors, with no fee on sponsorships from personal accounts.
  • Discovery: Explore, trending repositories, topics and the good first issue label help newcomers find projects to use and contribute to.

These programs lower the cost of running a public project; they do not change who owns it or what other products cost. Paid plans and third-party tools keep their own pricing, and maintainers keep responsibility for their projects.

Following, watching and starring: staying informed

To see what a person or organization does across GitHub, follow them; to get notifications about one repository, watch it; to bookmark a repository, star it. These three are easy to confuse and are tested as near-twins.

ActionApplies toWhat you get
FollowA user or an organizationTheir public activity (new repositories, stars, discussions, releases and so on) appears on your personal dashboard feed. No notifications, no membership.
WatchA repositoryNotifications about activity inside that repository, at the level you choose
StarA repositoryA bookmark (in your stars and optional star lists) and a public sign of appreciation; no notifications

Watch settings decide how much a repository notifies you:

  • Participating and @mentions (the default): only threads you take part in or where you are @mentioned.
  • All Activity: every issue, pull request, discussion and release.
  • Custom: pick event types, for example only Releases, or only issues and pull requests.
  • Ignore: mutes the repository's notifications; it saves no bookmark.

Following a person or organization is not membership: an organization's public activity reaches your dashboard without joining it. Following organizations is labelled public preview in GitHub's documentation. Watching every repository a person owns is not the same as following them: it floods you with notifications and still does not show what they star or create elsewhere.

GitHub Marketplace: actions and apps that extend GitHub

GitHub Marketplace is GitHub's catalog of GitHub Actions and apps (GitHub Apps and OAuth apps) built by GitHub and third parties to extend your workflows: CI steps, code quality and security checks, project tools, chat integrations and more. You find an action there and reference it in a workflow, or install an app on your account or organization.

  • Free listings: anyone can publish an action, and developers can list free apps.
  • Paid plans are only for apps (not actions), the app must be owned by an organization, and that organization must complete publisher verification before it can publish paid plans. Source code does not have to be public.
  • Paid plans are bought by the customer through the listing; GitHub handles billing for them.

Keep the neighbours apart: Sponsors funds people, Packages hosts software packages (npm, container images and so on), and Explore helps you discover repositories and topics. Only Marketplace is the place to find and add actions and apps.

InnerSource: open source practices inside a company

InnerSource is the use of open source practices (transparency, open contribution through pull requests, public discussion and shared documentation) for code that stays inside one organization. Teams can read, reuse and improve each other's work, but nobody outside the company sees it. It is not open source, which publishes code to everyone, and it is not a branching model such as GitHub flow.

On GitHub, InnerSource is usually built on internal repositories:

VisibilityWho can see itFit for InnerSource
PublicAnyone on the internetNo: the code leaves the company
InternalEvery member of the enterprise (all of its organizations), nobody outside itYes: company-wide reading and contribution without granting access team by team
PrivateOnly people and teams granted accessWorkable but each team must be added; hides code from the rest of the company

Internal visibility is available to organizations owned by an enterprise account (GitHub Enterprise Cloud or Enterprise Server). Visibility alone does not make InnerSource work. The practices that do:

  • A clear README and a CONTRIBUTING.md explaining how other teams propose changes.
  • Trusted committers: named maintainers who welcome, review and mentor contributions from other teams, so pull requests don't wait for weeks.
  • Pull requests with owner review, often enforced with CODEOWNERS and branch protection, rather than giving every team direct write access to the main branch.
  • Changes that flow back into the shared repository, not ones left to drift in private copies.

Forks or templates: choosing how others build on your code

Use a fork when someone wants to contribute changes back to a repository; use a template when someone wants to start a new, independent project from it.

ForkRepository from a template
Link to the originalStays connected to the upstream repositoryNone: an unrelated, independent repository
HistoryCarries the full commit historyStarts with a single fresh commit
Send changes backYes, by opening a pull request to the upstreamNo straightforward route back
Needs write access to the original?No: the fork is your own copyNo
Typical useFixing a bug in a project you can't push to; proposing improvements to a shared starterStarting a new service, app or project from a starter kit

Someone without write access cannot push a branch to the original repository; the standard open source path is fork → commit in the fork → pull request to upstream. A repository becomes a template when its owner ticks Template repository in its settings; users then choose Use this template. How templates are configured is covered in the repository management lesson; here the question is which one promotes the collaboration you want.

Discoverable repositories: helping people find your project

A repository is discoverable when the right people can see it and find it by subject. On GitHub that comes down to three things:

  • Visibility: public repositories are visible to anyone; internal ones only within the enterprise; private ones only to people granted access.
  • Topics: subject tags in the repository's About settings (for example terraform, kubernetes). Clicking a topic opens GitHub's page for that subject, listing other repositories tagged with it. Topics are short lowercase tags chosen by the repository's maintainers.
  • A clear description, README and community files, so a visitor understands the project and how to use or contribute to it.

Topics are the repository-level classification. Other metadata in a repository describes things inside it: labels sort issues and pull requests, tags mark versions and documentation explains use. Only topics place the repository itself on GitHub's subject pages.

When a scenario stacks several requirements, settle each with its own decision: visibility decides who can see the repository, fork versus template decides whether copies keep history and a link back to the original, and topics decide whether people can browse to it by subject. Each choice answers a different requirement, so read every constraint before picking.

Tip. Expect short scenarios asking which GitHub feature fits a need, with close neighbours as the options: Sponsors versus Marketplace versus stars, follow versus watch versus star (and which watch setting), fork versus template, and public versus internal versus private visibility. Some scenarios add a constraint such as no budget for charges, no write access, no membership or a clean history that settles the choice, and a few combine several requirements in one item.

Key takeaways
  • Open source lets anyone read and reuse code under its license; contributors fork and open pull requests, they do not get write access.
  • GitHub Sponsors funds developers and organizations through monthly or one-time tiers; personal-account sponsorships carry no fee, organization sponsorships can.
  • A FUNDING.yml file in the .github folder on the default branch drives the Sponsor button and lists Sponsors usernames, external platforms and custom URLs.
  • Public repositories get free Actions on standard GitHub-hosted runners, self-hosted runners are always free, and larger runners are always billed.
  • Follow a user or organization to see their public activity on your dashboard; watch a repository for notifications (Custom can limit it to Releases); star to bookmark.
  • GitHub Marketplace lists actions and apps; paid plans are for organization-owned apps that have completed publisher verification.
  • InnerSource is open source practice inside a company: internal visibility, CONTRIBUTING guidance, trusted committers and reviewed pull requests.
  • Fork to contribute back (linked, full history); generate from a template to start an independent project (fresh history); add topics so people find a repository by subject.

Frequently asked questions

Does GitHub take a fee from GitHub Sponsors payments?

Not from personal accounts: a sponsorship paid from a personal GitHub account reaches the maintainer in full. Sponsorships paid from organization accounts can carry a fee for card processing and GitHub's service.

Where does the FUNDING.yml file go?

FUNDING.yml goes in the .github folder on the repository's default branch. GitHub reads it to show a Sponsor button linking to the GitHub Sponsors profiles, external funding platforms and custom URLs it lists; an organization can set a default one in its .github repository.

Are GitHub Actions free for public repositories?

Yes on standard GitHub-hosted runners, and self-hosted runners are free to use with Actions in any repository. Larger GitHub-hosted runners are always billed, including for public repositories.

What is the difference between following and watching on GitHub?

Following applies to users and organizations and puts their public activity on your personal dashboard. Watching applies to a repository and sends you notifications about activity in it, at a level you choose such as Participating and @mentions, All Activity or Custom.

What can you get from GitHub Marketplace?

GitHub Marketplace lists GitHub Actions to use in workflows and apps to install on an account or organization, from GitHub and third parties. Paid plans are offered only for apps owned by organizations that have completed publisher verification.

What is InnerSource?

InnerSource is the practice of applying open source methods such as transparency, pull request contributions and shared documentation to code that stays private to one organization. On GitHub it typically uses internal repositories, CONTRIBUTING guidance and trusted committers who review other teams' contributions.

Should I fork a repository or use it as a template?

Fork when you want to contribute changes back: a fork stays linked to the original, keeps its history and lets you open pull requests upstream. Use a template when you want a new, independent project: the generated repository has a fresh history and no link to the original.

How do I make my GitHub repository easier to find?

Make it public if outsiders should see it, add topics that describe its subject so it appears on GitHub's topic pages, and give it a clear description and README. Topics are the repository-level tags; labels sort the issues and pull requests inside it.

Source

This lesson covers the "Explore the GitHub community" domain of the official GH-900 exam guide. Vendors revise their guides — check the source for the current version.

Test yourself on this topic
GH-900 practice questions, with full explanations.
Practice now

Sign up free to mark lessons complete, bookmark topics and track your exam readiness.

Spotted a mistake in this lesson?