Report Offensive Message
from the beginning
I'm going to do Something Different here. I'm going to try to be
informative. I'll probably be mostly informative about stuff relating
to Linux in some way. Since a lot of people, even among IT
professionals, don't know a lot of the fundamentals that comprise a
good basis for understanding Linux-related stuff, I figure I should
probably start with some of those fundamentals. See how helpful I am?
First off, Linux is unix, but not UNIX, or even Unix. At least,
that's how I refer to the various states of unix-compatibility. See,
UNIX is a trademark that is assigned to a unix when it passes certain
qualifications and when someone pays for the privilege of using the
UNIX name; Unix is basically a non-term that I usually don't use, but
when I do differentiate between Unix and either UNIX or unix, what I
mean is that Unix has certain characteristics relating to a family of
related OSes that are all descended from the same ancestor, and contain
(some of) the same code as that ancestor, but isn't necessarily UNIX
because nobody bothered to get it certified. The various *BSD unices
(that's plural for unix) qualify as Unix by this standard, because
almost every single unix in existence has a core of *BSD-based code in
it. Even the original UNIX line, developed initially at Bell Labs,
contains a lot of *BSD code because *BSD code is open source but not
copyleft, meaning that anyone can see the source code but it can be
incorporated in closed-source software without any legal issues. I'll
address the various terms of software licensing in a moment, but first
I'll finally mention what makes an OS qualify as unix.
Linux (pronounced "linn-ucks" or "leen-ooks") is a unix. It is not,
however, a Unix or a UNIX. It contains original code unrelated to the
core *BSD code, and though I'm pretty sure it would qualify, nobody has
ever gotten it certified as UNIX. It is a unix, however, because it
looks like a duck, quacks like a duck, and even smells like a duck. It
conforms to POSIX standards, it does everything UNIX and/or Unix does
that makes them unices as well, and it is very nearly indistinguishable
from other unices to the casual user. Linux was created entirely from
scratch, programmatically, and was basically created by observing the
behavior of other unices and figuring out how to write code that will
do the same stuff.
Linux and *BSD are both "open source" OS families. Such proprietary
unices as SysV, Solaris, AIX, HP-UX, and so on, are not. Linux is
"copyleft", whereas *BSD is not. Here's why:
Linux is licensed under the GPL (General Public License). The
General Public License requires that when distributing binaries
(compiled, executable programs), you have to provide the source code as
well. It requires that you do not restrict others from further
distributing and modifying that code. It also requires that later
modifications and distributions of that code are released under the GPL
as well.
The various *BSD kernels are licensed under the BSD license (thus
the name). This includes FreeBSD, OpenBSD, and NetBSD, among other
(less well-known) BSD OSes. The BSD license allows you to redistribute
both binaries and source code as you see fit. It also requires that you
do not restrict others from further distributing and modifying that
code. It does not require distribution of source code, though it does
(as already noted) allow it. It does not require that later
modifications and distributions of that code are released under the BSD
license, either.
Software such as the proprietary UNIXes and Microsoft Windows are
released under standard copyright, as modified by EULAs (End User
License Agreements). Copyrighted software that is not released under
other licenses is restricted from being copied or distributed in any
form at all except in accordance with "fair use" provisions, which
pretty much state that if it's useless to you without duplicating it
you're allowed to duplicate it, but only for purposes of such use.
Other than that, everything's restricted, by and large.
Before I touch on one more licensing scheme, I'll explain how the
various open source buzzwords fit into all this. First, there's
"copyleft": if an open source license is "copyleft", that means that it
is automatically inherited by derivative works and copies. This means
that if you modify and redistribute something issued under a copyleft
license, that modified version is also distributed under the same
copyleft license.
The term "open source" refers to software for which the source code
is open for viewing, modifiable, and redistributable. A similarly
applied term, "free software", refers to source code wherein it is
required that the source code be made available to anyone that has
access to the binaries. There's another, far less used term, that
refers to software that is all about allowing you things without
requiring anything: it allows distribution and modification of binaries
and source code without requiring it, in essence. This term is
"software libre". There's some dispute over what these terms actually
mean, but the general consensus and understanding of the terms seems to
be precisely what I've relayed here. Both "software libre" and "free
software" are "open source software", but "software libre" is not "free
software", and "free software" is not "software libre".
The GPL is a free software license, an open source software license,
and it is copyleft. The BSD license is a software libre license,
an open source license, and not copyleft. The CCD CopyWrite is a
software libre license, an open source license, and it is
copyleft.
CCD CopyWrite is a license I created specifically because I saw the
need for a true software libre license that was also copyleft. In
essence, "software libre" is the state of licensing that replicates the
conditions of the public domain (absent outside influences). You can do
anything you like with your libre licensed software, and so can anyone
to whom you give it: there are no legal restrictions on modification
and distribution of the content. Only laws relating to tangential
matters apply to software libre, such as laws relating to fraud (no
lying about the performance or attribution characteristics of a piece
of software). By creating a copyleft libre license, I've set aside a
"protected public domain", wherein licensed works can be treated as
though they are within the public domain, but unlike the actual status
of public domain works they cannot be re-copyrighted and "removed" from
the public domain after modification to produce a derivative work.
There you have it. I've made some generalized statements about what
UNIX, Unix, and unix are, how Linux and *BSD fit the picture, what the
various open source software categorization buzzwords are, and some
licensing examples to fit the different categories.
Note 1: Despite spurious claims to the contrary, no Windows was
ever really POSIX compliant. Some components of the Windows NT system
have, in various versions, been POSIX compliant to one degree or
another, but it has never been a POSIX compliant OS. NTFS was at one
time POSIX compliant: whether or not it still is compliant is something
of which I'm not really sure. NTFS has undergone so many changes over
the years that it's almost unrecognizable as being related to the
filesystem that originally bore that name.
Note 2: I stated that Unixes come from a common ancestor. I did not
identify that ancestor, though I hinted at both AT&T UNIX and BSD
Unix. I made reference to BSD code in UNIXes, but did not specify how
much of the OS is traceable to BSD. This was intentional. While the
facts I've related are essentially indisputable, the opinions that can
be derived from those facts are often in reasonable dispute. Since
my purpose here isn't to address that dispute, I avoided it.
UNIX
Linux
*BSD
GNU General Public License
BSD License
CCD CopyWrite license
Posted by apotheon
Updated - 5th Jun 2005



