Difference between revisions of "The Arch Way"

From ArchWiki
Jump to navigation Jump to search
(move quote to pragmatism section, remove empty "code-correctness", see Talk:The Arch Way)
m (style (sorry, I need to flush page_touched which is somehow different from the last edit timestamp...))
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:About Arch]]
#redirect [[Arch terminology#The Arch Way]]
[[cs:The Arch Way]]
[[da:The Arch Way]]
[[de:The Arch Way]]
[[el:The Arch Way]]
[[es:The Arch Way]]
[[he:The Arch Way]]
[[hr:The Arch Way]]
[[hu:The Arch Way]]
[[id:The Arch Way]]
[[it:The Arch Way]]
[[ja:The Arch Way]]
[[ko:The Arch Way]]
[[lt:The Arch Way]]
[[nl:The Arch Way]]
[[pl:The Arch Way]]
[[pt:The Arch Way]]
[[ro:Calea Arch]]
[[ru:The Arch Way]]
[[sk:The Arch Way]]
[[sr:The Arch Way]]
[[sv:Riktlinjer för Arch]]
[[th:The Arch Way]]
[[tr:Arch Tarzı]]
[[uk:The Arch Way]]
[[zh-CN:The Arch Way]]
[[zh-TW:The Arch Way]]
The following four 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 is the ultimate sophistication.'' — Leonardo da Vinci
Arch Linux defines simplicity as ''without unnecessary additions, modifications, or complications''. It ships software as released by the original developers (upstream) with minimal distribution-specific (downstream) changes.
Patches not accepted by upstream are avoided. Arch's downstream patches consist almost entirely of backported bug fixes that are obsoleted by the project's next release. In a similar fashion, Arch ships the configuration files provided by upstream with changes limited to distribution-specific issues like adjusting the system file paths. It does not add automation features such as enabling a service simply because the package was installed.
Arch Linux packages usually correspond directly to upstream projects. Packages are only split when compelling advantages exist rather than it being the norm. Splitting is only done to save disk space in particularly bad cases of waste.
''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
Arch is a pragmatic distribution rather than an ideological one. The principles here are only useful guidelines. Ultimately, design decisions are made on a case-by-case basis through developer consensus. Evidence-based technical analysis and debate are what matter, not politics or popular opinion.
The large number of packages and build scripts in the various Arch Linux repositories 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''.
Whereas many GNU/Linux distributions attempt to be more ''user-friendly'', Arch Linux has always been, and shall always remain ''user-centric''. The distribution is intended to fill the needs of those contributing to it rather than trying to appeal to as many users as possible. It is suited to anyone with a do-it-yourself attitude that's willing to spend some time reading the documentation and solving their own problems.
Every user is encouraged to contribute by reporting bugs, improving the community documentation on the wiki and providing technical assistance to others. Patches improving packages or the core projects are highly valued and the [[Arch User Repository]] offers a repository of user-contributed packages. Arch's developers are volunteers and active contributors will often find themselves becoming part of that team.
As Judd Vinet, the founder of the Arch Linux project said: "[Arch Linux] is what ''you'' make it."
Arch Linux is a general purpose distribution. The base system consists of a carefully chosen set of software suitable for nearly any use case. Rather than tearing out unneeded and unwanted packages, the user extends the system based on their needs. The robust foundation provides a dependable base for the other packages to build upon without prematurely specializing it. Arch strikes a balance between simplicity and user choice where the low-level implementation details are handled by the distribution and everything else is left up to the user.

Latest revision as of 09:16, 15 August 2018