Open Source Software: A Cornerstone of Scientific Research

2025-06-04

This article explores the crucial role of open-source software in scientific research. The author argues that the freedom and reproducibility inherent in open-source software are essential for scientific progress, effectively addressing challenges in data processing, simulation, document preparation, and preservation. In contrast, proprietary software presents numerous risks, including restrictive licensing, software rot, and the inability to reproduce results. The article concludes by recommending several commonly used open-source software packages, such as GCC, GFortran, Julia, Typst, and Pandoc, and emphasizes the significant contribution of open-source software to scientific advancement.

Read more
Tech

The Enshittification of the Internet: Policy Failure or Technical Glitch?

2025-05-28

Science fiction author Cory Doctorow's PyCon US 2025 keynote explored the 'enshittification' of internet platforms. He attributes this phenomenon to a three-stage strategy employed by tech companies to maximize profits: locking in users, degrading user experience to benefit business customers, and finally, extracting all value from the platform. Using Google as an example, he showed how 'twiddling' algorithms manipulate search results and ad placement, harming user interests. Doctorow argues that 'enshittification' isn't a technical issue, but stems from relaxed antitrust regulation and neglected privacy legislation. He calls for stronger antitrust measures, improved interoperability, enhanced privacy protections, and other steps to reverse this trend and build a 'new good internet'.

Read more
Tech

Flatpak's Development Stagnation: A Lack of Maintainers Hinders Innovation

2025-05-23

Despite its popularity among developers and users, and adoption by distributions like Fedora, the core Flatpak project is facing development stagnation. The main cause is the loss of key developers, leading to slow code review and merging, and a backlog of new features and improvements. The article explores challenges in Flatpak's OSTree and OCI support, permission refinement, network namespaces, and NVIDIA driver integration, proposing a potential OCI-based refactoring to leverage the broader container ecosystem and address existing issues.

Read more
Development application packaging

bpfilter: A BPF-based Network Filtering Performance Booster

2025-05-23

The bpfilter project aims to significantly improve network filtering performance in the Linux kernel. It achieves this by translating iptables/nftables rules into BPF programs, bypassing performance bottlenecks inherent in traditional methods. Composed of three components – a daemon, a library, and a command-line interface – bpfilter allows users to define custom filtering rules and integrates with iptables. Benchmarks demonstrate bpfilter's superior performance over iptables and nftables when handling large rule sets. Future plans include enhanced nftables support and integration of user-provided BPF programs.

Read more
Development Network Filtering

Home Assistant: A Kernel Dev's Home Automation Journey

2025-05-17

A kernel developer's year-long exploration of Home Assistant, an open-source home automation system, is detailed. The article examines Home Assistant's project health, balancing its business model with its open-source community, highlighting its active developer base and transition to the Open Home Foundation. Installation, while officially recommending a dedicated OS, proves relatively straightforward on standard Linux systems, albeit demanding some technical know-how. Home Assistant connects various home devices through integrations, varying in quality but offering powerful functionality overall. Security concerns are addressed, acknowledging potential risks but noting the project's security policy and audit mechanisms mitigating some vulnerabilities. Ultimately, Home Assistant empowers users with control over their home network and devices, presenting a compelling alternative to cloud-based services.

Read more
Development

Home Assistant: A Kernel Dev's Journey to Smart Home Freedom

2025-05-17

A kernel developer recounts their experience using Home Assistant, an open-source home automation system, to manage their smart home. The article details how Home Assistant solved real-world problems: replacing a defunct solar panel monitoring system after SunPower's bankruptcy, creating virtual sensors to calculate home energy consumption using 'Helpers', locally controlling Mitsubishi heat pumps without cloud dependency, and using a Refoss power monitor to precisely track appliance energy usage and diagnose issues. Home Assistant offers complete control but requires a technical learning curve.

Read more
Development

LWN Faces Economic Headwinds: Subscription Drop and Future Challenges

2025-05-03

LWN.net, a news site focused on Linux and free software, is experiencing economic headwinds. Since March, they've seen a significant drop in new subscriptions and renewals, correlating with the US administration's attacks on the global trade system and the resulting economic downturn. While not yet an existential threat, this is a serious concern. LWN is responding by tightening its belt and appealing to readers to subscribe or encourage their employers to establish group subscriptions to ensure continued operation. Inflation and anti-US sentiment pose further potential challenges. Despite these difficulties, LWN remains committed to providing high-quality content and expresses gratitude for its readers' long-standing support.

