|
| 1 | +# Contributing |
| 2 | + |
| 3 | +Thank you for your interest in the UAPI Group Kernel Feature Wishlist. This |
| 4 | +document explains how to propose new features, claim existing ones, or mark |
| 5 | +items as completed. |
| 6 | + |
| 7 | +## Proposing a new feature |
| 8 | + |
| 9 | +1. Create a new Markdown file in the appropriate section directory |
| 10 | + under `website/content/`: |
| 11 | + - `wishlist/` for new ideas |
| 12 | + - `in-progress/` for features you are actively working on |
| 13 | + |
| 14 | +2. Use the following front matter template: |
| 15 | + |
| 16 | + ```yaml |
| 17 | + --- |
| 18 | + title: "Short descriptive title" |
| 19 | + weight: 10 |
| 20 | + status: wishlist |
| 21 | + categories: |
| 22 | + - mounts |
| 23 | + - namespaces |
| 24 | + --- |
| 25 | + ``` |
| 26 | + |
| 27 | +3. Include a clear description of the feature and a **Use-Case** section |
| 28 | + explaining why this would be valuable. |
| 29 | + |
| 30 | +4. Open a pull request. |
| 31 | + |
| 32 | +## Claiming an item |
| 33 | + |
| 34 | +To indicate you are working on a wishlist item: |
| 35 | + |
| 36 | +1. Move the file from `website/content/wishlist/` to |
| 37 | + `website/content/in-progress/`. |
| 38 | +2. Update the `status` field in the front matter to `in-progress`. |
| 39 | +3. Open a pull request with your GitHub handle or email address noted. |
| 40 | + |
| 41 | +## Marking an item as completed |
| 42 | + |
| 43 | +When a feature has been merged into the kernel: |
| 44 | + |
| 45 | +1. Move the file from its current location to `website/content/completed/`. |
| 46 | +2. Update the `status` field to `completed`. |
| 47 | +3. Add a `commit` field to the front matter with the commit SHA. |
| 48 | +4. Open a pull request. |
| 49 | + |
| 50 | +## Attribution |
| 51 | + |
| 52 | +**When implementing ideas on this list or ideas inspired by this list, |
| 53 | +please point that out explicitly and clearly in the associated patches |
| 54 | +and Cc `Christian Brauner <brauner (at) kernel (dot) org>`.** |
| 55 | + |
| 56 | +## Categories |
| 57 | + |
| 58 | +Use one or more of the following categories in front matter: |
| 59 | + |
| 60 | +- `mounts` — mount namespaces, pivot_root, move_mount, statmount |
| 61 | +- `pidfd` — pidfd xattrs, CLONE_PIDFD, SCM_PIDFD |
| 62 | +- `namespaces` — user namespaces, PID namespaces, mount namespaces |
| 63 | +- `filesystems` — nullfs, blobfs, overlayfs, tmpfs, binfmt_misc |
| 64 | +- `sockets` — AF_UNIX, SCM_RIGHTS, SCM_PIDFD |
| 65 | +- `cgroups` — device cgroups, coredump limits |
| 66 | +- `block-devices` — loop devices, dm-verity, diskseq |
| 67 | +- `security` — LSM hooks, user namespace restrictions |
| 68 | +- `io-uring` — io_uring extensions |
| 69 | +- `processes` — pidfd, clone3, waitid, prctl |
| 70 | + |
| 71 | +## Local development |
| 72 | + |
| 73 | +```sh |
| 74 | +git clone --recurse-submodules https://github.com/uapi-group/kernel-features.git |
| 75 | +cd kernel-features/website |
| 76 | +hugo server |
| 77 | +``` |
0 commit comments