User Tools

Site Tools


gsoc:2025-gsoc-kworkflow

This is an old revision of the document!


Google Summer of Code 2025: kworkflow

Go back to the main GSoC Linux Foundation page

Repository: https://github.com/kworkflow/kworkflow

Documentation: https://kworkflow.org/

Code License: GPLv2

Mentor: David Tadokoro <davidbtadokoro at gmail dot com>

Introduction to kworkflow

Kworkflow, or just kw, is a system that includes many tools with the intent of simplifying Linux kernel workflows by automating tasks such as:

  1. Support working on the DRM subsystem (we can expand to other subsystems). Etc;

kw aims to speed up everyday tasks executed by Linux kernel developers in their workflows and provide a unified development experience similar to what git proposes in the context of version control. kw also helps reduce the learning curve for newcomers to the kernel ecosystem. Finally, the project should be reasonably easy to contribute since it is (almost) completely written in Bash, has extensive test coverage, follows a code style rule, and is documented from the code level to the user level. Don't believe it? Check by yourself:

In GSoc 2025, we will focus on a sub-project of kw that once was a feature like any other but now has its own codebase, is written in Rust, and does not have the exact same development model. The sub-project is called patch-hub and aims to streamline the interaction of Linux kernel maintainers with patches sent through development mailing lists (if this seems alien to you, check this reference).

Warm Up

Even though we will focus on a different aspect of Linux kernel development this year, it is imperative for candidates to be familiar with the main workflows of the whole process.

The link below is a set of activities you must complete before applying for this project that will help you understand some fundamentals about kernel workflows. Only the Phase 1 is mandatory, although we encourage you to get to know kw more deeply by going through the other phases.

First time in the Linux kernel development and kworkflow? Then, start your journey here :)

Project Idea: patch-hub v.1.0.0

Details

  • Project Size: 1 contributor full-size (350 hours)
  • Level of Difficulty: Hard
  • Helpful Experience: FLOSS development and Rust

Description

As mentioned before, in the GSoC 2025 edition, we intend to focus on a single project on the kw sub-project patch-hub. Linux kernel development is done via electronic mail and mailing lists, so instead of submitting Pull-Requests on GitHub through the web, contributions, reviews, and the like are done by sending emails to other developers and mailing lists.

Software development based on email may seem a little confusing, especially if you have never heard of it, but the important point is that even though there are some arguments in favor of it, there are many inefficiencies and complexities that come with it.

patch-hub, following kw spirit of

This section will be updated ASAP as we are finishing the details, but, in the meanwhile, you can check out the patch-hub GitHub repo to get to know it better :)

Don't forget to interact with the kw Community

Interacting with kw as a tool and as a free software project is critical to grasp which of the above projects best suits you or to bring other ideas to the table. This means it's nice to use kw to understand its purposes and functionalities while also reporting bugs and suggesting enhancements (take a look at kw reported issues). Don't be afraid to open pull requests addressing them! We really encourage you to do it!

Making your Project Proposal

The pre-requisites section is mandatory for everyone; for this reason, your final project proposal should have one section per assignment with two or three paragraphs that describe your experience with each task. Additionally, in your application, you must add print screens that follow the below instructions:

Contact David to get one specific ID

If you are really interested in this project, send a message to David and request one specific ID. You will need it for the next steps.

QEMU Setup

For demonstrating your QEMU setup, you will need need to take a print screen of your entire desktop with QEMU running and with the following comment in your TTY:

#kw 2024 GSoC <ID>

For your custom kernel installation

For showing that you were able to install a custom kernel in your VM system, add the following label in your kernel name suffix:

Kernel-<YOUR_NAME>-<YOUR_ID>
(( Replace YOUR_NAME by your first name, and YOUR_ID ))

Install it in your QEMU VM; in the TTY, run the following command:

uname -a

Take a print screen of the entire screen.

Finally, make sure that you have the following section in your application:

  1. One or two paragraphs about you;
  2. A couple of sections that describe your interaction with kw;
  3. Highlight some of your contributions to kw;
  4. A project proposal to be executed in the GSoC timeline. Please, make sure that you add three main milestones (it should match with the GSoC evaluation date) and a work breakdown.

P.s.: Feel free to share your draft before submitting the final version.

gsoc/2025-gsoc-kworkflow.1738419358.txt.gz · Last modified: 2025/02/01 14:15 by davidbtadokoro