Linux: Distributions, Licenses, and Documentation

Linux: Distributions

Although the core of Linux is the Kernel, much more is needed to create a complete operating environment. Here are some key elements of a typical Linux distribution:

  • Boot Manager: The boot manager is a utility that resides in the boot sector (Master Boot Record or MBR).
  • User Interface: At its core, Linux is a Unix derivative, and its default interface is a command line, similar to DOS.
  • X Window System: Like the Graphics Device Interface (GDI) in Windows, X Window is the graphics subsystem that supports a graphical user interface.
  • Many distributions include Apache, the popular open-source web server.
  • File and Print Services: These services allow a system to access network resources and share files and printers with other users.
  • Applications: Linux does not yet enjoy the same level of application support as Windows. However, many distributions include literally hundreds of applications.
  • Package Managers: Package managers are tools to install, uninstall, and update applications.
  • Programming Tools: Since Linux is a favorite among programmers, it’s not surprising that distributions include many programming tools.
  • Libraries: Linux includes a core set of library routines, similar to Dynamic Link Libraries (DLLs) in Windows.

Linux: Licenses

A license can be defined as permission or authorization to do something.

  • Commercial Software: Developed by a company with the intent to sell it and generate profit.
  • Free Software: Software that can be distributed, modified, copied, and used. Therefore, it must be accompanied by the ‘source code’ to enable the freedoms that characterize it.
  • Semi-free Software: Software that maintains the same characteristics as free software for individual users, educational entities, or non-profits but prohibits these freedoms for commercial or business use.
  • Proprietary Software: Software that is not free or semi-free; therefore, redistribution, modification, and copying are prohibited.
  • Freeware: While not a precise definition, it is often used to classify software that can be redistributed freely but not modified, among other reasons, because its source code is not available. Freeware is not free software.
  • Shareware: Software that allows redistribution but is not accompanied by its source code and therefore cannot be modified.

According to Richard Stallman, one of the main figures in the free software movement, applications that intend to be part of this philosophy should be based on the following four pillars:

  • Freedom to run the program anywhere, for any purpose, and for everyone.
  • Freedom to study the program and adapt it to your needs. This requires access to the source code.
  • Freedom of redistribution, so you are allowed to collaborate with neighbors and friends.
  • Freedom to improve the program and publish the improvements. This also requires the source code.

Linux: Documentation

Currently, there is a lot of documentation available for Linux, and more is created every day. The most basic resource that we can use for assistance is the system documentation pages, found in the /usr/doc directory.