Open Source
I started out using Unix with BSD, SunOS, and Solaris back when the
most prominent GNU projects was Emacs. I got into using Linux when I
came to Pico
Communications, since as a small startup we’re on a budget
and haven’t yet found a reason to justify purchasing a Solaris
box. I decided to try Red Hat
Linux, since that was the version we had on hand in the office.
I’ve moved to Fedora since
Red Hat stopped supporting end user Linux.
Because the open source community is, by its very nature, widely
distributed, there are no central locations to get all the information
about what’s going on and all the latest utilities— though
freshmeat.net makes a good try
at it, and shows just how much activity there is in the open source
world every day! Red Hat makes it easy to get updates if you
subscribe to their update service— they even have a cron job that
will go out every night and check for new updates.
Background
The Open Source Initiative
has a great deal of interesting information about open source software
and the community, including the infamous Halloween Documents.
Eric S. Raymond’s book The Cathedral
and the Bazaar and papers Homesteading the
Noosphere and The Magic
Cauldron are good reads.
David A Wheeler has a paper on
Why Open Source Software / Free Software with good quantitative analysis.
News
Slashdot is a very handy news
site for all manner of things, including matters significant to the
open source community; NewsForge has specifically open
source related news. freshmeat.net has news of all the
latest open source releases.
LWN.net has news from the Linux world.
Linux Center and
LinuxLinks have lots of
other sites to try.
UNIXguide.net is similar, but
covers all flavors of Unix.
Enterprise Linux Today has news
for folks using Linux at the large-scale professional level.
The Linux Gazette
is a monthly online magazine that seems to
have forked.
I haven’t investigated the Open Source
Development Network yet.
Root Prompt is a good site
for system administration information.
Source
There’s a huge
archive at ibiblio. rpmfind.net is a good way to track down
any package you’re hunting.
SourceForge (sponsored by VA Linux) is a free service for hosting
open source development projects. They have a CVS server, mailing lists, bug
tracking, message boards and forums, task management, site hosting,
permanent file archival, full backups, and web-based administration
for the lot.
Libraries
I’m always interested in effective libraries that can save on
development time, and the Common C++ Library looks
interesting, with “portable support for threading, sockets, file
access, deamons, persistance, and system services.”
CoreLinux++ looks
like it might have some interesting prospects.
Security
There are good security sites at Insecure.org and LinuxSecurity.com.
Projects
The Free Software Foundation’s
GNU Project,
begun by Richard M Stallman
(RMS), is one of the pioneers of the open source world.
Operating Systems
The Linux Documentation Project
is a very handy starting point for information.
Red Hat Linux also run
Cygwin, which are Unix
tools for Win32. Debian GNU/Linux.
SuSe. Mandrake.
JustLinux.
Linuxprinting.org.
Linux Online.
The Linux Kernel Archives are handy.
Note that Microsoft’s Linux Myths has been debunked.
Some articles on Linux at Wired and Fortune.
Tux.Org is a site supporting the
efforts of users, groups, and developers.
FreeBSD is an alternative to Linux.
Embedded Linux
VMELinux, Embedded Debian, DSPLinux (which deals with the
ARM7 and ARM9 processors), ARM Linux, and MontaVista Software’s Hard Hat
Linux are for embedded systems.
Infrastructure
PAM, RPM, ...
VNC is a lightweight
and free replacement for pcAnywhere; it takes up astonishingly little
disk space, and the client and server run on Win32 as well as Linux.
I use VNC over a VPN connection to access my machines at work from home.
Windows Interfaces
WINE is an ambitious project to
replicate the Windows API on Linux, making it possible to run Win32
applications in a stable environment. TransGaming is using WINE to
enable playing PC games on Linux. Bravo!
Samba allows Unix systems to speak
the SMB protocol used for file sharing among Windows systems, and to
get involved in authentication, printing, and other such
activities. It can even mount Windows shares on Unix without a
hitch.
Development Tools
GCC is the Gnu Compiler Collection, an effective compiler that has
front ends that can parse C, C++, Objective C, Fortran, and Java,
and has libraries for all these languages,
including the GNU Standard
C++ Library.
perl and Larry Wall
java (http://www.blackdown.org/, kaffe)
TCL: Tool Command Language
Python
JavaScript
The Mozilla implementation of JavaScript is available. If you’re
doing a lot of work with it (such as server-side JavaScript in a web
server), check out the undocumented XDR API— it’s handy
for caching pre-parsed JavaScript.
Valgrind
If you can’t afford Purify,
Valgrind is an
excellent open source memory checker.
GUIs
There have been a number of graphical interfaces for Unix systems.
I’ve worked with Suntools (which become Sunview and then
merged into OpenLook and flirted with NeWS for a while) and X11.
X11 is the most common GUI I’ve seen on Unix. X has a server
program that accepts network connections, draws on the screen, and
sends input events to the programs connected to the server.
This naturally slows things down a bit relative to programs that
can just draw directly in the frame buffer, but also allows you
to do nifty things like run a program on a really fast machine
that draws its contents on the screen of a relatively slow one.
(This was really handy back in CS 60C at Berkeley when
I was able to sit at a Sun 3/60 in the basement of Evans Hall and
connect up the Sun 4/280 up the hill at LBL where my afternoon
job was.)
X Windows itself is just a way of drawing things on the screen and
getting events from the user. People build “widget sets” to
abstract notions of buttons, checkboxes, drop-down combo boxes,
windows, tabbed dialogs, and so on. Some of the standard free widgets
are the Athena widgets; the Motif ones are quite classy in appearance,
but more expensive. Projects like GNOME, the K Desktop Environment (KDE) and Simple End User Linux (SEUL) are
creating GUI technology and the tools that use it to give Linux a more
intuitive user interface.
X Windows usually runs with a “window manager” that handles
details of all the windows on the screen— putting title bars on
them, handling iconification, things like that. Window managers
range from classics like twm (Tom’s Window Manager) to
Enlightenment, ...
Applications
Mozilla, ...
OpenLDAP.
A very powerful editor that has its own dialect of LISP for
configuration. It even runs on
Win32. There are some nifty Win32
utilities for Emacs at the Tertius Development Group,
including a utility for linking Emacs and MS Developer Studio.
Copyright © 2003–4 Max Rible Kaehn — All Rights Reserved.