What is 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 a matter of the freedom to run, copy, distribute, sell, study,
change, and improve, the software -- for all the software included in the system,
except for the proprietary device drivers and firmware included in the Linux
kernel known as "binary blobs". This is mainly beneficial for developers.
For users the benefits of this kind of technological freedom and social
cooperation 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
those who can improve the software. With software running everywhere in our
society today, 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.
The 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.
©
LibreUniverse (menn) @ Identi.ca,
Attribution-ShareAlike 3.0 Unported
Operating Systems:
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, is a kernel. GNU using Linux as its
kernel makes a
functioning operating system called GNU/Linux,
more information below.
GNU/Linux
GNU/Linux
is the name given to any Unix-like computer operating system that
uses software from the
GNU Project
and the
Linux kernel.
GNU/Linux is one of the most prominent examples of Free Software and Open
Source software collaboration. The GNU/Linux operating system consists of
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.
All underlying source code -- except for the proprietary device
drivers and firmware included in the Linux kernel -- can be freely
used, modified, and distributed by anyone, when licensed under the
GNU General Public License.
Thousands of pieces of software for virtually every operating system are
licensed under the GNU General Public License.
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.
There are operating systems that use GNU without Linux, such as
GNU/kFreeBSD (GNU using the
FreeBSD
kernel), GNU/kOpenSolaris, GNU/Darwin, and GNU/Hurd (GNU using
GNU Hurd
with a micro-kernel such as
GNU Mach,
though GNU/Hurd 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, these systems typically
substitute GNU with some other operating system, often a proprietary one
such as Android.
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.
Berkeley Software Distribution (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.
Haiku
Haiku is a Free Software operating system compatible with 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. Haiku
targets personal computing. 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.
Note: Haiku is only an alpha version operating system, this means that
it's at its first stage of development. In example, the authors of Haiku might
have 1 alpha version or 5, in the latter case the 2nd alpha release would only
be a 2/5 completed version 1 of the operating system. This is why we do not
recommend it.
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 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.