Other languages English ; français ; Nederlands ; português brasileiro ; |
Introduction
While virtually all of the Windows functions and tasks can be readily done in Mageia, important differences exist between the two. Most of these come from "under the hood", but other differences are worth keeping in mind. They will help you get more used to Mageia and recognize the bifurcation in their approaches to computing.
Computer users are mostly accustomed to the "Windows way" of operating systems. They usually see operating systems as a huge pre-installed program enabling the entire computer to start, run, get to the internet, and install other programs. In Mageia, many things differ from this image: some are radically different, others are almost the same. But the single most important thing to remember at any moment, is Mageia is NOT Windows. In fact, some new users are often discouraged by their new system because they expect it to function exactly the same as their previous operating system. Many of the powerful features in Mageia, however, lie precisely in those differences.
This article tries to take note of the main distinctions, and introduce them as an integral part of the Mageia OS. New users should learn these differences in order to enjoy Mageia more fully.
Licensing
Open Source vs. Closed Source
The prime difference between the Mageia operating system and Windows (R) systems is their source code (original programmed code). Whereas in Mageia the source code is open for anyone to see (for example, the kernel-source packages have the kernel's source tree), Microsoft Windows (R) systems have a closed codebase, which means nobody (except Microsoft) can edit it, study it, or even know how the program works. The Open Source heritage in Mageia ensures that users, not corporations, remain in control of the system: however, it also implies a very different "program culture" in comparison to what Windows users are accustomed. Newcomers are expected to be willing to learn, and eventually contribute in some way to maintain and improve the OSS software ecosystem. This difference will be explained in the next session.
Community Software vs. Proprietary Software
Because Mageia's original programming code is "GPL free", its improvements come from anywhere around the world through contributing developers, which in group form (and are called) a community. The code contributions of these developers make up the bulk of Mageia, which is revised and optimized by Mageia (the community) to provide safe, stable and powerful software -including updates, fixes, security patches, etc. Mageia also adds many programs of its own to enhance their Linux distribution experience: for example, Mageia 2 ships with its own configuration tool, the Mageia Control Center, the Mageia Sphere client, and many more Mageia applications, all of which give a much wider range of user control to the system. This system of constant, collaborative innovation by independent contributors all over the world is called the open-source development model, and it ensures fast, yet stable software technology for Mageia and the Linux community in general.
The concept of community, however, can also include the extensive group of users that benefit from/contribute to the distribution through their use and feedback. This feedback can take many forms, whether from their opinions of the overall OS, requests for features, and/or bug reports. Mageia's freedom ensures that both developers and users cooperate in the distribution's evolution, while the open-source development model helps foster collective benefits from end-users' and developers' cooperation. In short, actively participating in Mageia means more improvements and more user-oriented changes for all.
Operating System Structure
Installation
As of today, most companies do not ship Linux pre-installed in your computer. Therefore, a user interested in Mageia will first have to go through an installation process. This might seem daunting to normal users, who typically expect the operating system to be already "up and running" in their computers. Luckily, thanks to Linux's extraordinary hardware compatibility and Mageia's streamlined and user-friendly installer, this process has been simplified to be as painless and efficient as possible.
The user must also understand that manufacturers and retailers do not (usually) give their specialized support to non-original operating systems: thus, the level of software integration will not be "out of the box" complete with Mageia, since the community cannot provide the specialized support to a particular hardware configuration as the original manufacturer does. A good notice, though: this mostly affects extremely new or rare hardware, so a "normal" computer should have a full out-of-the-box experience. But users still need to be aware of this in case it doesn't.
Operating System Tree
The "UNIX approach" to programming departs radically from the original Windows ecosystem. Instead of creating a single program with enormous functionality and requirements, UNIX applications are programmed as a string of many small, task-oriented programs joined together by internal data streams inherent in the Operating System<ref>B. W. Kernighan and Rob Pike, The UNIX Programming Environment, Prentice-Hall (1984).</ref>. True to its UNIX roots, Mageia Linux is also not a "program" in the sense of a single, big application that 'does it all': rather, it is more like a tree made out of highly-specialized software tools, optimized by the developer community to install and integrate seamlessly. At its core, then, the Mageia OS is a very complex net of software, with tons of functionality being constantly added, removed, and revised. Some important concepts that arise from this approach will now be overviewed.
Dependencies
Dependencies are secondary programs called upon to perform a specialized task within another application. UNIX bases its dependencies around the concept of sharing, or making the different dependencies in programs available as a "collective pool" from which all applications can link to them. For example, in a Linux media player, the decoding programs (codecs) are separated from the main media player and pooled into the OS's "dependency base". While the downside is that you need separate codecs to play the files, the upside is that any other media player can play the files using the same codecs without occupying more space with another copy. Shared dependencies thus optimize resource allocation and ensure working programs on multiple levels by not "reinventing the wheel" in each application.
Versions
Dependency sharing is not static. As programs evolve, the dependencies upon which they were built also change -- adding functionality, bug fixes or even being completely rewritten. Because of the dependency sharing concept, UNIX-way applications are heavily version-dependent: an application built with a specific dependency may not work with earlier or newer versions<ref>[[1]]</ref>. This dynamic nature has both upsides and downsides. An upside is that it ensures new features, patches or fixes included in any specific application are available to all the applications that depend on it, making for very stable and up-to-date software management. A downside is that installing applications from older Mageia versions or other distributions is highly unlikely to succeed, since their dependencies vary in version and type. As part of the internal workings of Mageia Linux, the developer community must organize, patch, and configure dependencies in a way that ensures proper version handling; however, the user is also responsible for installing and removing software from Mageia's officially supported media. OTHER INSTALLATION METHODS ARE DONE AT YOUR OWN RISK.
Filesystem Hierarchy Standard
A somewhat non-newbie-friendly feature inherent to Mageia Linux is the use of a rigid Filesystem Standard to organize applications. Windows has a partially 'loose' filesystem; with the exception of some main directories, an application has (basically) full control of where/how to allocate its files. Mageia Linux, on the contrary, requires programs to install their files in specific, established directories depending on the type of file. This ensures both developers and users can find a specific component in the same sub-directory, regardless of what computer they are using, and eases dependency sharing between applications: since locations are not changeable, you can safely link to the dependency's path without breaking a program. A separate branch, /opt, permits installing self-dependent (Windows-way) applications, thus allowing the freedom of building applications in both contexts. For more information regarding each directory's specifications, see the FHS Referenced Specifications Archive.
Although this specification governs the basic structure in Linux Distributions, variations exist between each distribution's use of the filesystem standard. That is, components in Mageia are not necessarily in the same place as in other distributions. Thus Mageia as a whole recommends against installing software packaged for other distributions. See Installing and Removing Software for more information.
Software Administration
At this point, you might be overwhelmed by the internal complexity of Mageia Linux. The sheer thought of more than a thousand programs operating in unison to let you use your computer -- not to mention that each program has its own documentation, evolution, instructions, commands, and configuration -- will probably have you worried. Probably, you're even scared as to whether you'll be able to use it at all! How can we manage this software tree, with all this complex stuff, and still have joy using it? Not to panic. The answer lies in a very important part of the Mageia Linux operating system: Package Management. Package Management is what enables Mageia Linux to orchestrate all these programs seamlessly and painlessly, and makes installing/removing software a joy to use. Understanding it is key to have a simple, hands-on, worry-free Mageia experience, and what lets you just use your computer with a simple point-and-click interface.
"Packages" vs. "Programs"
Most Open Source programs are originally shipped in "source code" -- bare programming code, without any sort of translation into computer language. Computers cannot interpret source code naturally, so it needs to be translated into computer language (binary code) to be installed and executed. Before Packages, users were expected to configure the installation options for each program, compile (translate) the program(s) in their computers, and then install. This tedious task was aggravated by the dependency sharing concept, since it was necessary to compile and install all dependencies before even beginning the desired program's installation process. At every step, there was also the danger of something going wrong, so a lot of time was also spent on troubleshooting. This made application management a very complex, tiring and grievous cycle in an ordinary UNIX operating system.
Package Management came as a highly-efficient solution to this problem, by "digesting" the installation process in a user-and-developer-friendly manner. It automates the download, installation and configuration of software by users using a distinct set of programs. The ones most easily visible are: a program to download the software, a program to verify the authenticity of downloaded software, an installation/update program (urpmi in Mageia), and a user-friendly interface so normal users can manage software correctly. From the user's perspective, this makes installation a matter of clicking the software you like. Internally, Package Management allows dependency sharing, establishes a common format for installation, and automates many previously cumbersome tasks in development.
Two important steps in the installation process, compilation, and configuration, have intentionally been omitted: this is because there is no need to compile or configure installation options with Package Management. The Mageia community takes on the responsibility of compilation and configuration, and distributes software in "pre-digested" (binary) form via software repositories<ref>See Installing and Removing Software for a more thorough explanation.</ref>. By distributing pre-compiled software, Mageia ensures that a) packages follow important software guidelines and b) packages are correctly configured for most desktop uses. There is also less troubleshooting from the users' part, much less dependency hell, and high levels of security respect to viruses/malware.
The packaging format used in Mageia comes from the basic packaging tool, rpm. Files ending in .rpm are analogous to .exe files in Windows, in that they contain executable code to install themselves.
Help & Support
Mageia Help & Support
For a full assessment of help & support, please see How to ask for help.
As an association, Mageia doesn't provide any services for support. Since most of Mageia comes from libre (free) software, much available help is found in community Forums, IRC channels, and Mailing Lists. They are easily available from the Mageia official website Welcome to the Mageia.
Desktop Environment Help & Support
A desktop environment is a suite of applications that make up the graphical aspect of a computer: it includes the desktop, the basic peripheral tools, a file management tool and (in Linux) some sort of package management tool. Each desktop environment has a community of its own, and is thus a valuable resource of its own to find help regarding specific applications. Be sure to check their forums and other support resources for detailed help regarding its components.
If you installed Mageia with all defaults, you probably have either the Plasma desktop environment or the Gnome desktop environment. Both feature a Help Center where general information of installed applications is found. Under Plasma, this is found on the Favorites section, or by clicking run command... and typing help on the box that appears. Under Gnome, you can find help by clicking on help in the file manager, or hitting Alt+F2 and type help in the appearing box.