Skip to content

Commit f65a2d2

Browse files
committed
docs(ospo): community health rollout v2 — README, agents.md, health files
Introduced by the Kiteworks Open Source Program Office (OSPO) on May 5, 2026. Changes: - README.md: rewritten with OSPO v2 template — license-specific migration guidance, Community & Support section, Contributing workflow, Security section pointing to security.owncloud.com + YesWeHack bug bounty - agents.md: AI agent context file with architecture, build commands, and OSPO Policy Constraints (GitHub Actions, Dependabot, Git Workflow) - CODE_OF_CONDUCT.md: redirect to https://owncloud.com/contribute/code-of-conduct/ - CONTRIBUTING.md: redirect to https://owncloud.com/contribute/ - SECURITY.md: redirect to https://security.owncloud.com + YesWeHack - SUPPORT.md: redirect to https://owncloud.com/contact-us/ + channels OSPO: https://kiteworks.com/opensource Signed-off-by: David Walter <david.walter@kiteworks.com>
1 parent 0542b50 commit f65a2d2

6 files changed

Lines changed: 191 additions & 126 deletions

File tree

CODE_OF_CONDUCT.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Code of Conduct
2+
3+
This project follows the ownCloud Code of Conduct.
4+
5+
Please read the full Code of Conduct at:
6+
**<https://owncloud.com/contribute/code-of-conduct/>**
7+
8+
By participating in this project, you agree to abide by its terms.

CONTRIBUTING.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Contributing
2+
3+
Thank you for your interest in contributing to this project!
4+
5+
Please read the full contributing guidelines at:
6+
**<https://owncloud.com/contribute/>**
7+
8+
For development setup, coding standards, and pull request process,
9+
see the README in this repository.

README.md

Lines changed: 86 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -1,176 +1,136 @@
11
# ownCloud Documentation UI
22

