-
Notifications
You must be signed in to change notification settings - Fork 2.1k
docs(ospo): community health rollout v2 — README, agents.md, health files #41567
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
dj4oC
wants to merge
1
commit into
master
Choose a base branch
from
ospo/community-health-v2
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # Code of Conduct | ||
|
|
||
| This project follows the ownCloud Code of Conduct. | ||
|
|
||
| Please read the full Code of Conduct at: | ||
| **<https://owncloud.com/contribute/code-of-conduct/>** | ||
|
|
||
| By participating in this project, you agree to abide by its terms. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # Contributing | ||
|
|
||
| Thank you for your interest in contributing to this project! | ||
|
|
||
| Please read the full contributing guidelines at: | ||
| **<https://owncloud.com/contribute/>** | ||
|
|
||
| For development setup, coding standards, and pull request process, | ||
| see the README in this repository. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,57 +1,111 @@ | ||
| # ownCloud Core | ||
|
|
||
| [](https://drone.owncloud.com/owncloud/core) | ||
| [](https://sonarcloud.io/dashboard?id=owncloud_core) | ||
| [](https://sonarcloud.io/dashboard?id=owncloud_core) | ||
| [](https://sonarcloud.io/dashboard?id=owncloud_core) | ||
| [](https://contribute.design/owncloud/core) | ||
| <!-- OSPO-managed README | Generated: 2026-04-16 | v2 --> | ||
|
|
||
| **[ownCloud](http://ownCloud.com) offers file sharing and collaboration trusted by 200+ million users worldwide regardless of device or location.** | ||
| [](COPYING) [](https://kiteworks.com/opensource) [](https://hub.docker.com/r/owncloud/server) | ||
|
|
||
|  | ||
| ownCloud Core is the server-side component of ownCloud 10 (Classic), providing file storage, synchronization, and sharing trusted by over 200 million users worldwide. It includes WebDAV, CalDAV, and CardDAV servers, a plugin architecture for apps, user and group management, encryption support, external storage backends, and a comprehensive REST API. The server runs on PHP with support for MySQL, MariaDB, PostgreSQL, and SQLite databases. | ||
|
|
||
| ## Why Is This so Awesome? | ||
| * :file_folder: **Access your Data** You can store your files, contacts, calendars and more on a server of your choosing. | ||
| * :package: **Sync your Data** You keep your files, contacts, calendars and more synchronized amongst your devices. | ||
| * :arrows_counterclockwise: **Share your Data** You share your data with others, and give them access to your latest photo galleries, your calendar or anything else you want them to see. | ||
| * :rocket: **Expandable with dozens of Apps** ...like Calendar, Contacts, Mail or News. | ||
| * :cloud: **All Benefits of the Cloud** ...on your own Server. | ||
| * :lock: **Encryption** You can encrypt data in transit with secure https connections. You can enable the encryption app to encrypt data on storage for improved security and privacy. | ||
| * ... | ||
| ## Part of Classic (OC10) | ||
|
|
||
| ## Installation Instructions | ||
| For installing ownCloud, see the official | ||
| [ownCloud 10](https://doc.owncloud.com/server/latest/admin_manual/installation/) installation manual. | ||
| This is the main repository for [ownCloud Server (Classic)](https://github.com/owncloud/core), also known as ownCloud 10 or OC10. It is the foundation that apps like [Activity](https://github.com/owncloud/activity), [Calendar](https://github.com/owncloud/calendar), [Contacts](https://github.com/owncloud/contacts), and many others extend. The server is available as a Docker image on [Docker Hub](https://hub.docker.com/r/owncloud/server). | ||
|
|
||
| ## Development Build Prerequisites | ||
| Note that when doing a local development build, you need to have **Composer v2** installed. If your OS provides a lower version than v2, you can install Composer v2 manually. As an example, which may be valid for other releases/distros too, see [How to install Composer on Ubuntu 22.04 | 20.04 LTS](https://www.how2shout.com/linux/how-to-install-composer-on-ubuntu-22-04-20-04-lts/). | ||
| For the next-generation ownCloud platform, see [ownCloud Infinite Scale (oCIS)](https://github.com/owncloud/ocis). | ||
|
|
||
| You also must have installed `yarn` and `node` (v14 or higher). | ||
| ## Getting Started | ||
|
|
||
| ## Contribution Guidelines | ||
| https://owncloud.com/contribute/ | ||
| For installing ownCloud Server, see the official [ownCloud 10 installation manual](https://doc.owncloud.com/server/latest/admin_manual/installation/). | ||
|
|
||
| ## Commit Messages | ||
| To ease bringing commits into context, a CI job check that the commit message satisfies a specification for adding human and machine readable meaning to commit messages. For details see: [Conventional Commits](www.conventionalcommits.org/). Note that if conventional commits are not satisfied, CI will not be green. In this case, you need to rewrite the git commit history to meet the requirement. | ||
| ### Development Build Prerequisites | ||
|
|
||
| You must at least provide a `type` + `description` as described in the [Examples](https://www.conventionalcommits.org/en/v1.0.0/#examples) section. | ||
| - **Composer v2** | ||
| - **Yarn** and **Node.js** (v14 or higher) | ||
|
|
||
| For a quickstart, the following types can be used: | ||
| ```bash | ||
| make | ||
| ``` | ||
|
|
||
| `fix:`, `feat:`, `build:`, `chore:`, `ci:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:` | ||
| ## Documentation | ||
|
|
||
| - [ownCloud Server documentation](https://doc.owncloud.com) | ||
| - [Developer documentation](https://doc.owncloud.com/server/latest/developer_manual/) | ||
| - [CHANGELOG.md](https://github.com/owncloud/core/blob/master/CHANGELOG.md) | ||
| - [Conventional Commits specification](https://www.conventionalcommits.org/) | ||
|
|
||
| ## Support | ||
| Learn about the different ways you can get support for ownCloud: https://owncloud.com/support/ | ||
| ## Community & Support | ||
|
|
||
| ## Get in Touch | ||
| * :clipboard: [Forum](https://central.owncloud.org) | ||
| * :hash: [IRC channel](https://web.libera.chat/?channels=#owncloud) | ||
| * :busts_in_silhouette: [Facebook](https://facebook.com/ownclouders) | ||
| * :hatching_chick: [Twitter](https://twitter.com/ownCloud) | ||
| **[Star](https://github.com/owncloud/core)** this repo and **Watch** for release notifications! | ||
|
|
||
| ## Important Notice on Translations | ||
| Please submit translations via Transifex: | ||
| https://explore.transifex.com/owncloud-org/ | ||
| - [ownCloud Website](https://owncloud.com) | ||
| - [Community Discussions](https://github.com/orgs/owncloud/discussions) | ||
| - [Matrix Chat](https://app.element.io/#/room/#owncloud:matrix.org) | ||
| - [Documentation](https://doc.owncloud.com) | ||
| - [Enterprise Support](https://owncloud.com/contact-us/) | ||
| - [OSPO Home](https://kiteworks.com/opensource) | ||
|
|
||
| See the detailed information about [translations](https://doc.owncloud.com/server/latest/developer_manual/core/translation.html) here. | ||
| ## Contributing | ||
|
|
||
| We welcome contributions! Please read the [Contributing Guidelines](CONTRIBUTING.md) | ||
| and our [Code of Conduct](CODE_OF_CONDUCT.md) before getting started. | ||
|
|
||
| ### Workflow | ||
|
|
||
| - **Rebase Early, Rebase Often!** We use a rebase workflow. Always rebase on the target branch before submitting a PR. | ||
| - **Dependabot**: Automated dependency updates are managed via Dependabot. Review and merge dependency PRs promptly. | ||
| - **Signed Commits**: All commits **must** be PGP/GPG signed. See [GitHub's signing guide](https://docs.github.com/en/authentication/managing-commit-signature-verification). | ||
| - **DCO Sign-off**: Every commit must carry a `Signed-off-by` line: | ||
| ``` | ||
| git commit -s -S -m "your commit message" | ||
| ``` | ||
| - **GitHub Actions Policy**: Workflows may only use actions that are (a) owned by `owncloud`, (b) created by GitHub (`actions/*`), or (c) verified in the GitHub Marketplace. | ||
|
|
||
| ## Translations | ||
|
|
||
| Help translate this project on Transifex: | ||
| **<https://explore.transifex.com/owncloud-org/owncloud/>** | ||
|
|
||
| Please submit translations via Transifex -- do not open pull requests for translation changes. | ||
|
|
||
| ## Security | ||
|
|
||
| **Do not open a public GitHub issue for security vulnerabilities.** | ||
|
|
||
| Report vulnerabilities at **<https://security.owncloud.com>** -- see [SECURITY.md](SECURITY.md). | ||
|
|
||
| Bug bounty: [YesWeHack ownCloud Program](https://yeswehack.com/programs/owncloud-bug-bounty-program) | ||
|
|
||
| ## License | ||
|
|
||
| This project is licensed under the [AGPL-3.0](COPYING). | ||
|
|
||
| ## About the ownCloud OSPO | ||
|
|
||
| The [Kiteworks Open Source Program Office](https://kiteworks.com/opensource), operating under | ||
| the [ownCloud](https://owncloud.com) brand, launched on May 5, 2026, to steward the open source | ||
| ecosystem around ownCloud's products. The OSPO ensures transparent governance, license compliance, | ||
| community health, and sustainable collaboration between the open source community and | ||
| [Kiteworks](https://www.kiteworks.com), which acquired ownCloud in 2023. | ||
|
|
||
| - **OSPO Home**: <https://kiteworks.com/opensource> | ||
| - **GitHub**: <https://github.com/owncloud> | ||
| - **ownCloud**: <https://owncloud.com> | ||
|
|
||
| For questions about the OSPO or licensing, contact ospo@kiteworks.com. | ||
|
|
||
| ### License Migration to Apache 2.0 | ||
|
|
||
| The OSPO is driving a strategic relicensing of ownCloud repositories toward the | ||
| [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), following | ||
| the [Apache Software Foundation's third-party license policy](https://www.apache.org/legal/resolved.html). | ||
|
|
||
| Individual repositories will migrate as their audit is completed. The LICENSE file | ||
| in each repo reflects its **current** license status (not the target). | ||
|
|
||
| **Current license: AGPL-3.0** (Category X per Apache policy -- cannot be included in Apache-2.0 works). | ||
|
|
||
| Migration prerequisites for this repository: | ||
|
|
||
| - **CLA/DCO coverage**: All past contributors must have signed agreements permitting relicensing | ||
| - **Copyleft dependency audit**: All AGPL/GPL dependencies must be replaced or isolated | ||
| - **KDE heritage review**: Any code with KDE-era copyrights requires legal analysis | ||
| - **Complete relicensing**: AGPL-3.0 is a strong copyleft license; migration requires full relicensing of all files, not just a header change |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # Security Policy | ||
|
|
||
| ## Reporting a Vulnerability | ||
|
|
||
| **Do NOT open a public GitHub issue for security vulnerabilities.** | ||
|
|
||
| Please report security issues responsibly via: | ||
| **<https://security.owncloud.com>** | ||
|
|
||
| You can also report vulnerabilities through our YesWeHack bug bounty program: | ||
| **<https://yeswehack.com/programs/owncloud-bug-bounty-program>** |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # Support | ||
|
|
||
| For support with this project, please use the following channels: | ||
|
|
||
| - **Enterprise Support**: <https://owncloud.com/contact-us/> | ||
| - **Community discussions**: https://github.com/orgs/owncloud/discussions | ||
| - **Matrix Chat**: <https://app.element.io/#/room/#owncloud:matrix.org> | ||
| - **Documentation**: <https://doc.owncloud.com> | ||
|
|
||
| Please do not use GitHub issues for general support questions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| # AI Agent Guidelines for ownCloud Core | ||
|
|
||
| This file provides context for AI coding agents (Claude Code, GitHub Copilot, Cursor, etc.) working in this repository. | ||
|
|
||
| ## Repository Overview | ||
| - **Product family:** Classic (OC10) | ||
| - **Primary language(s):** PHP, JavaScript | ||
| - **Build system:** Composer, Make, npm/Yarn | ||
| - **Test framework:** PHPUnit, JavaScript tests (Node), Acceptance tests (Behat) | ||
| - **CI system:** GitHub Actions | ||
|
|
||
| ## Architecture & Key Paths | ||
| - `lib/` - Core PHP library (private and public APIs) | ||
| - `core/` - Core app (login, file list, etc.) | ||
| - `apps/` - Bundled apps | ||
| - `config/` - Configuration samples and defaults | ||
| - `ocs/` - OCS API endpoints | ||
| - `ocs-provider/` - OCS provider discovery | ||
| - `ocm-provider/` - Open Cloud Mesh provider | ||
| - `build/` - Build scripts and tools | ||
| - `l10n/` - Translations | ||
| - `tests/` - Test suites (unit, integration, acceptance) | ||
| - `Makefile` - Build and test automation | ||
| - `composer.json` - PHP dependencies | ||
| - `phpcs.xml` - PHP_CodeSniffer configuration | ||
| - `phpstan.neon` - PHPStan configuration | ||
| - `CHANGELOG.md` - Release history | ||
| - `console.php` - CLI entry point | ||
| - `occ` - ownCloud console CLI tool | ||
| - `cron.php` - Background job runner | ||
| - `index.php` - Web entry point | ||
|
|
||
| ## Development Conventions | ||
| - **Branching:** master | ||
| - **Commit messages:** DCO sign-off required (`git commit -s`). Must follow [Conventional Commits](https://www.conventionalcommits.org/) format. | ||
| - **Code style:** PHP_CodeSniffer (phpcs.xml), ownCloud coding standard | ||
| - **PR process:** Open a PR against master. All CI checks must pass. | ||
|
|
||
| ## Build & Test Commands | ||
| ```bash | ||
| # Build (install all dependencies) | ||
| make | ||
|
|
||
| # Test (PHP unit) | ||
| make test-php-unit | ||
|
|
||
| # Test (JavaScript) | ||
| make test-js | ||
|
|
||
| # Test (acceptance - API) | ||
| make test-acceptance-api | ||
|
|
||
| # Test (acceptance - CLI) | ||
| make test-acceptance-cli | ||
|
|
||
| # Lint (PHP) | ||
| make test-php-style | ||
|
|
||
| # Fix code style | ||
| make test-php-style-fix | ||
| ``` | ||
|
|
||
| ## Important Constraints | ||
| - All code contributions must be compatible with the **AGPL-3.0** license | ||
| - Do not introduce new **copyleft-licensed dependencies** (GPL, AGPL, LGPL, MPL) without explicit discussion in an issue first. This is especially important for repos migrating to Apache 2.0. | ||
| - Do not introduce new dependencies without discussion in an issue first | ||
| - Conventional Commits are enforced by CI | ||
| - Translations must be submitted via Transifex, not as PRs | ||
| - This is a large, complex codebase with many interdependencies | ||
|
|
||
|
|
||
| ## OSPO Policy Constraints | ||
|
|
||
| ### GitHub Actions | ||
| - **Only** use actions owned by `owncloud`, created by GitHub (`actions/*`), verified on the GitHub Marketplace, or verified by the ownCloud Maintainers. | ||
| - Pin all actions to their full commit SHA (not tags): `uses: actions/checkout@<SHA> # vX.Y.Z` | ||
| - Never introduce actions from unverified third parties. | ||
|
|
||
| ### Dependency Management | ||
| - Dependabot is configured for automated dependency updates. | ||
| - Review and merge Dependabot PRs as part of regular maintenance. | ||
| - Do not introduce new dependencies without discussion in an issue first. | ||
|
|
||
| ### Git Workflow | ||
| - **Rebase policy**: Always rebase; never create merge commits. Use `git pull --rebase` and `git rebase` before pushing. | ||
| - **Signed commits**: All commits **must** be PGP/GPG signed (`git commit -S -s`). | ||
| - **DCO sign-off**: Every commit needs a `Signed-off-by` line (`git commit -s`). | ||
| - **Conventional Commits & Squash Merge**: Use the [Conventional Commits](https://www.conventionalcommits.org/) format where the repository enforces it. Many repos use squash merge, where the PR title becomes the commit message on the default branch — apply Conventional Commits format to PR titles as well. A reusable GitHub Actions workflow enforces this. | ||
|
|
||
| ## Context for AI Agents | ||
| - Match existing code style | ||
| - Do not refactor unrelated code in the same PR | ||
| - Write tests for new functionality | ||
| - Keep PRs focused and atomic | ||
| - Use Conventional Commits format for all commit messages | ||
| - Be aware of the public API surface (OCP namespace) - breaking changes require careful consideration | ||
| - The `lib/private/` directory contains internal APIs; `lib/public/` contains the stable public API | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is oC classic only, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
correct, OCIS has UI tests organised differently.