Linux kernel mailing list
The Linux Kernel Mailing List (LKML), formally known as linux-kernel@vger.kernel.org, is the central public forum for discussions on the design, development, bugs, and maintenance of the Linux kernel, serving as the primary venue where developers worldwide collaborate on patches, reviews, and technical decisions.[1] Established in December 1991 as [email protected] shortly after Linus Torvalds' initial announcement of the Linux project in August 1991, it evolved into its current form and has remained a cornerstone of the open-source kernel's decentralized, community-driven evolution.[2] The list is hosted on the vger.kernel.org server and maintained through the Subspace mailing list service, with comprehensive archives dating back to 1998 accessible via lore.kernel.org to facilitate searching and historical reference.[3][4] Beyond the main LKML, the Linux kernel ecosystem relies on a network of subsystem-specific mailing lists—detailed in the kernel's MAINTAINERS file—for targeted development on areas like networking, filesystems, or drivers, ensuring focused discussions while funneling key changes to the broader list.[1] Participation emphasizes plain-text emails, adherence to etiquette such as searching archives before posting and maintaining proper threading, and the use of tools like git for patch submission, which has enabled scalable growth despite the list's high volume of thousands of messages daily.[5][6] This email-based model, chosen for its simplicity and accessibility, has sustained a global developer community since the kernel's inception, allowing contributions from individuals and organizations without centralized control.[7]Introduction
Definition and Purpose
The Linux Kernel Mailing List (LKML) is the primary electronic mailing list for technical discussions on the design, bugs, and improvements of the Linux kernel.[1] It serves as the central communication platform where the majority of core kernel developers participate to collaborate on kernel development efforts.[1] Unlike other Linux mailing lists that cover user-space applications, distributions, or general topics, the LKML focuses exclusively on kernel internals.[1] The core purposes of the LKML include sharing code patches for peer review, debating proposed features and architectural decisions, reporting and diagnosing bugs, and announcing official kernel releases by maintainers such as Linus Torvalds.[1][8] Linus Torvalds, the kernel's creator and principal maintainer, actively drives many of these discussions to guide development priorities.[9] The LKML handles a high daily volume of approximately 1,300 messages, the majority of which consist of code patches submitted for integration into the kernel.[10] This intense activity underscores its role as the epicenter of open-source kernel collaboration.[9]Significance in Linux Development
The Linux Kernel Mailing List (LKML) serves as the central hub for the collaborative development of the Linux kernel, where all major decisions, patch merges, and release announcements are originated, discussed, and finalized. Kernel maintainers and developers rely on LKML to coordinate efforts, review proposed changes, and integrate contributions into the mainline kernel, ensuring a transparent and consensus-driven process that underpins the kernel's evolution. This central role makes LKML indispensable for upstream integration, as subsystems and features are funneled through its discussions before official adoption.[11] LKML attracts a global community of contributors, including developers from major companies such as Intel and IBM, who use the list for announcements, proposals, and code submissions. As of 2025, the Linux kernel has over 11,000 contributors across 1,780 organizations.[12] A 2003 study analyzing LKML archives from 1995 to 2000 identified 14,535 distinct individuals from at least 30 countries who sent at least one email to the list, highlighting its early role in fostering widespread participation that continues to drive kernel advancements.[13] For instance, the iconic Tux penguin mascot was first suggested on LKML in early 1996 during discussions about a suitable logo for Linux, illustrating how the list influences even non-technical aspects of the project's identity.[14] The ongoing activity on LKML remains vital to the kernel's development workflow, with maintainers leveraging it for real-time coordination and feedback, which sustains the project's rapid iteration and adaptability. This dependency ensures that diverse inputs from international and corporate contributors shape the kernel's features and stability, reinforcing LKML's enduring significance in open-source software ecosystems.[15]History
Founding and Early Years
The Linux kernel mailing list traces its origins to late 1991, when Linus Torvalds established the "Linux-activists" mailing list at niksula.hut.fi as a dedicated channel for early collaborators on the nascent Linux project. This initiative followed Torvalds' initial public announcement of his kernel work on the comp.os.minix Usenet newsgroup on August 25, 1991, where he sought feedback from the Minix user community. The list was first publicly referenced in an October 1991 document accompanying early kernel files, instructing interested parties to subscribe via [email protected].[16] Hosted initially at the Helsinki University of Technology's server, the list quickly became the primary hub for a small group of hobbyists and volunteer programmers, fostering the project's transition from Torvalds' solo endeavor to a communal effort. Discussions centered on basic functionality, such as booting issues and basic system calls in the 10,000-line kernel, marking the list's role in shaping the earliest releases.[2] By 1992–1993, as Linux gained traction—spurred by events like the high-profile debate between Torvalds and Andrew Tanenbaum on Usenet—the mailing list saw rising participation, shifting from informal hobbyist chats to more organized exchanges on kernel architecture and porting efforts. This growth, however, introduced early challenges, including unstructured threads that mixed bug reports with philosophical debates, and the difficulty of coordinating patches without formal review processes amid increasing email volume. Despite these hurdles, the list solidified as the core forum for Linux development through the mid-1990s, evolving into a structured environment that supported releases like version 0.12 in early 1992.[2][17]Evolution and Milestones
In the mid-1990s, the Linux Kernel Mailing List (LKML) experienced significant expansion as the kernel's popularity grew, leading to the adoption of formal archiving mechanisms to preserve discussions. Archives began appearing around 1995, with one of the earliest comprehensive collections hosted at lkml.iu.edu using Hypermail, enabling searchable access to messages from that period onward. This growth necessitated tools to manage the increasing volume of traffic; in 1998, Zack Brown launched Kernel Traffic, a weekly newsletter that summarized key LKML discussions, filtering technical debates, bug reports, and feature proposals for a broader audience. Kernel Traffic continued until 2005, providing an essential digest that helped developers and observers track the evolving kernel without being overwhelmed by the raw email flood.[18] The 2000s marked pivotal milestones for LKML, driven by technological shifts and rising participation. In April 2005, following the collapse of the BitKeeper collaboration due to licensing disputes discussed extensively on LKML, Linus Torvalds announced the creation of Git as a new distributed version control system, which was officially adopted for kernel development by July 2005. This integration transformed patch submission and review workflows on the list, enabling more efficient handling of contributions and reducing reliance on emailed diffs. Concurrently, corporate involvement surged, with companies like IBM, Red Hat, and Intel beginning to fund developers who contributed substantially to the kernel; by the end of the decade, over 600 firms had participated since Git's tracking began in 2005. LKML also hosted intense debates surrounding the kernel 2.6 series, released in 2003 after a protracted two-year development cycle, where discussions focused on stability, feature inclusion, and the shift to a more predictable release model.[19][20] During the 2010s, LKML adapted to escalating email volumes—often exceeding 1,000 messages daily—through infrastructural upgrades and fragmentation into specialized sub-lists. In 2018, the list migrated to a modern public-inbox-based archive at lore.kernel.org, which provided threaded views, full-text search, and coverage back to 1998, replacing older, less scalable systems and improving accessibility for contributors. To mitigate overload on the main list, subsystem-specific mailing lists proliferated, such as linux-kernel-vserver for virtualization topics, allowing focused discussions while routing relevant threads back to LKML for broader review. These changes supported the kernel's maturation without altering the core email-centric model.[21] As of November 2025, LKML maintains steady continuity, serving as the primary forum for kernel 6.x series development, including releases from 6.1 through 6.17, with 6.18 in release candidate stage, and active threads on security enhancements such as improved memory protections and the ongoing integration of Rust for driver modules to bolster safety.[22][23]Operations and Structure
Subscription and Access
The Linux Kernel Mailing List (LKML) can be subscribed to through the Subspace mailing list service, hosted on vger.kernel.org, whose infrastructure was replaced in 2023.[24][25] To subscribe, individuals send a plain-text email to the list's +subscribe address, such as [email protected], for receiving individual messages, or [email protected] for batched daily digests.[26] This process requires no fee and confirms subscription via a reply email, ensuring straightforward entry for interested developers and enthusiasts.[26] Non-subscribers can access LKML discussions through public archives, which provide searchable, read-only views of all messages without needing an account. Primary archives include lore.kernel.org, maintained by the Linux Foundation for comprehensive historical and current threads, and the unofficial lkml.org interface for quick searches and browsing.[27][9] Subscription remains free, but the list's high volume—often exceeding thousands of messages weekly—demands robust email client configuration, such as procmail or sieve filters, to manage influx and avoid inbox overload; digest mode helps mitigate this by consolidating content.[9][26] Several barriers affect new participants, including the need for technical proficiency in email etiquette, such as sending plain-text-only messages to avoid rejection, as HTML content is filtered out for security and compatibility reasons.[5] Spam filters from providers like Gmail frequently challenge subscriptions and deliveries, sometimes blacklisting kernel domains due to high-traffic patterns, requiring users to whitelist vger.kernel.org addresses.[6] Web-based alternatives like lkml.org lower the entry threshold by enabling passive reading without email setup, though active contribution still necessitates proper email handling.[9] Access has evolved from the early days of strictly plain-text, majordomo-based subscriptions via vger.kernel.org in the 1990s to the modern Subspace platform introduced in 2021, which improves delivery reliability through better DMARC compliance while maintaining a plain-text mandate for posts.[24][3] This shift addresses past issues like email bounces from evolving spam protections, making participation more accessible in the 2020s without altering core formatting rules.[25]Discussion Formats and Tools
Communications on the Linux Kernel Mailing List (LKML) primarily occur through plain-text email messages, which ensure compatibility across diverse email clients and avoid formatting issues associated with HTML or attachments. Patches are typically included inline within the email body, generated using thegit format-patch command to produce a standardized mbox format that preserves code structure and context. Threaded replies are facilitated by email headers such as In-Reply-To and References, which link responses to the original message, maintaining the chronological and logical flow of discussions even in extended debates.[28][29][28]
Participants commonly use email clients like Mutt or Thunderbird, which support plain-text composition and proper header handling without altering content through automatic wrapping or encoding changes. For submitting patches, integration with git send-email is recommended, as it automates the delivery of multiple patches in a series while correctly setting headers for threading and avoiding common pitfalls like MIME attachments. These tools enable developers to contribute from various environments, emphasizing simplicity and reliability in asynchronous collaboration.[28][29]
Discussions are organized using subject line prefixes, such as "[PATCH]" for code submissions or "[RFC]" for requests for comments, which help recipients quickly identify the topic and filter messages. Message IDs, unique identifiers assigned to each email, allow for precise tracking of threads across archives, supporting the analysis of long-running conversations on kernel design or bugs. This structure aids in managing the list's high volume, where thousands of messages circulate weekly.[29][28][9]
To handle the substantial email traffic, subscribers can opt for daily digests, which compile messages into a single periodic summary rather than delivering them individually. The LKML relies exclusively on this asynchronous email model for global participation, eschewing real-time chat platforms to accommodate contributors across time zones without requiring synchronous availability. This approach aligns with broader community etiquette, where clear threading and concise replies foster productive exchanges.[26][5]
Patch Submission and Review Process
Developers submit code changes to the Linux kernel primarily through patches sent to the Linux Kernel Mailing List (LKML), following a structured workflow to ensure quality and proper routing. The process begins with generating patches using thegit format-patch command, which produces unified diff files in a canonical format suitable for email transmission. These patches must include a clear subject line, a detailed description of the changes, and essential tags such as the Signed-off-by line to certify compliance with the Developer's Certificate of Origin (DCO). The DCO is a legal attestation by the contributor that they have the right to submit the code under the kernel's license (GPLv2), that it is their original work or they are authorized to contribute it, and that it does not violate third-party rights; this is enforced via the Signed-off-by tag added automatically with git commit --signoff or manually in the commit message.[29][30]
Patches also require comprehensive changelogs in the body, explaining the problem addressed, the rationale for the solution, and any testing performed, with text wrapped at 75 characters for readability. Testing reports are encouraged, often indicated by a Tested-by tag from individuals who have verified the patch in relevant environments, providing evidence of functionality across architectures or use cases. To route the patch correctly, developers run the scripts/get_maintainer.pl script on the patch file or affected paths, which parses the MAINTAINERS file to identify subsystem maintainers, reviewers, and relevant mailing lists; the output is then used with git send-email to distribute the patch to [email protected] and targeted recipients. This ensures the submission reaches the appropriate experts without overwhelming the entire community.[29][31]
Once submitted, patches undergo a public review process on the LKML, where maintainers, peers, and other contributors provide feedback on technical correctness, style, and impact. Initial versions are tagged as [PATCH v1], with subsequent iterations (e.g., v2, v3) incorporating reviewer comments and including a changelog of changes since the prior version, placed after the "---" separator in the patch email. Reviews emphasize constructive criticism, with tags like Reviewed-by or Acked-by signaling approval; developers are expected to iterate based on feedback, typically waiting 1-3 weeks before resending if no response is received, using [PATCH vN RESEND] for visibility. The process fosters transparency, as all discussions occur publicly to build consensus and prevent silos.[29][32]
Subsystem maintainers aggregate reviewed and tested patches into their trees, then submit pull requests to Linus Torvalds during the biannual merge window—a roughly two-week period following each stable release where new features are integrated. Torvalds evaluates these pull requests, merging those that meet criteria for stability and design, often providing final feedback or rejecting contentious ones; his decisions close the window, leading to the first release candidate (rc1). Accepted patches thus enter the mainline kernel via these pulls, while rejected ones may prompt further debate or redesign on the LKML. The high volume of activity—typically around 1,500 messages daily in recent periods, predominantly patch series and reviews—underscores the scale of this collaborative effort.[32]