Read more

The Unsung Hero of Early Linux: MCC Interim Linux

2025-05-02

Following Linus Torvalds' release of the Linux kernel, Owen LeBlanc created the first true Linux distribution: MCC Interim Linux. This article tells the story of LeBlanc and his creation at the University of Manchester. MCC Interim Linux wasn't known for a flashy interface or vast software selection, but its easy installer was crucial to early Linux adoption. It made Linux accessible to more people, laying the groundwork for later, more successful distributions. LeBlanc's experience also highlights the challenges of early open-source promotion and the differences in technical perspectives between developers and management.

Read more
Development Linux history

Kernel Build Breakage Caused by GCC 15's New Warning

2025-04-25

Linus Torvalds, just before releasing kernel 6.15-rc3, hastily patched the kernel to address warnings from GCC 15's new -Wunterminated-string-initialization option, which was included in Fedora 42. This last-minute fix broke builds on older GCC versions, sparking a debate with kernel developer Kees Cook. The incident highlights the risks of using unreleased compiler versions and the importance of better communication and coordination between developers. Torvalds ultimately reverted the patch, temporarily disabling the warning.

Read more
Development GCC Compiler

Pahole: Evolution of a Swiss Army Knife for Linux Kernel Debug Info

2025-04-22

Pahole, a powerful tool for exploring and editing debug information, plays a crucial role in Linux kernel development. It currently handles the conversion of compiler-generated debug information into the BTF format usable by the BPF verifier. This article details recent advancements in Pahole, including a new co-maintainer, improved BTF handling, support for flexible arrays and bpf_fastcall, and enhanced Rust support. In the future, Pahole's role in DWARF-to-BTF conversion is expected to diminish as GCC's support for the -gbtf option matures, leading to faster kernel build times.

Read more
Development Debug Information

Joplin 3.2: Open-Source Note-Taking App Gets Multi-Window Support

2025-04-21

Joplin, an open-source note-taking application, has released version 3.2, featuring long-awaited multi-window support, multi-column layouts, enhanced accessibility, and theme detection. This versatile app supports Markdown, plugins, multimedia, and various synchronization methods including end-to-end encrypted cloud sync and local storage. While built with Electron, resulting in higher resource consumption, Joplin's robust feature set and active community make it a compelling option for note-taking.

Read more
Development Note-taking App

Fedora Aims for 99% Reproducible Builds in Fedora 43

2025-04-11

Fedora is striving for 99% reproducible builds in its upcoming Fedora 43 release. This means anyone, given the same source code, build environment, and instructions, can recreate bit-for-bit identical binaries. While Debian has made significant strides in reproducible builds, Fedora's approach focuses on the payload of RPM packages, leveraging infrastructure improvements and tools like add-determinism and rebuilderd. Although largely invisible to end-users, this effort is crucial for bolstering supply chain security against malicious attacks.

Read more
Development

Mexico's Open Source Journey: A David vs. Goliath Story of Government Transformation

2025-04-06

Former high-ranking Mexican government official Federico González Waite shared his decade-long experience pushing open-source software adoption within the Mexican government. To cut costs, achieve IT sovereignty, and break free from proprietary software vendors, he led multiple projects, including building the national e-passport system and deploying large-scale communications infrastructure. Despite facing threats from giants like Oracle and resistance within the government, they made significant progress, but also faced setbacks, such as projects failing due to lack of sustained funding and changes in government leadership. He stressed that successful open-source transformation hinges on strong internal support and leadership commitment, along with continuous investment in talent development.

Read more

Rust Adopts Ferrocene Language Specification

2025-03-30

Rust's lack of an official specification has hindered its adoption in safety-conscious organizations. The Rust project now announces its adoption of the Ferrocene Language Specification (FLS), developed by Ferrous Systems, as a core project component. This move aims to remove a significant barrier to using Rust in safety-critical systems.

Read more

Ubuntu Considers Switching to Rust Utilities by Default

2025-03-21

Ubuntu is planning to replace many traditional GNU utilities with Rust implementations, such as those from the uutils project, in its upcoming 25.10 release. To test the suitability of these Rust tools, Canonical's VP of Engineering, Jon Seager, released oxidizr, a command-line utility to easily enable or disable them. This move aims to enhance Ubuntu's resilience and security, and attract more contributors. While community reaction is mixed, this shift could significantly impact Rust's adoption and the future of Linux distributions.

