Explanations of Software & Operating Systems

What does TildeHash mean? Tilde(~) Hash(#) is a reference to being logged into the "root user" account on the common Unix shell program GNU BASH. For example, when I login as "root" on my Debian system, my screen reads "jacob-debian:~#" and I may then execute "root privileged" commands. I was originally going to call it TildeSlash, as a reference to the common Unix file pathname syntax shortcut "~/", which denotes the user's filesystem home directory "/home/<user name>" on the command-line (GNU BASH). In example: you may execute "cd ~/" to easily change to your home directory. Unfortunately, that domain name was already registered.

What is Free Software? Free Software is a matter of freedom, not price. The freedom to run, copy, distribute, sell, study, change, and improve a given piece of software. Examples of Free Software are Mozilla Firefox, WordPress, VLC, OpenOffice.org, Audacity, Blender, the GIMP, and GNU/Linux. In fact all of the software included in GNU/Linux systems is Free Software, except for the often proprietary device drivers and firmware "binary blobs" included in the Linux kernel. Free Software is very beneficial to developers, however, Free Software comes with technological freedom and social cooperation that users also benefit from.

For users the benefits of Free Software are typically: better performance, security, reliability; faster development so new features appear sooner and are usable sooner, and the access to other users' contributions. In other words, users benefit indirectly from developers who improve the software.

Software runs everywhere in our society everyday, controlling most of what we can read and do, unless users have some fundamental freedoms over it, she/he has no knowledge or authority over what is happening inside it. It does not even matter if you do not have the knowledge or time to read and modify code: what matters is your freedom to do so, including the ability to have someone do it for you.

How the Free Software Foundation defines Free Software:

Free software is simply software that respects our freedom — our freedom to learn and understand the software we are using. Free software is designed to free the user from restrictions put in place by proprietary software, and so using free software lets you join a global community of people who are making the political and ethical assertion of our rights to learn and to share what we learn with others.

Because most software we buy or download from the web denies us these rights, we can look at the reasons why: usually we don't actually buy ownership of the software but instead, receive a license to use the software, binding us with many fine-print rules about what we can and can't do.

We should be able to make copies of software and give them to our friends, we should be able to figure out how programs work and change them, we should be able to put copies of software on all the computers in our home or office — these are all things that software licenses are traditionally designed to prevent.

Enter the free software movement: groups of individuals in collaboration over the Internet and in local groups, working together for the rights of computer users worldwide, creating new software to replace the bad licenses on your computer with community built software that removes the restrictions put in place and creates new and exciting ways to use computers for social good.

© Creative Commons Attribution-No Derivative Works 3.0 license (or later version)


Free Software is called by many names, but the most correct of these names is "Free Software". It's important to understand that "Free Software" is mostly the same as "Open Source" software, but because different words convey different ideas it's also important to advocate in a clear way, which is to simply use words that actually convey the idea of freedom. "Open Source" conveys the software development methodology; "Free Software" conveys the social movement and software freedom.

If you call it "Free Software," then people will find the people who call it that; and if you call it "Open Source," then people will find those with a different attitude about the importance of users having freedom -- as Free Software places the importance on users' freedom, not the "freedom" of developers to take it away. Similar to what Richard Stallman says: By using the term "Open Source" you are essentially joining a group of people that emphasize (short term) practicality over solutions that are lasting. "Open Source" was a term that was invented to hide the meaning of Free Software from companies, so they would be comfortable embracing it.

Today, it is a term used by companies to hide the mission of Free Software from users. The "Open Source" movement itself is usually trying -- and for the most part, without even knowing it -- to replace the idea of software freedom with the idea of "software freedom, only when it's practical." By joining the "Open Source" movement, you are being immediately co-opted, and inviting people to co-opt you even further in the future.

© OpenUniverse (menn) @ Identi.ca, Attribution-ShareAlike 3.0 Unported


What is Source Code? In computer science, source code (commonly just source or code) is any collection of statements or declarations written in some human-readable computer programming language. Source code is the mechanism most often used by programmers to specify the actions to be performed by a computer. A computer program's source code is the collection of files needed to convert from human-readable form to some kind of computer-executable form.

The source code may be converted into an executable file by a compiler, or executed on the fly from the human readable form with the aid of an interpreter. The code base of a programming project is the larger collection of all the source code of all the computer programs which make up the project.

What is Proprietary Software? The term proprietary software is often used to mean computer software which is neither free nor open source (as these terms are variously defined, especially by FOSS advocates such as the Free Software Foundation and the Open Source Initiative). Terminology for forms of software licensing is not fully standardized and can be controversial.

A literal meaning of "proprietary" in relation to software is that it has a copyright owner who can exercise control over what users can do with the software, in contrast to public domain. However, the term is also commonly used to describe software with restrictions on use or private modification, or with restrictions judged to be excessive on copying or publishing of modified or unmodified versions. These restrictions are placed on it by one of its proprietors. In this sense it is also known as "non-free software" and is the opposite of Free Software, generally speaking.

What is an Operating System? An operating system, abbreviated "OS", is software that provides the user with an interface as well as hardware support and support to run and use applications. Operating systems also accept input and display output by communicating with hardware and interacting with any respective applications or system software that might be using that hardware. GNU, UNIX, BSD, Haiku, Windows (XP, Vista, 7) and Mac OS, are all examples of operating systems. Linux on the other hand, is a kernel. GNU using Linux as its kernel makes a functioning operating system called GNU/Linux, see below for more information.

What is GNU/Linux? GNU/Linux is an operating system comprised of Free and Open Source software. Essentially the GNU Operating System announced in 1983 by Richard Stallman, except it substitutes GNU's kernel "Hurd" with the Linux kernel, created in 1991 by Linus Torvalds. GNU/Linux consists primarily of tools developed by the GNU Project, and Linux. Thus the name. Ubuntu, Debian, Fedora, RedHat and -- excluding Android -- generally all operating systems where "Linux" is mentioned (such as in the name) are in actuality simply variations of the GNU Operating System using the Linux kernel. Most of GNU/Linux is licensed under the GNU General Public License, which legally allows anyone to freely use, change, giveaway or even sell the software.

Most of the software in GNU/Linux is developed using the Open Source method, where software source code (think of this as the recipe of an application) is made publicly available, and hundreds of thousands of people from hobbyists to corporations, and even governments, are able to change and improve the software.

Typically GNU/Linux is packaged in a format known as a "distribution" for desktop and server use. GNU/Linux distributions include GNU (the main supporting Userland in the form of essential system tools and libraries from the GNU Project), the Linux kernel, and other supporting software required to run a complete system, such as utilities and libraries, the X Window System, the GNOME and KDE desktop environments, and the Apache HTTP Server. Commonly-used applications with desktop GNU/Linux systems include the Mozilla Firefox web-browser and the OpenOffice.org office application suite.

Sometimes the GNU and Linux combination is incorrectly called simply "Linux", this is incorrect because Linux is the kernel, a singular program included in the complete GNU/Linux operating system. Linux cannot run any software without some kind of set of system tools and libraries, meaning it doesn't qualify as an "operating system" by definition. However, there exists GNU without Linux, these combinations are GNU/kFreeBSD (GNU using the FreeBSD kernel), GNU/kOpenSolaris, GNU/Darwin, and GNU/Hurd (GNU using GNU Hurd and a micro-kernel such as GNU Mach), GNU/Hurd essentially makes up what should be called simply the GNU Operating System.

There are also operating systems that use Linux without GNU, but mainly on small embedded systems, such as cellphones, where software doesn't need to execute complex, flexible, and demanding tasks. Such systems typically substitute GNU with some other operating system, often a partially -- sometimes primarily -- proprietary one, such as Google Android or HP WebOS.

What is BSD? Berkeley Software Distribution (BSD, sometimes called Berkeley Unix) is the UNIX operating system derivative developed and distributed by the Computer Systems Research Group (CSRG) of the University of California, Berkeley, from 1977 to 1995.

Historically, BSD has been considered a branch of UNIX — "BSD UNIX", because it shared the initial codebase and design with the original AT&T UNIX operating system. In the 1980s, BSD was widely adopted by vendors of workstation- class systems in the form of proprietary UNIX variants such as DEC ULTRIX and Sun Microsystems SunOS. This can be attributed to the ease with which it could be licensed, and the familiarity it found among the founders of many technology companies of this era.

Though these commercial BSD derivatives were largely superseded by the UNIX System V Release 4 and OSF/1 systems in the 1990s (both of which incorporated BSD code), later BSD releases provided a basis for several Free Software development projects that continue to this day. Today, the term of "BSD" is often non-specifically used to refer to any of these BSD descendants, e.g., FreeBSD, NetBSD or OpenBSD, which together form a branch of the family of Unix-like operating systems.

What is OpenSolaris? OpenSolaris is a Free Software operating system based on Solaris created by Sun Microsystems, now a part of Oracle Corporation. It is also the name of the project initiated by Sun to build a developer and user community around it. OpenSolaris is derived from the Unix System V Release 4 codebase, with significant modifications made by Sun since it bought the rights to that code in 1994.

It is the only Free Software System V derivative available. Free Software components are snapshots of the latest Solaris release under development. Sun has announced that future versions of its commercial Solaris operating system will be based on technology from the OpenSolaris project.

What is Haiku? Haiku is a Free Software operating system targeted at personal computing that is compatible with the early '90s operating system "BeOS". Its development began in 2001, and the operating system became self-hosting in 2008, with the first official alpha version released in September 2009. Inspired by the Be Operating System, Haiku aims to become a fast, efficient, simple to use, easy to learn and yet very powerful system for computer users of all levels. Haiku is supported by Haiku, Inc., a non-profit organization based in Rochester, New York, that was founded in 2003 to support the project.

Haiku users generally praise Haiku for its speed, but it's extremely likely that once the necessary support for many different kinds of hardware is added, assuming they can get companies to release code for it, once they improve on aesthetics, add support for many different kinds of input devices and accessibility features like support for screen readers and text-to-speech, the operating system will slow down. Also, Haiku doesn't perform any better then something like "Damn Small Linux" or Debian GNU/Linux with LXDE. And both D.S.L. and Debian have much more stability and support.

Another problem with Haiku is its X11 licensing, its development on a permissive platform can easily be the death of the operating system. Any company can learn from them, even directly take code, put it to use in their product and re-release the code (excluding the GNU Tools) as a new proprietary operating system.

In example, BSD is also licensed under a similarly permissive license, Apple's OS X is proprietary and its entire foundation is a direct modification of BSD. Apple has made proprietary improvements to the BSD codebase, meaning they do not contribute back to BSD, and thus Mac OS X succeeds and the original BSD operating systems continue to flounder. In other words, the main problem with Haiku is: even if they do develop something great, it may not remain Free Software forever, it may end up damaging itself in the long run.

Note: Haiku is "alpha" software, this means that it's at its first stage of development. In example, if the authors of Haiku release 5 alpha versions before releasing version 1, alpha version 2 would only be a 2/5 completed version 1 of the operating system. This is why I do not recommend it unless you know what you're doing.
Share This Page On...
Subscribe to Newsletter:
Advertisements: portfolio