Getting Started
Learn what OpenLib is, how to browse the library, and how to start contributing.
OpenLib is a curated open-source app library for finding free, transparent, and community-friendly alternatives to popular software.
How OpenLib works #
OpenLib has three simple parts:
- A public library where visitors discover open-source apps.
- A contribution workflow where people submit apps and suggest improvements.
- A moderation workflow where maintainers review submissions, reports, metadata, and documentation.
The website is optimized for browsing first. Users can search by app name, proprietary alternative, category, tag, platform, license, or project description. Each public page is designed to be shareable, indexable, and understandable without requiring a user account.
How the docs work #
The documentation you are reading is stored as Markdown in docs/content/. During the build step, OpenLib turns each Markdown file into a static page under /docs/.
npm run docs:buildThat command generates:
- Static HTML pages in
public/docs/. - A documentation manifest.
- A documentation search index.
- Clean page URLs such as
/docs/submit-app. - Previous and next links based on each page's
ordervalue.
The source Markdown remains the canonical place to edit docs. The generated public/docs/ files are what Firebase Hosting serves.
What you can do #
- Browse open-source apps by category, tag, platform, and alternatives.
- Read metadata such as license, source link, platforms, and project status.
- Submit new apps for review.
- Suggest corrections through edit requests.
- Rate and review apps you use.
Good first workflows #
- Search for an app or category from the OpenLib home page.
- Open an app detail page and review the source, license, and install links.
- Use Submit App when a useful open-source project is missing.
- Use edit requests when an existing app needs better metadata.
How to use the library #
Use OpenLib like a map. Start with what you want to replace or what task you need to complete.
| Goal | Start here |
|---|---|
| Replace a proprietary app | Search for the product name or open an alternatives page |
| Find software for a workflow | Use categories and tags |
| Check trust signals | Read source, license, maintainer, and review details |
| Help improve a listing | Submit an edit request or report an issue |
| Add a missing project | Use the app submission workflow |
What makes a useful listing #
A good OpenLib listing answers practical questions quickly:
- What does this app do?
- What closed or proprietary tools can it replace?
- Where is the source code?
- What license does it use?
- Which platforms does it support?
- Is the project maintained?
- How can a user install or try it?
Documentation map #
| Page | Use it for |
|---|---|
| Submit an App | Preparing and sending app submissions |
| App Guidelines | Understanding what OpenLib accepts |
| Categories & Tags | Organizing apps so users can find them |
| App Pages | Reading app metadata, trust signals, links, and page actions |
| Search and Discovery | Finding apps through search, rankings, tags, and alternatives |
| Reviews and Ratings | Writing reviews and understanding rating signals |
| Edit Requests | Suggesting corrections to existing app listings |
| Reports and Safety | Reporting unsafe, misleading, or broken listings |
| Contributor Guide | Helping with content and review quality |
| Roles and Permissions | Understanding users, contributors, maintainers, team, and admins |
| User Accounts and Profiles | Learning what accounts unlock and how profiles display trust context |
| Organizations | Managing shared project identities and team-owned apps |
| Maintainer Guide | Maintaining the library and documentation |
| Moderation Workflow | Reviewing submissions, reports, ownership claims, and trust changes |
| Ownership Claims | Connecting real project maintainers to app listings |
| Verification and Trust | Understanding badges, reviewed entries, and user safety checks |
| Release and Deployment | Building docs, updating sitemap data, and checking production routes |
| FAQ | Quick answers about OpenLib and docs |
Example app metadata #
{
"name": "Example Notes",
"category": "Productivity",
"license": "MPL-2.0",
"source": "https://github.com/example/example-notes",
"platforms": ["Linux", "Windows", "macOS"]
}Next step #
Start with Submit an App if you want to add a project, or read App Guidelines if you want to understand OpenLib's quality bar.
Contributors
- OpenLib Team