What is ARM Linux?
 

What is Linux?

The following excerpt is taken from the Linux Kernel README, and is the official description of the Linux Kernel:
Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX compliance.

It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management and TCP/IP networking.

It is distributed under the GNU General Public License.

Further information on the Linux Kernel can be found via the main kernel.org site.

Okay, but what is ARM Linux?

ARM Linux is a port of the successful Linux Kernel to ARM processor based machines, lead mainly by Russell King, with contributions from many others. ARM Linux is under almost constant development by various people and organisations around the world.

The ARM Linux kernel is being ported, or has been ported to more than 500 different machine variations, including complete computers, network computers, hand held devices and evaluation boards.

How does Russell fit into this?

Russell is responsible for ensuring the continuing maintainability of the core ARM architecture support in the Linux Kernel. This involves tracking main line Kernel development, as well as reviewing and integrating source code patches for ARM-based SoCs and platforms. This may require making adaptations or widespread changes to ensure that the code base remains clean and maintainable.

In addition, Russell may also be responsible in a similar way for other parts of the Linux kernel from time to time, such as some drivers and subsystems.

How do other people fit in?

Russell prefers to receive patches from platform maintainers who perform a similar job to the above, but for their own platform. This creates a tree-like structure within the community, which in turn allows the community to scale.

Platform maintainers may also have patches for other parts of the Linux Kernel, such as network device drivers. Such patches are sent to the relevant Linux Kernel maintainer for the subsystem or device driver, rather than direct to Russell.

What about licensing?

Although the source code for the Linux Kernel is easily available, the Linux Kernel is licensed software, and the licensing conditions are set out in the GNU General Public License.

Briefly, what this means is that anyone who obtains a copy of the Linux Kernel in binary form, irrespective of how they obtained that copy, has a right to the source code used to build that exact Linux kernel binary. Derivative works of the Linux kernel also fall into this category. This right can not be restricted or withheld in any way.

Please see the GNU General Public License for further information, which can be found in the "COPYING" file within the Linux Kernel source code.

Note: The above does not constitute legal advice. For such advice, please consult a solicitor or lawyer. Where any conflicts between the above wording and that in the COPYING file exist, the version in the COPYING file (shipped with the Linux Kernel source code from kernel.org) is definitive.