OpenBSD has contributed significantly to operating system security and development through proactive approaches. These include innovations like memory safety mitigations such as W^X (preventing simultaneous write and execute permissions on memory pages) and pledge() (restricting system calls available to a process), advanced cryptography and randomization techniques, and extensive code auditing practices. The project also champions portable and reusable code, evident in the creation of OpenSSH, OpenNTPD, and other tools, which are now widely used across various platforms. Furthermore, OpenBSD emphasizes careful documentation and user-friendly features like the package management system, highlighting a commitment to both security and usability.
The GNU Make Standard Library (GMSL) offers a collection of reusable Makefile functions designed to simplify common build tasks and promote best practices in GNU Make projects. It provides functions for tasks like finding files, managing dependencies, working with directories, handling shell commands, and more. By incorporating GMSL, Makefiles can become more concise, readable, and maintainable, reducing boilerplate and improving consistency across projects. The library is designed to be modular, allowing users to include only the functions they need.
Hacker News users discussed the GNU Make Standard Library (GMSL), mostly focusing on its potential usefulness and questioning its necessity. Some commenters appreciated the idea of standardized functions for common Make tasks, finding it could improve readability and reduce boilerplate. Others argued that existing solutions like shell scripts or including Makefiles suffice, viewing GMSL as adding unnecessary complexity. The discussion also touched upon the discoverability of such a library and whether the chosen license (GPLv3) would limit its adoption. Some expressed concern about the potential for GPLv3 to "infect" projects using the library. Finally, a few users pointed out alternatives like using a higher-level build system or other scripting languages to replace Make entirely.
The blog post argues for a standardized, cross-platform OS API specifically designed for timers. Existing timer mechanisms, like POSIX's timerfd
and Windows' CreateWaitableTimer
, while useful, differ significantly across operating systems, complicating cross-platform development. The author proposes a new API with a consistent interface that abstracts away these platform-specific details. This ideal API would allow developers to create, arm, and disarm timers, specifying absolute or relative deadlines with optional periodic behavior, all while handling potential issues like early wake-ups gracefully. This would simplify codebases and improve portability for applications relying on precise timing across different operating systems.
The Hacker News comments discuss the complexities of cross-platform timer APIs, largely agreeing with the article's premise. Several commenters highlight the difficulties introduced by different operating systems' power management features, impacting timer accuracy and reliability. Specific challenges like signal coalescing and the lack of a unified interface for monotonic timers are mentioned. Some propose workarounds like busy-waiting for short durations or using platform-specific code for optimal performance. The need for a standardized API is reiterated, with suggestions for what such an API should offer, including considerations for power efficiency and different timer resolutions. One commenter points to the challenges of abstracting away hardware differences completely, suggesting the ideal solution may involve a combination of OS-level improvements and application-specific strategies.
Bunster is a tool that compiles Bash scripts into standalone, statically-linked executables. This allows for easy distribution and execution of Bash scripts without requiring a separate Bash installation on the target system. It achieves this by embedding a minimal Bash interpreter and necessary dependencies within the generated executable. This makes scripts more portable and user-friendly, especially for scenarios where installing dependencies or ensuring a specific Bash version is impractical.
Hacker News users discussed Bunster's novel approach to compiling Bash scripts, expressing interest in its potential while also raising concerns. Several questioned the practical benefits over existing solutions like shc
or containers, particularly regarding dependency management and debugging complexity. Some highlighted the inherent limitations of Bash as a scripting language compared to more robust alternatives for complex applications. Others appreciated the project's ingenuity and suggested potential use cases like simplifying distribution of simple scripts or bypassing system-level restrictions on scripting. The discussion also touched upon the performance implications of this compilation method and the challenges of handling Bash's dynamic nature. A few commenters expressed curiosity about the inner workings of the compilation process and its handling of external commands.
Summary of Comments ( 287 )
https://news.ycombinator.com/item?id=43143777
Hacker News users discuss OpenBSD's historical focus on proactive security, praising its influence on other operating systems. Several commenters highlight OpenBSD's pledge ("secure by default") and the depth of its code audits, contrasting it favorably with Linux's reactive approach. Some debate the practicality of OpenBSD for everyday use, citing hardware compatibility challenges and a smaller software ecosystem. Others acknowledge these limitations but emphasize OpenBSD's value as a learning resource and a model for secure coding practices. The maintainability of its codebase and the project's commitment to simplicity are also lauded. A few users mention specific innovations like OpenSSH and CARP, while others appreciate the project's consistent philosophy and long-term vision.
The Hacker News post titled "OpenBSD Innovations" (https://news.ycombinator.com/item?id=43143777) discussing the OpenBSD innovations page (https://www.openbsd.org/innovations.html) has generated a moderate number of comments, many of which express admiration for OpenBSD's consistent focus on security, code correctness, and proactive development practices.
Several commenters highlight OpenBSD's historical significance and influence on other operating systems and the wider software development community. They acknowledge features like
pledge()
andunveil()
as pioneering security mechanisms that have inspired similar functionalities in other systems. The proactive approach of finding and fixing bugs before they become widespread vulnerabilities is also frequently praised, with commenters pointing to the project's dedication to code audits and their impressive track record.Some comments delve into specific technical details of OpenBSD's innovations, discussing the advantages and disadvantages of certain features. For example, the discussion around
pledge()
includes its effectiveness in limiting the potential damage of exploits and the challenges of adapting existing software to its constraints. The conversation aroundunveil()
similarly explores the granular control it offers over file system access and the potential complexities it introduces for developers.A recurring theme is the contrast between OpenBSD's security-focused approach and the practices of other operating systems, often implicitly or explicitly referencing Linux. Some commenters suggest that while OpenBSD's strictness might be perceived as a barrier to entry or limit usability in certain contexts, it ultimately results in a more secure and robust system.
While acknowledging OpenBSD's strengths, some comments also offer constructive criticism or point out potential areas for improvement. For instance, some users discuss the perceived limitations of OpenBSD's hardware support compared to other operating systems. Others express the wish for broader adoption of OpenBSD's security practices in the wider software ecosystem.
Overall, the comments reflect a deep respect for the OpenBSD project and its contributions to computer security. While there are occasional critiques and nuanced discussions about specific features, the general sentiment is one of appreciation for OpenBSD's rigorous approach and the positive influence it has had on the industry.