Read more
Development

The Forking Paths of Firefox: Privacy vs. the Free Software Ethos

2025-03-14

Mozilla's recent actions have angered many Firefox users, prompting them to seek alternatives. This article explores several Firefox forks, such as GNU IceCat, Floorp, LibreWolf, and Zen, each emphasizing different aspects of privacy protection and free software principles. IceCat prioritizes free software, enhancing privacy with extensions like LibreJS and JShelter; Floorp focuses on user experience, featuring dual sidebars and workspace functionalities; LibreWolf concentrates on privacy and security, removing tracking features from Firefox; and Zen boasts a modern interface and extensive customization options. While these forks offer users more choices, they all rely on Mozilla's underlying development, facing challenges in security updates and maintenance.

Read more
Development

uutils: Five Years Rewriting GNU Coreutils in Rust

2025-03-09

At FOSDEM 2025, Sylvestre Ledru announced major progress on uutils, his Rust-based replacement for GNU Coreutils. Nearly five years in the making, the project, begun during the COVID lockdown, has rewritten over 100 essential Unix/Linux utilities, boasts over 530 contributors and 18,000+ GitHub stars. Aiming for safer, more performant drop-in replacements, uutils passes nearly 500 of the GNU coreutils test suite and is used by projects like Debian-based Apertis, Spectacles smartglasses, and Microsoft Visual Studio Code. Ledru's next target: expanding the Rust rewrite to other key Debian/Ubuntu packages, addressing the challenges of C maintenance and offering a modern experience for new developers.

Read more
Development

The Genesis of Linux: From As and Bs to Mars

2025-03-02

This article is a fascinating firsthand account of Linux's creation by early contributor Lars Wirzenius. It begins in 1991 with Linus Torvalds, using a 386 PC with a meager 4MB of RAM, writing a simple multitasking program that displayed alternating streams of 'A's and 'B's on the screen – the genesis of the Linux kernel. With the help of Wirzenius, Linus refined the kernel and released it online. Through key events like the famous debate with Andrew Tanenbaum, the adoption of the GPL license, and the porting of the X11 system, Linux evolved from a hobby project into a global operating system powering billions of devices from Earth to Mars.

Read more
Tech

Julia 1.11 and Beyond: Static Compilation, juliaup, and WebAssembly Advancements

2025-02-20

Julia 1.11 brings significant improvements, addressing longstanding user concerns. The most impactful is the advancement in static compilation; the upcoming 1.12 release will produce smaller executables, facilitating distribution. Additionally, the new juliaup utility streamlines Julia installation and upgrades, while WebAssembly support continues to mature, enabling Julia programs to run in browsers. These enhancements make Julia more user-friendly and broaden its applications, making it a powerful contender for scientific computing and system utility development.

Read more
Development static compilation

Fuzzing Concurrency Bugs with a BPF Scheduler

2025-02-14

At FOSDEM, Jake Hillion from Meta and Johannes Bechberger, an OpenJDK developer, presented their concurrency fuzzing scheduler built using the BPF scheduling framework, `sched_ext`. This scheduler deliberately introduces randomness in scheduling, causing delays and altering thread execution order to surface elusive concurrency bugs. While currently having a significant performance overhead, limiting its use to development debugging, it offers an effective way to uncover real-world logic errors and shows promise for future production use after optimization.

Read more
Development fuzzing

Rust Drivers Hit a Snag in the Linux Kernel's DMA Subsystem

2025-02-04

The Linux kernel's efforts to integrate Rust for device driver development are encountering resistance within the DMA (Direct Memory Access) subsystem. Rust drivers require interaction with the kernel's DMA mapping layer, necessitating a set of abstractions. However, core maintainer Christoph Hellwig opposes adding Rust code to `kernel/dma`, citing increased maintenance complexity. While Rust developers proposed maintaining these abstractions separately, Hellwig remains unconvinced. This impasse highlights challenges in Rust's kernel integration, with its future hinging on the kernel community's decision and the adaptation of core maintainers to a multi-language environment.

Read more
Development

LWN.net Now Offers EPUB Editions

2025-02-02

LWN.net has announced that all feature content is now available in EPUB format for subscribers at the "professional hacker" level and above. Subscribers can download the weekly edition by clicking the "Download EPUB" link in the left column, and there's a separate EPUB RSS feed. Other feature content can be converted to EPUB by appending `/epub` to its URL. LWN.net will also create special EPUB books; coverage from Kangrejos 2024 and the 2024 Linux Storage, Filesystem, Memory Management, and BPF Summit is already available to all readers.