3-
**IMPORTANT**
4-
5-
Since April 2026, this repository requires [Commit Signing](https://docs.github.com/articles/about-gpg) and uses [Conventional Commits](https://www.conventionalcommits.org) for commits and the Pull Request title.
6-
7-
[link-antora-default-ui]: https://gitlab.com/antora/antora-ui-default
8-
[link-antora]: https://antora.org
9-
[link-ui_bundle.zip]: https://minio.owncloud.com/documentation/ui-bundle.zip
10-
[link-readme]: https://github.com/owncloud/docs
11-
[link-git]: https://git-scm.com
12-
[link-node]: https://nodejs.org
13-
[link-gulp-cli]: http://gulpjs.com
14-
[link-git-package]: https://git-scm.com/downloads
15-
[link-nvm]: https://github.com/creationix/nvm
16-
[link-nvm-installation-instructions]: https://github.com/creationix/nvm#installation
17-
[link-preview]: https://github.com/owncloud/docs/blob/master/docs/build-the-docs.md#viewing-the-html-documentation
18-
19-
The `docs-ui` repository is a custom version of the [Antora Default UI][link-antora-default-ui], for the [Antora][link-antora] version of the ownCloud documentation.
20-
21-
**Table of Contents**
22-
23-
* [Info](#info)
24-
* [Contributing](#contributing)
25-
* [Prerequisites](#prerequisites)
26-
* [Git](#git)
27-
* [Node](#node)
28-
* [Install Dependencies](#install-dependencies)
29-
* [Add Packages](#add-packages)
30-
* [Prepared npm Commands](#prepared-npm-commands)
31-
* [Preview](#preview)
32-
* [Preview Changes Using the ownCloud Documentation](#preview-changes-using-the-owncloud-documentation)
33-
* [Previewing Changes using a Demo Antora Build](#previewing-changes-using-a-demo-antora-build)
34-
35-
## Info
36-
37-
Note that in directory `preview-site-src`, the `404.html` file is on purpose but `index.html` file is for internal testing purposes only. The file is recreated in the `public/` directory on each `preview` build and served from there. There is no need to change or copy it.
3+
<!-- OSPO-managed README | Generated: 2026-04-16 | v2 -->
384

39-
## Contributing
40-
41-
If you want to make changes, create a "_feature_" branch off of master, make the required changes, and then create a Pull Request (PR) against the _master_ branch.
42-
If the PR is accepted and merged, a new `ui-bundle.zip` package file will be created and published to `https://minio.owncloud.com/documentation/ui-bundle.zip` as part of the build pipeline.
5+
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE) [![ownCloud OSPO](https://img.shields.io/badge/OSPO-ownCloud-blue)](https://kiteworks.com/opensource)
436

44-
## Prerequisites
7+
A custom Antora UI theme for the official ownCloud documentation. This repository is based on the [Antora Default UI](https://gitlab.com/antora/antora-ui-default) and provides the HTML templates, CSS styles, JavaScript behavior, and assets that define the look and feel of the published documentation at [doc.owncloud.com](https://doc.owncloud.com).
458

46-
To preview the UI changes or to create a local version of a `ui-bundle.zip`, you need to install the following software on your computer.
9+
## Getting Started
4710

48-
- [git][link-git] (command: `git`)
49-
- [Node][link-node] (command: `node`)
50-
- [Gulp CLI][link-gulp-cli] (command: `gulp`)
11+
Install dependencies and preview the UI:
5112

52-
### git
13+
```bash
14+
npm install
15+
npm run preview
16+
```
5317

54-
First, make sure you have git installed.
18+
To build the UI bundle for production:
5519

56-
```Shell
57-
git --version
20+
```bash
21+
npm run bundle
5822
```
5923

60-
If git is not installed, download and install the [git package][link-git-package] for your system.
24+
The generated `ui-bundle.zip` in `build/` is consumed by the Antora documentation build.
6125

62-
### Node
26+
## Documentation
6327

64-
Next, make sure that you have Node installed.
28+
- [Main Documentation Build](https://github.com/owncloud/docs)
29+
- [Antora UI Documentation](https://docs.antora.org/antora-ui-default/)
6530

66-
```Shell
67-
node --version
68-
```
31+
## Part of ownCloud Documentation
6932

70-
If this command fails with an error, you don't have Node installed.
71-
While you can install Node from the official packages, we strongly recommend that you use [NVM][link-nvm] (Node Version Manager) to install and manage Node.
33+
This repository provides the UI bundle consumed by the [ownCloud docs](https://github.com/owncloud/docs) Antora build. The output `ui-bundle.zip` is referenced in the docs site playbook. Published documentation is available at [doc.owncloud.com](https://doc.owncloud.com).
7234

73-
Follow the [NVM installation instructions][link-nvm-installation-instructions] to set up NVM on your machine.
74-
Once you've installed NVM, open a new terminal and install Node using the following command:
35+
## Development Reference
7536

76-
```Shell
77-
nvm ls-remote | grep "Latest LTS"
37+
Development workflow and build tooling for the UI bundle:
7838

79-
...
80-
v18.20.4 (Latest LTS: Hydrogen)
81-
v20.18.1 (Latest LTS: Iron)
82-
v22.22.0 (Latest LTS: Jod)
83-
v24.14.0 (Latest LTS: Krypton)
84-
```
39+
### Prerequisites
8540

86-
Then install a suitable LTS version, preferrable > v20. You can install as many versions as you like or need, see example below.
41+
- [Git](https://git-scm.com/)
42+
- [Node.js](https://nodejs.org/) (v22 LTS recommended; use [NVM](https://github.com/creationix/nvm) to manage versions)
43+
- npm >= 11.11.0
8744

88-
```Shell
89-
nvm install 22.22.0
90-
```
45+
### Available npm Commands
9146

92-
List the installed versions
47+
| Command | Description |
48+
|---|---|
49+
| `npm run lint` | Lint the UI bundle definition |
50+
| `npm run bundle` | Generate a `ui-bundle.zip` for local use |
51+
| `npm run preview` | Preview the bundle using a demo Antora build at `http://localhost:5252` |
9352

94-
```Shell
95-
nvm ls
96-
-> v22.22.0
97-
default -> 22.22.0 (-> v22.22.0)
53+
### Preview with ownCloud Documentation
9854

99-
...
100-
```
55+
To preview UI changes using the actual ownCloud documentation instead of demo content:
10156

102-
**Info:** The backend to push to the web also uses node v22, see the `.drone.star` file. It is recommended to stay with the same release if possible.
57+
1. Build a local `ui-bundle.zip` with `npm run bundle`
58+
2. Switch to the target documentation repository
59+
3. Run `npm run antora-dev-bundle` in the docs repo
10360

104-
Switch to a specific installed version of Node at any time, use the following command:
61+
See the [Generating the Documentation](https://github.com/owncloud/docs#generating-the-documentation) guide for details.
10562

106-
```Shell
107-
nvm use 22.22.0
108-
```
63+
### Contributing Workflow
10964

110-
**Important:** If you have additional concurrent terminals open, you must close these terminals first and reopen them to use the new setup.
65+
Create a feature branch off `master`, make changes, and submit a PR. When merged, the CI pipeline automatically builds and publishes a new `ui-bundle.zip` to `https://minio.owncloud.com/documentation/ui-bundle.zip`.
11166

112-
To make a particular Node version default in new terminals, type:
67+
## Community & Support
11368

114-
```Shell
115-
nvm alias default 22.22.0
116-
```
69+
**[Star](https://github.com/owncloud/docs-ui)** this repo and **Watch** for release notifications!
11770

118-
Now that you have Node installed, you can proceed with installing the Gulp CLI and npm.
71+
- [ownCloud Website](https://owncloud.com)
72+
- [Community Discussions](https://github.com/orgs/owncloud/discussions)
73+
- [Matrix Chat](https://app.element.io/#/room/#owncloud:matrix.org)
74+
- [Documentation](https://doc.owncloud.com)
75+
- [Enterprise Support](https://owncloud.com/contact-us/)
76+
- [OSPO Home](https://kiteworks.com/opensource)
11977

120-
### Update npm
78+
## Contributing
12179

122-
`npm` should be at minimum version 11.11.0\
123-
You can check this with `npm -v`. If an update is needed, simply run teh following command. Replace `latest` with a version if you want to lock it.
80+
We welcome contributions! Please read the [Contributing Guidelines](CONTRIBUTING.md)
81+
and our [Code of Conduct](CODE_OF_CONDUCT.md) before getting started.
12482

125-
```Shell
126-
npm install -g npm@latest
127-
```
83+
### Workflow
12884

129-
### Install Dependencies
85+
- **Rebase Early, Rebase Often!** We use a rebase workflow. Always rebase on the target branch before submitting a PR.
86+
- **Dependabot**: Automated dependency updates are managed via Dependabot. Review and merge dependency PRs promptly.
87+
- **Signed Commits**: All commits **must** be PGP/GPG signed. See [GitHub's signing guide](https://docs.github.com/en/authentication/managing-commit-signature-verification).
88+
- **DCO Sign-off**: Every commit must carry a `Signed-off-by` line:
89+
```
90+
git commit -s -S -m "your commit message"
91+
```
92+
- **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.
13093

131-
Finally, run the following command to install all dependencies:
94+
## Security
13295

133-
```Shell
134-
npm install
135-
```
96+
**Do not open a public GitHub issue for security vulnerabilities.**
13697

137-
### Add Packages
98+
Report vulnerabilities at **<https://security.owncloud.com>** -- see [SECURITY.md](SECURITY.md).
13899

139-
If a new package needs to be added, type the following:
100+
Bug bounty: [YesWeHack ownCloud Program](https://yeswehack.com/programs/owncloud-bug-bounty-program)
140101

141-
```Shell
142-
npm -i <package-name>
143-
```
144-
145-
## Prepared npm Commands
102+
## License
146103

147-
To see all prepared npm commands, run the following command `npm run`. This will output all commands with their settings, though this makes readability not easy. See the [npm documentation](https://docs.npmjs.com/cli/v11/using-npm/scripts) for more information.
104+
This project is licensed under the [AGPL-3.0](LICENSE).
148105

149-
Here is the list of commands and when to use them:
106+
## About the ownCloud OSPO
150107

151-
* `npm run lint`
152-
Lint the UI bundle definition
153-
* `npm run bundle`
154-
Generate a new `ui-bundle.zip` file for local use
155-
* `npm run preview`
156-
Preview the bundle using the gulp. This previews a demo Antora build.
108+
The [Kiteworks Open Source Program Office](https://kiteworks.com/opensource), operating under
109+
the [ownCloud](https://owncloud.com) brand, launched on May 5, 2026, to steward the open source
110+
ecosystem around ownCloud's products. The OSPO ensures transparent governance, license compliance,
111+
community health, and sustainable collaboration between the open source community and
112+
[Kiteworks](https://www.kiteworks.com), which acquired ownCloud in 2023.
157113

158-
## Preview
114+
- **OSPO Home**: <https://kiteworks.com/opensource>
115+
- **GitHub**: <https://github.com/owncloud>
116+
- **ownCloud**: <https://owncloud.com>
159117

160-
### Preview Changes Using the ownCloud Documentation
118+
For questions about the OSPO or licensing, contact ospo@kiteworks.com.
161119

162-
If you want to preview your changes to the UI using the ownCloud documentation instead of demo content then you need to build a local copy of `ui-bundle.zip` and use it when generating the ownCloud documentation in your local development machine.
120+
### License Migration to Apache 2.0
163121

164-
* First create a local `ui-bundle.zip` with the command described above.
165-
* Then change into the respective documentation repository and run `npm run antora-dev-bundle`.
166-
See the [Generating the Documentation](https://github.com/owncloud/docs#generating-the-documentation) description for more details.
122+
The OSPO is driving a strategic relicensing of ownCloud repositories toward the
123+
[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), following
124+
the [Apache Software Foundation's third-party license policy](https://www.apache.org/legal/resolved.html).
167125

168-
### Previewing Changes using a Demo Antora Build
126+
Individual repositories will migrate as their audit is completed. The LICENSE file
127+
in each repo reflects its **current** license status (not the target).
169128

170-
The following example runs a demo Antora **build** (_not ownCloud_) for the documentation site which can be **accessed** on your local development machine at `http://localhost:5252`.
129+
**Current license: AGPL-3.0** (Category X per Apache policy -- cannot be included in Apache-2.0 works).
171130

172-
To view your changes as you are working on them, run the following command:
131+
Migration prerequisites for this repository:
173132

174-
```Shell
175-
npm run preview
176-
```
133+
- **CLA/DCO coverage**: All past contributors must have signed agreements permitting relicensing
134+
- **Copyleft dependency audit**: All AGPL/GPL dependencies must be replaced or isolated
135+
- **KDE heritage review**: Any code with KDE-era copyrights requires legal analysis
136+
- **Complete relicensing**: AGPL-3.0 is a strong copyleft license; migration requires full relicensing of all files, not just a header change

SECURITY.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Security Policy
2+
3+
## Reporting a Vulnerability
4+
5+
**Do NOT open a public GitHub issue for security vulnerabilities.**
6+
7+
Please report security issues responsibly via:
8+
**<https://security.owncloud.com>**
9+
10+
You can also report vulnerabilities through our YesWeHack bug bounty program:
11+
**<https://yeswehack.com/programs/owncloud-bug-bounty-program>**

SUPPORT.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Support
2+
3+
For support with this project, please use the following channels:
4+
5+
- **Enterprise Support**: <https://owncloud.com/contact-us/>
6+
- **Community discussions**: https://github.com/orgs/owncloud/discussions
7+
- **Matrix Chat**: <https://app.element.io/#/room/#owncloud:matrix.org>
8+
- **Documentation**: <https://doc.owncloud.com>
9+
10+
Please do not use GitHub issues for general support questions.

agents.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# AI Agent Guidelines for ownCloud Documentation UI
2+
3+
This file provides context for AI coding agents (Claude Code, GitHub Copilot, Cursor, etc.) working in this repository.
4+
5+
## Repository Overview
6+
- **Product family:** Documentation
7+
- **Primary language(s):** CSS
8+
- **Build system:** npm (Gulp)
9+
- **Test framework:** Gulp lint task
10+
- **CI system:** GitHub Actions
11+
12+
## Architecture & Key Paths
13+
14+
- `src/` -- UI source files (Handlebars templates, CSS, JS)
15+
- `tasks/` -- Gulp task definitions
16+
- `gulpfile.js` -- Gulp build configuration
17+
- `preview-site-src/` -- Preview site source for local testing
18+
- `package.json` -- npm scripts
19+
- `docs/` -- Documentation about the UI
20+
21+
## Development Conventions
22+
- **Branching:** master
23+
- **Commit messages:** DCO sign-off required (`git commit -s`)
24+
- **Code style:** Not detected
25+
- **PR process:** Open a PR against `master`. All CI checks must pass.
26+
27+
## Build & Test Commands
28+
```bash
29+
# Build
30+
npm run bundle
31+
32+
# Test
33+
npm run lint
34+
35+
# Lint
36+
npm run lint
37+
```
38+
39+
## Important Constraints
40+
- All code contributions must be compatible with the **AGPL-3.0** license
41+
- 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.
42+
- Do not introduce new dependencies without discussion in an issue first
43+
44+
45+
## OSPO Policy Constraints
46+
47+
### GitHub Actions
48+
- **Only** use actions owned by `owncloud`, created by GitHub (`actions/*`), verified on the GitHub Marketplace, or verified by the ownCloud Maintainers.
49+
- Pin all actions to their full commit SHA (not tags): `uses: actions/checkout@<SHA> # vX.Y.Z`
50+
- Never introduce actions from unverified third parties.
51+
52+
### Dependency Management
53+
- Dependabot is configured for automated dependency updates.
54+
- Review and merge Dependabot PRs as part of regular maintenance.
55+
- Do not introduce new dependencies without discussion in an issue first.
56+
57+
### Git Workflow
58+
- **Rebase policy**: Always rebase; never create merge commits. Use `git pull --rebase` and `git rebase` before pushing.
59+
- **Signed commits**: All commits **must** be PGP/GPG signed (`git commit -S -s`).
60+
- **DCO sign-off**: Every commit needs a `Signed-off-by` line (`git commit -s`).
61+
- **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.
62+
63+
## Context for AI Agents
64+
- Match existing code style
65+
- Do not refactor unrelated code in the same PR
66+
- Write tests for new functionality
67+
- Keep PRs focused and atomic

0 commit comments

Comments
 (0)