From: fyl@ssc.com (Phil Hughes) To: aa127@freenet.carleton.ca
Subject: freenet article Date: Wed, 10 Aug Garth: Here is the
freenet and free software article. I do intend to submit this
to a magazine once the final touches are on it. Therefore,
please treat it as a work in progress that you may use at the
conference but it is not, as yet, for general release.
Comments and feedback are encouraged and will be considered
for inclusion in the final article. Freenets and Free
Software (Work in Progress, August 9, 1994) by Phil Hughes
[abstract] Freenet and free software both have FREE in their
name. Are they mutually exclusive? Do they need to be? This
article looks at each and at how they could be combined to
make something even more powerful than either one alone.
[endabstract] When you first hear about about either a
Freenet or free software you might think of them as similar.
Both offer something for free. Freenets offer free access to
information. Free software is software that is freely
redistributable which means that even though you may have to
initially pay for it, you are not restricted from giving it
away to others. Both free software and Freenets have to be
paid for, probably in a combination of time and money, before
they can be made available free to anyone. This article will
show that they are not the same at all. However, with some
minor changes in the Freenet movement, the two movements
could be combined to offer something bigger and better than
each movement on its own. How Freenets and Free Software
Differ In order to see if there is a better answer, we need
to define the two movements and look at their differences.
Then we can see how minor changes in the Freenet movement
could result in it receiving a huge boost from the free
software movement. The end result could benefit both
movements. The basic idea of a Freenet is a local computer
system or network that can be accessed by anyone. It may (and
generally does) contain a connection to the Internet. That
Internet connection offers a source for non-local news as
well as the ability for Freenet users to electronically
correspond using the mail transport capability of the
Internet. The user interface to a Freenet should be designed
to let a person who is unfamiliar with computers access the
information. I say "should" because the human interface on
many current Freenet systems isn't nearly as easy to use as
many MS-DOS-based bulletin board systems. The common Freenet
interface also doesn't address special needs of various
groups who cannot use a regular keyboard and character
display. Freenets are generally created by some group or
organization that sees a need for a community computer system
and seeks funding of the project through donations and grants
to purchase hardware, software and support. Freenets also
generally get involved with local government and community
organizations. To support this position, I gleaned the
following from the Cleveland Freenet: The key to the
economics of operating a community computer system is the
fact that the system is literally run by the community
itself. Everything that appears on one of these machines is
there because there are individuals or organizations in the
community who are prepared to contribute their time, effort,
and expertise to place it there and operate it. This can
create a situation where there are two groups: the maintainer
of the system and the information providers. Expenses related
to hardware, software and operational expenses like telephone
lines are considered hard costs but the cost of getting
information is free. And, in the case of NPTN, a Freenet
umbrella organization established by Dr. Thomas Grundner,
Freenets are encouraged to join NPTN resulting in either
payment of $2000/year or release of local users names and
addresses for fundraising. This, added to the perception that
hardware and software must be bought, can widen the division
between the system itself and the local community. Free
software generally starts in a quite different fashion. Much,
probably most, free software starts with the the individual's
or group's idea of making a piece of software to meet a need.
The project usually evolves and if the software delivered is
good and useful, interest increases. Most of this free
software has come from universities, either as part of a
school-sponsored effort or where individuals get interested
in something and just start writing it. The Ingress and
Postgres database systems are examples of the former, and
Linux is an example of the latter. But, in the end, these two
things are on the same track, right? I say no. They could be,
but they are not. Here's why. Once free software is written,
it is free. That is, it's freely redistributable. This means
that anyone can get it, fix it, give it away or even sell it.
What generally happens is that a community is formed around
the software where bugs and enhancements are discussed and
the issues are addressed in a cooperative way. There doesn't
need to be an organization in charge (although there
certainly is in the case of the BSD distributions and even
with GNU software from the Free Software Foundation). Not
having to have an organization in charge is what is
important. Current Freenets are usually based on software
called FreePort II. How do you get FreePort II? Lease it for
$850/for five years. Can you give it away or share your work
with others who haven't licensed it? No. Immediately you have
a quite different situation. Add to it the fact that you need
to join an organization (NPTN) in order to be "official" and
that you cannot pass along data you get from NPTN to non-NPTN
sites and you find that generally Freenets are not free. That
is, not free in terms of purchase costs, freedom to
redistribute the software and freedom to redistribute the
data. The Politics of the Issue To "free software advocates",
the freedom to redistribute is a political issue. To really
simplify a fairly complicated issue, these advocates say that
getting paid for work is fine but reselling the same work
isn't. Once it is done and you are paid for your work, anyone
should have access to the result. This position transcends
traditional politics. Although it initially sounds like a
very liberal position--you wrote it, now give it to the
world--there are other ways to look at it. For example, it
could be interpreted as free-market Capitalism where anyone
should be able to jump on the bandwagon and offer support for
the product. But, let's avoid the complicated traditional
politics and get on with what this means as far as getting
Freenets and free software on the same track. There is
nothing magic about the FreePort II software (in fact I plan
to address its severe shortcomings later in this article) and
there is nothing that dictates that NPTN must be the source
of non-local information. In fact, liberal thinking says we
should give away the best to everyone and conservative
thinking says that if we can do it better, we should be able
to capture the market. Politics aside, the real goal of a
Freenet is to supply the best service to the most people at
the lowest cost. I think a free software-based Freenet is
more likely to reach that goal than Freenets based on
commercial software. What Services Exist on a Freenet?
Freenets generally offer a city motif where you "travel" to
various buildings by selecting menu items. For example, the
top level menu on the Cleveland Freenet offers the following
choices: 1 The Administration Building 2 The Post Office 3
Public Square 4 The Courthouse & Government Center 5 The
Arts Building 6 Science and Technology Center 7 The Medical
Arts Building 8 The Schoolhouse (Academy One) 9 The Community
Center & Recreation Area 10 The Business and Industrial
Park 11 The Library 12 University Circle 13 Teleport 14 The
Communications Center 15 NPTN/USA Today Headline News These
menu choices then offer sub-menus to access particular
information or capabilities. In all cases you use your
keyboard to select specific items and read them or interact
with them. An example of a menu choice where interaction is
encouraged, for example, would be in the Medical Arts
Building where you could correspond with a doctor directly or
you could just read prepared information. Added to these
basic local choices you may see the ability to read and post
Usenet news and possibly post and read advertisements. What's
Technically Wrong with Current Freenets? For purposes of this
discussion, I will be addressing the shortcomings of the
FreePort II software which is used by many, current Freenets.
The short answer is the following list: * the software is
extremely inefficient thus inflating the operational cost *
the user interface is not as good as is needed * the software
was not designed to allow multiple user interfaces such as
one for the visually impaired The inefficiency issue is best
illustrated by comparing FreePort II to Community Information
Exchange (CIX). CIX is a commercial product that is used by
TriState Online (TSO) which is a project of Cincinnati Bell
Directory. It has a user interface that appears much like
FreePort. Both CIX and FreePort will run on Sun computers
running the Unix operating system. But the design of the two
systems is quite different. FreePort is a conglomeration of
shell scripts, C programs and calls to Unix utilities to
perform the required tasks whereas CIX is a program designed
from the ground up to do nothing but act as a Freenet. This
means that FreePort spends an amazing amount of its time
loading new programs and transferring control between tasks.
Statistics from operation of TSO indicate that ten times the
number of users recommended by the hardware manufacturer can
be easily supported using the CIX software. On the other
hand, Freeport-based systems offer performance at or below
those of hardware manufacturer recommendations. In simple
dollars this means that you need to buy ten times as much
hardware to do the same task. If you only want to 3-4 users,
a low-end Intel 386-based system should be able to handle
your task if it is dedicated, but once you get up to the tens
or hundreds of users these dollars start adding up fast. And,
besides, why dedicate a complete computer system to the task?
There is one serious problem with the FreePort user interface
that is a function of the implementation method. It just
isn't consistent and it can't be. For example, the Unix
"more" utility is used to page through files. (The average
FreePort user doesn't know this.) What this means is that
when a FreePort user is paging through a file, the command to
return to, for example, the main menu, is not available. They
must exit more (which they don't know they are in) by either
completing the read of the file or entering q before
traditional FreePort commands become available again. Another
problem that results from using Unix utilities as the bailing
wire to hold FreePort together is that users will
occasionally see a Unix error message. This doesn't happen
all the time but it can happen and it most certainly is
confusing. Finally, although the software was designed with
the intent to let sites write their own user interface, the
ability to implement these user interfaces just isn't there
in FreePort. But this programmable interface is important.
Without it we excluded the visually impaired as well as those
who do not read English whether it is because they are
illiterate, they only read a language other than English, or
have yet learned to read. If FreePort had a programmable
interface it would mean that the shortcomings of the current
interface could be addressed without having to discard the
complete system. Without it, it means starting from scratch.
Can these problems be solved? Yes. All of them have been
solved with CIX. Unfortunately this solution is offered at
the cost of non-free software. Although I think CIX is a step
in the right direction as far as implementation and something
that I could recommend for commercial situations, I would
hesitate to recommend it for Freenets. It just doesn't fit
with the Freenet concept. Where Do We Go from Here? I suggest
that we design and build a true FREEnet where free means both
free in cost and freedom to share. This effort could
substantially increase the size of the Freenet movement and
be a real feather in the cap of free software. And, for those
who want to know if anyone will make money off it, the answer
is yes. Why? Because more Freenets means more computer
hardware, modems, telephone lines and generally more computer
users requiring more computers. And if the system is
inexpensive enough, Freenets will be set up by organizations
that don't have computer expertise (configuration and support
contracts) and Freenets will be able to put money into local
salaries that would have been spent on non-local hardware and
software under the old Freenet model. So, what are we waiting
for? Let's build a FreeFreenet. [about the author] Phil
Hughes is the publisher of Linux Journal, the monthly
magazine of the Linux community and one of the owners of
Specialized Systems Consultants, a publisher of computer
books and reference cards. He was also involved in the
startup phase of the Seattle Community Network. [sidebar] If
you see the need for a new sort of freenet, here is a chance
to involved. Linux Journal magazine will be documenting the
ideas and hopefully the development. E-mail your input to
freenet@ssc.com or mail it to Linux Journal, P.O. Box 85867,
Seattle, WA 98145-1867. Copyright 1994, Phil Hughes All
rights reserved. -- Phil Hughes, SSC, Inc. P.O. Box 55549,
Seattle, WA 98155 (206)FOR-UNIX >>> Publishers of
pocket references for UNIX, C, ..., Linux Journal
<<< E-mail: fyl@ssc.com Phone: (206)527-3385 Fax:
(206)527-2806 -- Garth Graham aa127@freenet.carleton.ca
Coordinator, Canadian Community Networks Conference, and
founding meeting, Telecommunities Canada, Aug. 15-17, 1994
Box 86, Ashton, Ont., K0A 1B0, 613-253-3497