The Arch Way

From PacBSD Wiki
Jump to: navigation, search

NOTE: The following text ("The Arch Way") was taken from the Arch Linux Wiki. The last changes of the original document dated back to 21 June 2014, at 02:29, beeing released under GNU Free Documentation License 1.3 or later. This text may not reflect any changes made to the original document in the Arch Linux Wiki to date. The editor wishes to thank all those who participated in the creation.


The following five core principles comprise what is commonly referred to as the Arch Way, or the Arch Philosophy, perhaps best summarized by the acronym KISS for Keep It Simple, Stupid.

Simplicity

Simplicity is the ultimate sophistication. — Leonardo da Vinci

Simplicity is absolutely the principal objective behind Arch development. Many GNU/Linux distributions define themselves as "simple." However, simplicity itself has many definitions.

Arch Linux (and therefore Arch BSD) defines simplicity as without unnecessary additions, modifications, or complications, and provides a lightweight UNIX-like base structure that allows an individual user to shape the system according to their own needs. In short: an elegant, minimalist approach.

A lightweight base structure built with high programming standards will tend to have lower system resource demands. The base system is devoid of all clutter that may obscure important parts of the system, or make access to them difficult or convoluted. It has a streamlined set of succinctly commented, clean configuration files that are arranged for quick access and editing, with no cumbersome graphical configuration tools to hide possibilities from the user. An Arch BSD system is therefore readily configurable to the very last detail.

Complexity without complication.

Arch BSD retains the inherent complexities of a BSD-UNIX system, while keeping them well organized and transparent. Arch BSD developers and users believe that trying to hide the complexities of a system actually results in an even more complex system, and is therefore to be avoided.

Code-correctness over convenience

Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little. — Bertrand Meyer

The Arch BSD system places precedence upon elegance of design as well as clean, correct, simple code, rather than unnecessary patching, automation, eye candy or "newbie-friendliness." Software patches are therefore kept to an absolute minimum; ideally, never. Simple design and implementation shall always trump simple user interface.

Simplicity of implementation, code-elegance, and minimalism shall always remain the reigning priorities of Arch development.

Concepts, designs and features are generated and implemented by using the Arch Way principles as a guide, rather than bowing to external influences. The development team are resolute in their commitment and dedication to the Arch Way philosophy. If you share their vision, you are welcomed and encouraged to use Arch.

User-centric

Whereas many GNU/Linux and *BSD distributions attempt to be more user-friendly, Arch BSD has been, and shall always remain user-centric.

Arch BSD targets and accommodates competent *BSD users by giving them complete control and responsibility over the system.

Arch BSD users fully manage the system on their own. The system itself will offer little assistance, except for a simple set of maintenance tools that are designed to perfectly relay the user's commands to the system. Arch developers do not expend energy re-inventing GUI system tools; Arch is founded upon sensible design and excellent documentation.

This user-centric design necessarily implies a certain "do-it-yourself" approach to using the Arch distribution. Rather than pursuing assistance or requesting a new feature to be implemented by developers, Arch BSD users have a tendency to solve problems themselves and generously share the results with the community and development team – a "do first, then ask" philosophy. This is especially true for user-contributed packages found in the Arch User Repository – the official Arch BSD repository for community-maintained packages.

Openness

Openness goes hand in hand with simplicity, and is also one of the guiding principles of Arch Linux and BSD development.

Arch BSD uses simple tools, that are selected or built with openness of the sources and their output in mind.

Openness removes all boundaries and abstraction between the user and the system, providing more control, while simultaneously simplifying system maintenance.

The open nature of Arch BSD also implies a fairly steep learning curve, but experienced Arch BSD users tend to find other more closed systems much more inconvenient to control.

The openness principle extends to its community members as well, as Arch BSD users are very open with assistance and contribution.

Freedom

Another guiding principle of Arch Linux and BSD development is freedom. Users are not only permitted to make all decisions concerning system configuration, but also choose what their system will be.

By keeping the system simple, Arch BSD provides the freedom to make any choice about the system.

A freshly installed Arch BSD system contains only basic core components with no automatic configuration performed. Users are able to configure the system as they wish, from the shell. From the start of the installation procedure, every component of the system is 100% transparent and accessible for instant access, removal, or replacement by alternative components.

The large number of packages and build scripts in the various Arch BSD repositories also support freedom of choice, offering free and open source software for those who prefer it, as well as proprietary software packages, for those who embrace functionality over ideology. It is the user who chooses.

As Judd Vinet, the founder of the Arch Linux project once said: "[Arch Linux] is what you make it." - The same goes for Arch BSD...