Read more
Tech

Going Mouseless: Building a Productive Keyboard-Only Desktop

2025-02-01

Tired of your mouse? This author shares their journey to a mouse-free desktop. By leveraging tools like the PaperWM scrollable tiling window manager, Firefox bookmark keywords, the Vimium browser extension, and the terminal-based email client Aerc, along with GNOME's Quake Terminal extension and Input Remapper, the author dramatically increased productivity and improved ergonomics. The article details how to use and configure these tools, and shares their experience hiding Emacs's menus and toolbars to further reduce mouse reliance.

Read more

Chimera Linux: A Minimalist Linux Distro Ditching systemd

2025-01-26

Chimera Linux is a new distribution aiming for a "simple, transparent, and easy to pick up" desktop experience. Built from scratch, its first beta release boasts a usable desktop with helpful software, primarily leveraging BSD tools. Rejecting systemd for its complexity, Chimera uses Dinit and musl, reducing dependencies. While installation is manual, its simplicity and support for GNOME/KDE appeal to experienced users. The focus is on a streamlined, usable system, not software debates.

Read more
Development Linux distro

Vim's Rebirth After the Passing of its Founder

2025-01-24

The death of Bram Moolenaar, Vim's creator, shook the community. However, the project continues under the stewardship of Christian Brabandt. The team tackled website modernization, security updates, and new feature development, including XDG directory support and Wayland support. While controversies, such as Tree-sitter integration, exist, the Vim community remains active and dedicated to the project's future.

Read more
Development

2025 Predictions: Linux Kernel, Open Source, and the Uncertain Future

2025-01-17

LWN.net's 2025 predictions paint a picture of exciting advancements and looming challenges in the Linux kernel and open-source landscape. The article foresees transformative changes with the extensible scheduling class (sched-ext), increased adoption of Rust in the kernel, the discovery of new backdoor attempts, risks associated with single-maintainer projects, the potential fallout from AI-generated code, growing support for free generative AI and maintainers, persistent cloud product failures and data breaches, a surge in open hardware, a resurgence of mobile device distributions, and the impact of geopolitical factors. The year ahead promises both significant opportunities and considerable hurdles for the open-source community.

Read more
Development

Vim's Rebirth After Bram Moolenaar's Passing

2025-01-11

The death of Bram Moolenaar, Vim's creator, shook the community, but the project lives on. At VimConf 2024, new maintainer Christian Brabandt outlined the project's reorganization and future plans. The team expanded, the website and infrastructure were upgraded, security vulnerability reporting and community communication were addressed. While Vim is currently in maintenance mode, development hasn't stopped; version 9.1 was released, with plans to improve the GUI, terminal support, and spell checking. Community collaboration is crucial; Brabandt emphasized listening to user needs and maintaining a healthy community.

Read more
Development Community Maintenance

Linux Kernel Initial Commit SHA Collision Risk

2024-12-31

Kees Cook, a Linux kernel developer, discovered a kernel documentation commit whose ID shares the first 12 characters with the initial commit in the kernel's repository. This potential collision could break various tools relying on unique commit IDs. While not yet merged upstream, this commit serves as a test case to proactively address SHA collisions and prevent future widespread issues.

Read more
Development SHA collision

Homa Network Protocol: A New Challenger to TCP/UDP

2024-12-30

Homa is a novel network transport protocol designed for data center applications, aiming to reduce the overhead of transmitting numerous small messages. Unlike traditional TCP/UDP, it eliminates connection setup, employing a unique request-response mechanism and prioritized queues to minimize latency. Currently, Homa is striving for inclusion in the Linux kernel, but its future may heavily rely on hardware acceleration within network devices.

Read more

io_uring Gains New Process Creation Functionality

2024-12-20

LWN.net reports on the development of a new process creation feature for the io_uring subsystem. This functionality is implemented via two new io_uring operations: IORING_OP_CLONE, which creates a new process, and IORING_OP_EXEC, which performs an execveat() system call to load a new program. This promises increased efficiency and allows for more complex logic, such as path searching, to be executed asynchronously within the kernel. However, the feature is still in its early stages and has limitations, such as requiring synchronous execution of io_uring operations within the new process. Future development aims to increase flexibility and eventually merge the feature into the mainline Linux kernel.

Read more
2