ßßßßßß ßßßßß ßßßßßßß ßßß ßß ßßßßßßß ßßßßßßßß ßß ßß ßß ßß ßßßß ßß ßß ßß ßß ßßß ßßßßß ßß ßß ßß ßßßßß ßß ßß ßß ßß ßß ßß ßßßß ßß ßß ßßßßßß ßßßßß ßßßßßßß ßß ßßß ßßßßßßß ßß ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºVol 1 This month's features of IceNEWS Issue 4º º Dec ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1992 º º º º 1. Piracy, the Law And Sysops Responsibilities º º Feature Article by Don Christopher Kassey, 1@9952 º º º º 2. The 30 Commands of BBSing.........May B. Everyone º º º º 3. Online Games: ***MELEE***........Jack Ryan,1@6100 º º º º 4. History of IceNET - Part 2 ............Louie, 6@1 º º º º 5. The Silent Serve too-Those Co's......Louhal, 1@10 º º º º 6. Mod o' the Month...................Airmon, 1@9901 º º -=Featuring Ethereal Cereal's USERLST2.MOD=- º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Software Piracy and the Law; and Sysops Responsibilities --------------------------------------------------------- Part 1 of 2 -- (Continued in next issue of IceNET News) By: Don Christopher Kassay I have spent many hours researching and studying the laws that govern Electronic Bulletin Boards and what the responsibilities are of the Sysops who operate these BBS Systems. I have also written many letters to congress expressing my feelings on proposed laws that, if passed, could and would affect the operation of these Electronic Bulletin Boards, regardless of whether they are for fun or profit. Although I am going to go into corporate law, I am going to continue to research, monitor and help lobby against laws that could take some of the enjoyment that we, as Sysops, take for granted at this time; and I would like to ask ALL my fellow Sysops to join me in this fight against laws being presented to congress that could change the way we operate our BBS System. The only way we can fight this is to become united as one large group and let our voices be heard all the way to Washington, DC. The laws governing the operation of BBS Systems have been very vague for many years, especially in the areas of Sysop responsibilities, and software distribution and use. The purpose of this article, as I previously stated, is to answer questions frequently asked by Sysops regarding their responsibilities in running a BBS System, whether for fun or profit and the responsibilities of all BBS members and users. Last but most important, is the responsibility of all of us regarding registering and using shareware software and also the buying and using of commercial software. For legal purposes, software is defined as "the collection of materials that contains, expresses, and explains a computer program." This definition includes a program in machine-readable form contained on magnetic media, the printouts containing the source and object code, the programmers notes and working papers, and the users manual(s). For legal purposes, "software piracy" is defined as "the commercial reproduction and distribution of 10 or more copies of computer software with a total resale value of $2,500 which is protected by copyright, trademark, patent or trade secret law.. First, I am going to discuss the buying and use of commercial software, what constitutes copyright infringement, and the ownership of commercial software as stated in the purchase agreement(s). Early Computer Laws Regarding Software -------------------------------------- In the early 1960's the rather unique nature of software was a constant source of problems for the courts, who could not seem to decide consistently whether software was tangible, or something in between. If software is tangible, it is covered by the Uniform Commercial Code; otherwise, it is not. To add to the confusion, the courts defined software as tangible for some purposes and intangible for others, with different courts sometimes adopting conflicting positions. It was a very bad period of time for commercial software companies. This inconsistency by the courts to determine if software was tangible or intangible was one of the main reasons software piracy was beginning to be a growing business. Due to these inconsistences, loop-holes in the law made it difficult to prosecute software pirates because there were really no laws that protected software manufactures from them. Software piracy was a new business and the legality of copying software for resale and distribution was also a new legal issue. The making of these Laws ------------------------ In 1964 the United States Copyright Office began to register software as a form of literary expression. This made computer software a product of an engineering process. The courts still continued to have trouble deciding how to regard this process of software development for many years. Then in 1980, the Copyright Act was amended to explicitly include computer programs and later (due to the inconsistences of the courts) the law was again redefined (section 117 of the Copyright Act). In 1990 Congress approved the Software Rental Agreement Act (Public Law 101-650) which prohibits the commercial rental, leasing or lending of software without the express written permission of the copyright holder. Individuals may possess one copy of the software for personal use and one backup copy for archival purposes. No other copies may be made without specific authorization from the copyright owner. According to Title 17 of the United States Code, it is illegal to make or distribute copies of copyrighted material without authorization from the copyright owner. The ACT gives the "OWNER" of the copyright "the exclusive rights to distribute copies ....of the copyrighted work" (section 106). It also states that "anyone who violates any of the exclusive rights of the copyright owner ...is an infringer of the copyright" (section 501), and sets forth several penalties for such conduct. In mid 1992, Congress passed an amendment to Title 18, United States Code, instituting criminal penalties for copyright infringement of computer software. The penalties include heavy fines, imprisonment or both. A civil action may be instituted for injunction, actual damages (including infringers profits), plus damages suffered by the copyright owner and/or statutory damages up to $100,000 per infringement. The unauthorized duplication of software is also a federal crime if done "willfully and for the purpose of commercial advantage or private financial gain." Criminal penalties with fines up to $250,000 and jail terms up to five years or both can result for unauthorized duplication of software whether it is done for sale, for free distribution, or for the users own use. Software pirates will be held accountable for their actions of copyright infringement regardless whether they knew their conduct violated federal law. United States Code Title 18 amendment : Penalties -------------------------------------------------- United States law prohibits duplicating of computer software for profit, making multiple copies for use by different users within an organization, and giving an unauthorized copy to another individual. If caught with pirated software, you and/or your company may be tried under both civil and criminal law. With this new amendment added to the United States Code, Title 18, it protects the copyright owner from large organizations and companies from buying one (1) copy of their software and installing it on several computer systems. In other words, if a company has 25 secretaries that will be using a particular commercial computer software, they must purchase 25 copies of the software, and each secretary must have an original working copy of the software with the accompanying manual at her desk (unless a special agreement has been made between the business user and the copyright owner/publisher) i.e. special site licensing purchase agreements. These agreements compensate the publishers for the "lost sales" they might have made on a package-by-package basis because the company agrees to pay a certain amount for a specific number of copies they will make and not exceed that amount. This helps eliminate the possibility that copyright infringement will occur. By buying as many programs as it will need, a company removes the incentive for employees to make unauthorized copies. Adhering to these rules will pay off in the long run, because a firm that illegally duplicates computer software exposes itself to tremendous liability. Local Area Networks (LAN Systems) --------------------------------- Many software applications are sold in "Local Area Networks" (LAN) versions. If you or your company has a LAN, be sure to follow the publishers guidelines for the use of software on the LAN. It is a violation of the copyright laws and most license agreements to allow a single-copy version of software on a LAN to be 'simultaneously' accessed by more than one user. Software Ownership ------------------ Even though we all pay a lot of money for the commercial software we use, we as purchasers of this commercial software, DO NOT own the software but only purchased the right to use it from the publisher. This is why it is illegal to resale commercial software when a new version is released, i.e. you purchased WordPerfect 5.0 a year ago and WordPerfect v5.1 was just released. You want to sell your copy of WordPerfect 5.0 and use the money to help purchase WordPerfect 5.1. By law, you cannot resale WordPerfect 5.0 because you will be breaking the purchase agreement you made with the publisher and heavy penalties and fines can and will be filed against you by the copyright owner or publisher or both if this action is discovered. The only way by law, to get rid of unused or unwanted commercial software, is to write the publisher and ask for written permission to DONATE the software to a public school, university or a legitimate non-profit organization. Most software publishers will be willing to grant this with their written permission. You must include ALL the instruction manuals and DOC Files when you donate the software. Schools and Universities using Commercial Software -------------------------------------------------- Public or private educational institutions are NOT EXEMPT from the copyright laws. To the contrary, because of their unique position or influence, schools and universities must remain committed to upholding the copyright laws. It is illegal for a school or university to distribute commercial software as it would be for them to purchase one (1) book and make copies of it and distribute it to students without authorization from the publisher. The same penalties and fines that individuals and companies face for copyright infringement, are the same fines and penalties that educational institutions will face for copyright infringement. However, most software firms offer special sales arrangements to educational institutions. These include discounts for additional copies of programs, reduced-priced lab packs (quantity of programs sold together) and site license agreements. Schools should make every effort to uphold the law, because it is by their example that students will learn to have respect for intellectual property. Shareware Software --------------------------- What is shareware software? Shareware Software is software that the author(s) have given permission for it to be distributed and used FREELY for a certain period of time as indicated in the "License for Use" agreement, at which time, the software must be registered or the user forfeits his/her right to use it. It is SO important that we as 'users' of shareware software, practice the "HONOR SYSTEM" and bring it upon ourselves to use it according to the author(s) 'License of Use' agreement. Some of the best programs I use are shareware, and I want to continue to see great shareware programs being developed and distributed at a very affordable price. The ONLY way this can be accomplished, is for ALL of us to register the shareware software with the author(s) if we continue to use it after the 'License of Use' agreement has expired. It is also important to note, that most shareware software will not be fully operational unless it is registered i.e. there are a lot of functions that will not be available to the user until he/she registers it. But most importantly to me is most 'registered' shareware software will be automatically updated FREE of charge on the next version(s). This is a great incentive from the author(s) to get users to register their software if they like it and use it. We, as the users of shareware software, often forget the many hundreds of hours that went into the development and testing of this software. The author, for some reason, decided to distribute his software as shareware instead of commercial; which means that the success of this software is in our hands, the 'USERS', for determining its success or failure. I personally do not think paying $20.00 to $75.00 is to much for a shareware program that I like and continue to use knowing that the next updated version will be distributed to me FREE with no additional FEES. As you can see, there are differences between commercial software and shareware software, but the main differences are in the way they are distributed and used. Commercial software is distributed by the author(s) or software company selling certain rights to a publisher who in exchange distributes the software for us to purchase and use according to the 'License for Use' agreement. Shareware software is distributed by the author(s) giving permission to Sysops of BBS Systems to FREELY distribute their software to any and all person wanting to use it. The users of the shareware software are to use it according to the 'License for Use' agreement and register the software by sending money to the author(s) if they continue to use it. In all the legal research I have done on 'Software' very seldom have I seen the word 'Shareware'. But if we go back and examine the legal definition of 'Software', then we MUST realize that shareware software, is protected by the same federal copyright law that applies to commercial software i.e. it is protected from the moment of its creation. Four Methods to Protect Software (Information Purposes Only) ------------------------------------------------------------ There are four (4) methods that are used to protect software ownership: 1...Trade Secrets 2...Copyrights 3...Trademarks 4...Patents These methods are used 'mainly' to protect commercial software from infringement of rights. The laws protecting shareware software from infringement of rights may be viewed to be more of an obligation than a right. However, in the legal sense, it is a 'right' because no one else may intervene and do it for the owner. At this time, I am going to "briefly" discuss the four (4) methods that are used to protect software ownership for information purposes only: TRADE SECRET: This area of the law protects the information, devices, and processes that give the owner a competitive advantage over those who do not know what the owner knows about something. With software, this is usually applied during both the development, and marketing stages. However, in order to be considered for a trade secret, the software needs to contain some unique secret that may be considered unique to the program's functioning. Some of the other items that may be subject to the trade secret include: customer lists, testing results, and even the names of the programmers who developed the program. COPYRIGHTS: Whereas trade secrets typically protect commercial ideas, regardless of the manners in which they are expressed, copyrights protect only the expression of the ideas, and not the ideas themselves. Before software can be copyrighted: 1..It must be expressed in a tangible form 2..it must be an original work by the author 3..it must NOT be part of the public domain In this latter case, there are two ways in which software falls into the public domain: A..Intentionally B..Through Negligence This negligence includes publishing the ideas without a copyright notice. It will remain in the public domain should the author not correct the error within five years from the date of original publication. Copyrights last for the life of the author plus fifty (50) years. However, if the expression of ideas is classified as a "made for hire" work, the copyright lasts for 75 years from the date of first publication. If an owner can prove that someone infringed on his copyright, then he can take the violator to court, but ONLY IF the copyright is a registered copyright on file with the Library of Congress. TRADEMARK: This is a word, symbol or phrase that is used to identify a product and that which sets it apart from other products. Yet, not every word or phrase or symbol qualifies for a trademark. Words, symbols or phrases that are deemed to be "of general use" that describe the nature of a product generally do not qualify. For example, recent concern over the possibility of applying a trademark to the term "shareware" may be successfully contested since it would appear to represent a term "of general use" that describes the nature of a product, i.e. software obtainable via a Electronic Bulletin Board for a "nominal" registration fee.. Another important aspect that pertains to trademarks is that software trademarks cannot be considered too generic or too universally descriptive. To establish a trademark, you select a name, but also make sure that the name is not being used by someone else. Yet, duplication of names may be permitted in certain instances, provided, for example, that confusion does not result, and/or the products are in different industries. There is also 'Law of Unfair Competition". These "laws" are defined on the state level, not the federal level. They protect honest business people from unscrupulous competitors, and also protects the general public from "intentional" deception. There are times when such laws may be applied in copyright, trademark and, of course, patent law. PATENT: Of all the various methods to protect one's property, patent law does provide the 'best' protection. If one holds a patent, it is applicable for 17 years. Within this period, no one can duplicate your "creation". Unlike the other protection methods, patents protect against what is called "independent development of an invention". Regardless of whether someone else knows about the idea or not, if a person has a patent, the invention cannot be duplicated. But, there is a kicker: many if not most, computer programs are not eligible for a patent. According to the Patent Office, you cannot patent something that is "based either on the laws of nature or upon mental processes". Computer programs contain algorithms (mathematical formulas) which are mental processes, and, therefore may not be patentable. Yet, there are exceptions. The Supreme Court, in the Diamond vs Diehr case in 1981, stated that "programs may be patentable when they are an inseparable part of the process or device that is itself patentable." In addition, in 1981, Merill Lynch applied for and received a patent on their 'Cash Management System'. Most recently, Quarterdeck Software applied for and received a patent on their "windowing" product, DESQview. There is another side of the 'issue'. Programs on the ROM chips are usually patentable since the program is considered part of the hardware (on the chip). But, such logic may be suspect because a program on ROM that may be replaced by a program on disk that is read into RAM, may not be patentable. The Patent Office states that a person cannot patent something "unless it is considered 'novel' or at least 'not obvious'." Programs that are used to automate typical office functions previously performed manually, for example, generally do not qualify because the Patent Office does not consider them to be novel enough, or that they tend to be rather obvious. As you can see, software is very difficult to protect under these four (4) methods, and that is the main reason the federal government decided to automatically protect 'Software' from the moment of its creation by incorporating the federal copyright law. Special Notes: -------------- The United States Government has been an active participant in protecting the rights of copyright owners. The Business Software Alliance informed me that when they conduct a raid, Federal Marshals and/or local law enforcement officers also participate. Federal Judges have shown their intolerance of copyright violators by handing down increasingly large damage awards against infringers. The Software Publishers Alliance informed me they have filed many lawsuits against individuals and companies engaged in the unauthorized duplication of PC Software and will continue to do so when it becomes aware of situations that warrant such actions; and they ask that anyone knowing of illegal copyright infringement contact them immediately at 1-800-388-7478. If you are aware of illegal copyright infringement and you do not report it, then you are also in violation of promoting copyright infringement and you can and will be held liable for this in a court of law. The Software Publishers Alliance has a 12 minute video cassette on the subject of software piracy entitled "IT'S JUST NOT WORTH THE RISK". This video cassette is available for $10.00 and is a useful tool for instructing business users about the legal use of software products. They sent me a copy of this cassette and I found it very informative. Special Thanks: -------------- I would like to thank the following people and organizations for their help in the writing of this article: Jim Nunn, for asking me to write this article Legal Department of WordPerfect Corporation Software Publishers Association Business Software Alliance Unites States Justice Department Conclusion -------------- Most people do not purposely break the law. They would never consider stealing money from someone's pocket. But those who copy software without written authorization from the publisher are stealing intellectual property and they should understand the consequences of their actions. If you are an individual user, please don't break the law. Everyone pays for your crime. If you are part of an organization, see to it that your organization complies with the law, and that it issues an appropriate policy statement that is signed and respected by all individuals involved. -------------------------------------- If you would like a copy of this article for your personal file and/or distribution, you have my permission to copy and distribute it as long as there are NO changes of any kind made to it. This article is the property of Don Christopher Kassay and/or Online News Magazine and there can be NO changes of any kind made to it. Copies/Reprints and Distribution are granted by written permission only. No unauthorized Copies/Reprints or Distribution are allowed. If you found this article informative and would like to have follow-up articles written on the subject of Laws and Electronic Bulletin Boards, you can contact Jim Nunn #1 @1 IceNET or you may e-mail me at Online News Magazine #1 -- IceNET 9952, WWIVnet 19977 or WWIVlink 19952.. Editor's Note on the Author: Don Christopher Kassay is the Sysop of Online News Magazine, IceNET @9952 located in Raleigh North Carolina. He moved to Raleigh in March of 1992 when he and his wife, Kristi Sinclair, decided to open up another Office Complex for their company, Data Technology Research Corporation. Don has been a professional musician (drummer) for the past 21 years touring with numerous artists and groups. In 1990, he decided it was time to start the process of retiring, and decided to finish the law degree he started 10 years ago. He was accepted at Duke University and will graduate this coming April. Don expects to take the Bar Exam in mid summer, and go into coorporate law. He has stated that he will continue to research, lobby and fight against laws being presented to congress that could take away some of our rights of operating a BBS System. Since going back to law school in 1990, Don has done extensive research on the laws regulating Electronic Bulletin Boards, Sysops responsibilities, and the rights of BBS members and BBS users. He is an active consultant for numerous organizaions and businesses, helping employees and private users of computer software understand their responsibilities in using this software and at the same time helping promote a healthy relationship between software manufactures the people who use their software. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍ º The 30 Commands of BBSing - May B. Everyoneº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Some very intelligent SysOp gave some great thought to how a BBS should be operated and came up with these 30 BBS commandments. 1. Thou shalt love thy BBS with all thy heart and all thy bytes. 2. Thou shalt remember thy name and thy password. 3. Thou shalt speaketh to the SysOp thy real name. 4. Thou shalt not POST IN ALL CAPS! 5. Thou shalt Honor thy SysOp. 6. Thou shalt not covet thy neighbor's password, nor thy neighbor's real name, computer, software, nor any other thing of thy neighbor's. 7. Thou shalt only call a BBS two times a day. 8. Thou shalt not post messages that are stupid, worthless, or have no meaning, lest thee be deemed a fop. 9. Thou shalt use the English language properly so that thee may be deemed wise. 10. Thou shalt spell thy words correctly. Amen. 11. Thou shalt delete thine own mail. 12. Thou shalt delete thine ancient mail. 13. Thou shalt help other users so that thee may be deemed a friend. 14. Thou shalt not post anomymously when offering criticism. 15. Thou shalt keep thy foul language to thyself lest thee be forever banished. 16. Thou shalt not occupy thy BBS with thine arguments, for Verily, I say unto thee that thou shalt maketh thyself the charlatan. 17. Woe be unto the user who attempth to crash thy BBS, for such shall be cast out from the sanctuary of thy hobby and must repent by doing 40 mega-days and 40 mega-nights of penance in voice-only communications. 18. Thou shalt first dial BBS number during the day by way of voice line to assure correct numbers. 19. Thou shalt not post other user's real names. 20. Thou shalt not post messages after imbibing excessively of ale. 21. Thou shalt confine thy messages to those of friendship, requests for assistance, aid to the needy, advice, and advancement of thy hobby; yea, and thou art obligated to repel any who wouldst transgresseth upon these commandments. 22. If thou doth promise to reply to a message and thou doth not, then surely thou shalt spill liquid into thy keyboard and shorteth out thy central processing unit. 23. Thou shalt not giveth any false information when applying for membership to thy BBS, for Verily it is Written that whosoever shall do so will surely be found out and thy welcome on all boards will be thus be denied forever and ever. 24. Thou shalt log on properly and in accordance with thy SysOp's wishes. 25. Thou shalt observeth BBS time limits. 26. Thou shalt not upload "worm" or "trojan" or "virus-ed" programs. 27. Thou shalt not ask stupid questions that art already fully explained in BBS bulletins and instructions. 28. Thou shalt not exchangeth commercial software thru thy BBS. 29. Thou shalt not violate any applicable state/federal/local laws and regulations affecting BBS telecommunications, or thee will face the wrath of thy judicial system. 30. Thou shalt not hack. The user who submitted this wishes to remain anonymous. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ º Online Games by Jack Ryan #1 @6100 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ On-Line Games Jack Ryan #1 @6100 writes an interesting article on an online that is found on many of todays BBS' ***MELEE*** Melee is an On-Line game of combat in the arena, but it goes further than that. This is not a game of chance, as many gladiator-style games seem to be. There are many factors that are taken into consideration when you fight. When you first begin the game, you choose what type of weapons you wish to specialize in (one-handed swords, two-handed swords, etc.), you also choose what combat environment you wish to specialize in. You will select a Ghod (god) that you will worship, this decision is an important one, for it will determine many of your combat strategies. There are many things to do in Melee, besides the obvious choice of fighting. There are classes to attend, these help you to become a better warrior. You may work to improve your combat skills, your charisma, intelligence, endurance, etc. Also, you are constantly visiting one of the many armories, enhancing or repairing your equipment. Melee is not a game that you will re-roll. It builds on itself, and there are always opponents of the right level, because the Guild also has combat androids for you to cross swords with. The game will also allow the import/export of warriors from other Guilds (BBS's). Melee is not graphics oriented, but it doesn't depend on a lot of pretty window-dressing, the game stands up fine without it. Melee does take up some space. It is 500k zipped, and you will need a door converter to run it. Also, you will need a fossil driver. I use doormaster as my conversion program (Melee uses Doorinfo.def), and I use BNU170 as my fossil driver. I have all of these programs available for download, and will be happy to assist anyone in setting this game up. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ º History of IceNET - Part 2 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Views from the Mind of.....Louie IceNET - The Story Continues! ==================================== The forces were gathered at the Penthouse for the meeting to end all meetings. Well, that's what KillerTrees (1@7) was thinking as he took his sharp cutting instruments of death. He was to be very disappointed though, no killing in mass today. It was an IceNET Command Staff meeting. Everybody of importance was present, well, except for Accipter (AKA "The Duck") (1@7660) who had flown South for the winter, to Antarctica, (the one place with worse winters than Buffalo. And no, we don't understand him either). Jim was sitting at the head of the table...facing the wall. He began to speak but since he was facing the wall nobody could hear him. After about ten minutes or so everybody took notice that Jim was trying to say something. "Should we tell Jim that he talking the Wall?" Louie (6@1) remarked. "Remember what happened the last time we told him he was speaking to inanimate objects" said Spulunker (1@7653), "I say we just let him sit their babbling. I have my network connects to worry about you know." Louhal (1@10) looked both ways and then said to Jim "ah, Jim?". Jim (1@1) looked back, "What, Louhal?", then his eyes slowly wandered across to look at everybody else. Looked back at the wall quickly and then back at the group. "When did all of you move back there?" Louie said "we thought it would be more comfortable sitting in the chairs". Jim mumbled "Well, tell me next time all of you do that!". "OK, Jim" was everybody response. "Now, where are we?" Jim said authoritatively. Immediately the response came from the Piper (1@3) "We are here! Why are we here? Because we aren't there! We aren't there!" and a lot of senseless babbling... "OK, who forgot to Give Piper his Medicine this week? Who was in charge of handling him this week?" Jim Shouted! Immediately Killertrees hustled Piper off to the back room. Lots of yelling was heard but nobody dared to question it. It seems Killertrees had found his blood letting for the day. Jim continued "Well, I would like to turn the meeting for a short time over to Zaphod (1@7659) for a few minutes." Zaphod entered from the side...both his heads looking back at the room Trees had hauled Piper off too and with a look of great happiness on one face, and look of great dread on the other. "If you would direct your attention to the large map back here on the wall "Zaphod said. It was a large map of the continental United States and Canada. On it were colored areas....in crayon (Yes, this is a two bit operation). The colored areas seemed to correspond with various area codes around the country. Zaphod Continued "The areas in black are those already dominated by IceNET Forces, or allied networks. Areas in red are those areas continued by the Evil Empire...er...WWIVnet. Those areas in purple are WWIVlink dominated territories. Those areas not on the map have not been colored in." Zaphod then took his seat again. Jim then said "Any news on our emissaries to the WWIVlink people". "WWIVlink has pledged itself to be neutral in a vote taken last Tuesday. At least that's how the link board is interrupting the results that way. Seems more who voted respond with 'Green Noodles make Blue Poodles Jump der Shtroodle'. They have spent the last several days in high level meetings trying to figure out what that means exactly" was Lady (3@2) response. Jim said "Good, at least there won't be any boarder conflicts with them when our army leaves for Southern Calf. for the grand conflict with the Evil Wayne Bell (1@3050). Then Jim looked around the table "Where's Filo (1@5252)?" he commented. "Filo promised to be on our side. Oh no. I bet he has already smuggled our plans back to Random (1@3050). We will have to move quickly if we want to stop them from getting the jump on our forces". "Gather the troops quickly. We have to move immediately". TO BE CONTINUED . . (unfortunately...Jim) ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ º Co-Sysops - The Silent Majority º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ A close look at the Still Silent majority; Co-Sysops When I first thought about this article I expected a lot more reaction but it would seem as though the co-sysops are really the silent members that would rather be the backer of the board. Even mine who I requested to submit a comment and helped with the editing of the newsletter. I did get a few comments and this is what they have to say. Mad Man #101 @10 writes, "I Co-Sysop on two BSS's and I enjoy the work. It is sometimes hard to keep up. I do not like recognition for my work so sitting in the background suits me well. I like the technical work and the challenge of setting things up. I just don't want the responsibility or expense that is involved. One system I manage completely from remote, almost everything. The other I just add touches to to make it appealing. My comments are worthless, as what really matters is how the Sysop feels." Amproman #14 @10 comments, "I think that a CoSysop is very important to a board, if they know how to do their job. A CoSysop is generally free to use his computer to call out to tuns of boards, while that Sysop's computer and phone line are tied up for that board. As a Co, some of that things I do, is make sure our board's number is in all that BBS lists on boards in that area, leave messages directing users to that board where appropriate, and bringing important ideas back to that Sysop, and then there's that most important job, providing someone to hang out with at BBS events." Ampro is the co-sysop of Fantasia BBS [ADS#1] ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ º Mod of the Month by Airmon #2 @9901º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ USERLST2.MOD -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Mod o' the Month by Airmon 1@9901) Featured Mod: USERLST2.MOD -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Why yes, Airmon is back once again, to bring you the Mod o' the Month. Happy Happy Joy Joy. This month's mod is written by one of the more well known mod authors, Ethereal Cereal. Ethereal Cereal brings us a mod that proves it- self useful. Especially when you decide to decide to modify the userrec. This miracle, allows you to have 2 user lists, thus allowing you to add mods that effect the userrec such as his own FROM mod, and maybe mods like the 8 more colors mod. The sweetest part of this mod, is that no harm is done. The mod itself doesn't affect the regular userrec, as well as it allows you to install mods that might have affected the userrec. All in all, it's a great mod. Try it, I am sure you will like it. /-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\-/-\ The Second User List Mod (USERLST2.MOD) by Ethereal Cereal WARNING: This mod is not for the weak at heart. Previous modding experience is expected. Intro ÄÄÄÄÄ Ok, ok, ok. Fine. After enough harrassment from a variety of people, I am finally going to release my solution to the modified userrec problem. Info ÄÄÄÄ What this mod does, is create a second user list file (USER2.LST) that holds all of your extra stuff that would normally go into the USER.LST/userrec stuff. The way I have implemented this, is through the use of secondary routines (write_user2, read_user2, thisuser2, userrec2, etc...). There are better ways to do this one (through the use of allocations and deallocations of thisuser, et al.) but I felt that in the long run, it would be way too much work. Anyhow, if you have any probs, you know where to reach me... via the normal routes established long, long ago. If that doesn't work, I'm sure someone over here in this part of the country knows of a way to get a hold of me. Oh, one other note. This should work on just about any version of WWIV (just like most mods). Just might require a bit more elbow grease on your part. This mod was written for my v4.20d/v4.21 monster; hopefully everything is relatively close. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ As usual with most of these mods, the author (me) takes no resposibility what-so-ever if this mod causes your cat to jump on your keyboard and delete every user you have or if your modem decides it doesn't like you and fries itself, committing datacide... EC ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ /***********************/ /* L E G E N D */ /***********************/ /* - = Deleted Line */ /* + = New Line */ /* # = Existing Line */ /* ! = Modified Line */ /* * = Search For Line */ /***********************/ Step #1 -- Back up your source! Function -- Comments -- I normally don't put this in as a step to one of my mods, as I figure most people have the common sense to do it. Since this mod is VERY extensive--ok, more extensive that what I normally do--this is just to make sure that I don't get mail from people saying "Your mod blew up my system, and it's all your fault, and I don't have a backup of my old source and ..." Hey, I reminded you right here. Step #2 -- VARDEC.H Function -- N/A Comments -- We might as well get this over with. Create an entry right after the } userrec; that includes the extra stuff that you want to put in it. Here's a copy of mine. Notice the reserve space for later on. (Ok, so it's a bit of overkill--but, anyone who has ever logged on knows that I generally tend to use what I have... ) Most of this stuff probably won't be needed by most people, but at least you have an example to go by. typedef struct { unsigned char phone2[13], /* Second phone # mod */ major[21], /* hey, Its a college town */ bbsname[31], /* MTB's SYSAUTO2.MOD */ street[31], /* My From Stuff */ city[21], /* " " */ state[3], /* " " */ country[4], /* " " */ zipcode[12], /* " " */ bbstype[11], /* MTB's SYSAUTO2.MOD */ inact, /* for my network stuff :) */ defarc, /* Goose's Default Archive */ defdir, /* Goose's default dir */ banner[81], /* DeBanner mod by Deltigar(?) */ rank[41]; /* My USERRANK2 mod */ unsigned long exempt; /* more exemptions ;) */ char expiration[9]; /* when they get auto-deleted */ unsigned int donation; /* donated to the system? */ char profile[9]; /* JSM's user profile mod */ char reserved[1854]; /* reserve space */ } userrec2; Step #3 -- VARS.H Function -- N/A Comments -- We need to make an entry for thisuser2. Put these in the appropriate places. userrec2 thisuser2; /* Entry for the USERLST2.MOD */ int userfile2; /* entry for the USERLST2.MOD */ later on... extern userrec2 thisuser2; /* entry for the USERLST2.MOD */ extern int userfile2; /* entry for the USERLST2.MOD */ Step #3 -- UTILITY.C Function -- open_user() and close_user() Comments -- Just simple replacements. Should be fairly easy to spot the changes in these. void close_user() { if (userfile!=-1) { close(userfile); userfile=-1; } if (userfile2!=-1) { close(userfile2); userfile2=-1; } } void open_user() { char s[81]; if (userfile==-1) { sprintf(s,"%sUSER.LST",syscfg.datadir); userfile=open(s,O_RDWR | O_BINARY,S_IREAD | S_IWRITE); if (userfile<0) userfile=-1; } if (userfile2==-1) { sprintf(s,"%sUSER2.LST",syscfg.datadir); userfile2=open(s,O_RDWR | O_BINARY,S_IREAD | S_IWRITE); if (userfile2<0) userfile2=-1; } } Step #4 -- UTILITY.C Function -- N/A Comments -- Near the functions write_user() and read_user(), slap these functions nearby... int number_userrecs2() { open_user(); return((int) (filelength(userfile2)/sizeof(userrec2))-1); } void read_user2(unsigned int un, userrec2 *u) { long pos; char s[80]; int i; open_user(); if ((userfile2<0) || (un>number_userrecs2())) { u->inact=inact_deleted; return; } if (((useron) && (un==usernum)) || ((wfc) && (un==1))) { *u=thisuser2; return; } pos=((long) sizeof(userrec2)) * ((long) un); lseek(userfile2,pos,SEEK_SET); i=read(userfile2, (void *)u, sizeof(userrec2)); if (i==-1) { open_user(); if ((userfile2<0) || (un>number_userrecs2())) { u->inact=inact_deleted; return; } pos=((long) sizeof(userrec2)) * ((long) un); lseek(userfile2,pos,SEEK_SET); i=read(userfile2, (void *)u, sizeof(userrec2)); if (i==-1) { pl("COULDN'T READ USER2."); } close_user(); } } void write_user2(unsigned int un, userrec2 *u) { long pos; char s[80]; unsigned char oldsl; int i; if (userfile2==-1) { sprintf(s,"%sUSER2.LST",syscfg.datadir); userfile2=open(s,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE); } if (((useron) && (un==usernum)) || ((wfc) && (un==1))) thisuser2=*u; pos=((long) sizeof(userrec2)) * ((long) un); lseek(userfile2,pos,SEEK_SET); i=write(userfile2, (void *)u, sizeof(userrec2)); if (i==-1) { sprintf(s,"%sUSER2.LST",syscfg.datadir); userfile2=open(s,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE); pos=((long) sizeof(userrec2)) * ((long) un); lseek(userfile2,pos,SEEK_SET); i=write(userfile2, (void *)u, sizeof(userrec2)); if (i==-1) { pl("COULDN'T WRITE USER2."); } close_user(); } } ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Due to the pure number of changes, this is how we are going to do this. In the next few steps, I will list the file and the function that has to get changed. In EVERY case, unless SPECIFICALLY mentioned otherwise, simple search for the correspoding read_user() or write_user() and add the read_user2() or write_user2() AFTER it. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Step #5 -- BBS.C Function -- lots :) Comments -- void getcaller() # wfc=0; * read_user(1,&thisuser); + read_user2(1,&thisuser2); /* MOD */ * outs("Fast\r\n\r\n\r\n\r\n\r\n\r\n"); # read_user(1,&thisuser); + read_user2(1,&thisuser2); /* MOD */ # reset_act_sl(); * frequent_init(); # read_user(1,&thisuser); + read_user2(1,&thisuser2); /* MOD */ # fwaiting=thisuser.waiting; void got_caller() * outcom=1; # read_user(1,&thisuser); + read_user2(1,&thisuser2); /* MOD */ # reset_act_sl(); Step #6 -- DEFAULTS.C Function -- only one Comments -- void defaults() * write_user(usernum,&thisuser); + write_user2(usernum,&thisuser2); /* MOD */ # close_user(); Step #7 -- LILO.C Function -- only two Comments -- void getuser() * if (usernum>0) { # read_user(usernum,&thisuser); + read_user2(usernum,&thisuser2); /* MOD */ # actsl = syscfg.newusersl; void logoff() * write_user(usernum,&thisuser); + write_user2(usernum,&thisuser2); /* MOD */ # close_user(); Step #8 -- NEWUSER.C Function -- only one Comments -- void newuser() * memset(&thisuser, 0, sizeof(userrec)); + memset(&thisuser2, 0, sizeof(userrec2)); /* MOD */ There should be several such pairs of this next one. Be sure to get them all. * write_user(usernum,&thisuser); + write_user2(usernum,&thisuser2); /* MOD */ # close_user(); Step #9 -- SHRINK.C Function -- only one Comments -- void shrink_out() * if (state) { # write_user(usernum,&thisuser); + write_user2(usernum,&thisuser2); /* MOD */ int restore_data() * read_user(usernum,&thisuser); + read_user2(usernum,&thisuser2); /* MOD */ # useron=1; Step #10 -- SYSOPF.C Function -- only one Comments -- void chuser() * write_user(usernum,&thisuser); + write_user2(usernum,&thisuser2); /* MOD */ # read_user(i,&thisuser); + read_user2(i,&thisuser2); /* MOD */ # usernum=i; # close_user(); Step #11 -- XFER.C Function -- only one Comments -- On my system, this is actually in the DEFAULTS.C file, where it belongs. (make sense, doesn't it?) void xfer_defaults() * write_user(usernum,&thisuser); + write_user2(usernum,&thisuser2); /* MOD */ # close_user(); Step #12 -- XFER.C Function -- only one Comments -- void init() * userfile=-1; + userfile2=-1; * read_user(1,&thisuser); + read_user2(1,&thisuser2); /* MOD */ Step #13 -- UEDIT.C Function -- Comments -- This one is a REAL mess. All kinds of problems to deal with. Let's do this one first... void print_data() * char s[81],s1[81],s2[81],s3[81],s4[81]; # int i; + userrec2 u2; /* mod */ + read_user2(un,&u2); /* MOD */ + close_user(); Ok, now we can display the data in Uedit, just like we would with the normal userlist, except it isn't a pointer. Here is an EXAMPLE: npr("PH#1: %s\r\n",(u->phone)); /* This is the first phone from the first user list */ npr("PH#2: %s\r\n",(u2.phone2)); /* This is from the second. Note the use of a "." instead of "->" */ With that out of the way, we can do more interesting things.. void uedit() * userrec u; + userrec2 u2; /* MOD */ * read_user(un,&u); + read_user2(un,&u2); /* MOD */ # nu=number_userrecs(); # do { # read_user(un,&u); + read_user2(un,&u2); /* MOD */ Now an example of how to modify something in our new user list from Uedit. Here's something out of my USERRANK mod... Please note that this is an example, again. (Unless you have my userrank mod installed. In that case, see way below about converting mods...) case '^': nl(); prt(2,"Personal rank? "); inputl(s,40); if (s[0]) { strcpy(u2.rank,s); write_user2(un,&u2); } else { prt(5,"Use \"standard\" rank? "); if (yn()) { u2.rank[0]=0; write_user2(un,&u2); } } break; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Whew! Now that we have all that in, and some examples for certain sections, we are ready to convert some mods to our new user structure. Please note, that this part is where the *REAL* experts are separated from everyone else. This is not an easy procedure by any means. I'll try my best to explain how I went about converting mods, but the best way to learn is simply to play with it. * Mods like Elric's From mod that just do read/writes to the user list by ONLY messing with the thisuser variable are a peice of cake. Just change all entries in the mod to thisuser2. or thisuser2->whatever -- whichever the case may be. * Some mods are going to be real bears. These are the ones that have their own custom functions that do read/writes of another variable (ie, userrec u) like the void uedit up above. What you can do, is do the same trick I did. Make a userrec2 u2 statement and just change all references to u2. * If you get any really strange errors, make sure that the u2. is actually from the mod. It *might* be a standard WWIV thing that will require a u. instead (ie, it doesn't need to be changed.) For those of you that already have modified userrecs... well, what can I say. There's no time like the present to trash it--I did. ;) Farpoint Station þ WWIVNet @6850 þ WWIVLink @16851 ----------------------------------------------------------------------------- Û ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÜÛÛÛÛÛÛÜÜÜ ÛÛÛÛÛÛÛÛÜ ÜÜ Ü ÜÜÛÛÛÜ ÜÜßßßÛÛÛÛÛÛÛÛÛÛÛÜÜ Ü Wishing you a very ÜÛÛÛÛß ÜßÜÜÛÛÛÜßÛÛÛÛÛÛÛÛÛÛÛÛÜ ÜÜÜ ÛÜ Merry Christmass Ü ÜÛÛÛÛß Û ÜÛß Ü ßÛÛÛÛÛÛÛÛÛß ÜÛÛÛÛÛÛÛÜ ÛÝ from ÛÛÛÛÛ Üß ÜÛ°°Û°ÛÜ ÛÛÛÛÛÛÛÛÜßÛÛÛÛÛÛÛÛÛÝÝ The Staff at IceNEWS ßÛÛÛÝÞÛ ÛÛ°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ßÛÛß ÜÜÜÜÜܱ± ÛÛÛÝÞÛ ÛÛ°°°°°°°ÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÜÜÜß Ü Ü ÜÛܱ± ß ßÛÛ ÛÜ ÛÛ°°°°°ÛÛ ÜÛÛÛÛÛÛÛÛÛÛÛÛÜßß ß Ü ÜÛÛÜ Ûß±± ßßß ÛÛÜ ßÛÛÛÛÛß ÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Ü ßß ±±±±ß ßÛÛÛÜÜÜÜÜÜÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß ÛÜßÛܱ±± ßß ß ß°ßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛß Ü²² Ü Üܱ±±±°ÜÜ ²±²±²°°°°°°ÜÜÜÜßßÛÛÛÛÛÛÛÛÛßßܲ²²Ü ÜÜ ÜÛÛ±±±±±ÛÛÝÝ ²±²²±²²±ÛÛÛÛÛÛÛÛÛÛßß²²±±±±±±²²²²ÜÛÛÛÜ ÜÜÜÜÛÛÛÛÛ±±°°±ÛÛÛÛ ²°²±±±±±²±²ÛÛÛÛÛÛ²²²²²²±±±²²²²²ÜÜÛßÛÛÛÛÛÛÜßÛÛÛÛÛ±±°°°ÜÛÛÛÛÝÝ ²°°²²±±² ²±²ÛÛ²²²ÜßÜÜܱ۱±ÛÛÛÛÛÛÛÛÛÜßÛÛÛÛÛÛÜßÛÛÛÛ°°°ÛÛÛÛßßß °°²±±² ²²±ß±ÜÛÛÛß±Û±±ÛÛÛÛÛÛÛÛÛÛÛÜßÛÛÛÛÛÛ°ÛÛÛÛÛÛÛß ßß °°²²±± ß ß ±±ÛÛÛß Ûß±±ÛÛÛÛÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛ°ßßßß ßßß °²±± ß ßßÛÛÜÛ ÜÛÝÛÛÛÛÛÛÛÛÛÛÛÛÛ°°ÛÛÛÛÛ° Ü ÜÜÜ ÜÛÛ ßÛÛÛÛÛÛÛÛÛÛÛÛÛ°ÛÛÛÛÛ°Ý ÜÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°ÛÛÛÛ°° ÞÞÛÛÛÝ ÛÛÛÛÛÜ ÛÛÛÛÛÛÛÛÛÛÛÛÛ°°ÛÛÛ°°