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
Date of file: 1994-Aug-10