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