Free

From NetHackWiki
Jump to navigation Jump to search

NetHack is free - free as in freedom and as in beer. You are free to study the source code of NetHack, to modify your copy of the game, to share copies of NetHack or your modified version, and to play the game. These actions would normally have infringed the copyright of the game, but the DevTeam has granted these rights as permission under the NetHack General Public License.

NetHackWiki is free in a similar manner. Anyone is free to read this wiki, to copy pages from this wiki and edit them, and to share copies.

License restrictions

However, these rights do come with restrictions. The README of NetHack 3.4.3 states that after unpacking the source code:

Before you do anything else, please read carefully the file called "license" in the 'dat' subdirectory. It is expected that you comply with the terms of that license, and we are very serious about it.

So what are these restrictions, and why does the DevTeam use them? The first paragraph of the NetHack General Public License explains why.

The license agreements of most software companies keep you at the mercy of those companies. By contrast, our general public license is intended to give everyone the right to share NetHack. To make sure that you get the rights we want you to have, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. Hence this license agreement.

The restrictions have to do with preserving copyright notices, maintaining access to source code, and requiring all copies and modified versions to use the same license.

Copyleft

One of the most important terms in the NetHack General Public License is the "copyleft": a requirement that modifications to a free work become free under the same terms. The NetHack GPL describes this requirement using the following legal language.

... cause the whole of any work that you distribute or publish, that in whole or in part contains or is a derivative of NetHack or any part thereof, to be licensed at no charge to all third parties on terms identical to those contained in this License Agreement ...

The last sentence of the license summarizes copyleft.

In other words, go ahead and share NetHack, but don't try to stop anyone else from sharing it farther.

The NetHack GPL does not use the word "copyleft", but the Free Software Foundation has spread this word. Creative Commons uses the term "ShareAlike".

The most important consequence of copyleft may be that commercial game vendors cannot borrow NetHack source code for a game unless they make their game into a free game.

Freedoms in practice

Sharing the game

During the 1980s, official releases of the game Hack went out through Usenet. The first releases of NetHack went out the same way. There were so many obstacles to obtaining copies of NetHack.

  1. You had to have access to Usenet.
  2. Your Usenet server had to offer the newsgroup that contained the NetHack sources.
  3. The messages containing the NetHack source had to arrive at your Usenet server without becoming lost. NetHack consisted of multiple messages, so missing one part could be enough to stop you from obtaining a working game.
  4. You had to access and copy the NetHack sources from the Usenet server before they expired as old messages.

For NetHack to become a successful and popular game, there would have be a way for the people who had NetHack to give it to the people who missed it. The NetHack GPL was the document that provided the permission. Because of this permission, some FTP sites also started providing archives of NetHack, so that more people would become able to obtain it.

Today, the DevTeam uses SourceForge to host their web site and to distribute the game. SourceForge provides NetHack over many mirrors. (They are careful to maintain each mirror, because for each one they break, they lose 2 luck, assuming that these mirrors obey NetHack rules. Fortunately, the numerous mirrors scare hostile monsters away from SourceForge.) It is very easy for anyone with an internet connection to download NetHack from SourceForge.

However, the right for persons outside of SourceForge to share NetHack does remain important. This is the era of free operating systems, like Debian and FreeBSD. Free operating systems need great free games, including NetHack. The NetHack GPL permits these free operating systems to include or provide copies of NetHack, as source code or compiled for each system and processor architecture.

Modifying the game

Section 2 of the NetHack GPL permits the user to modify the game and share the modifications.

During a past era, system administrators would install NetHack onto a server for several users to play. Though an administrator may apply secret modifications to the game to interest the players, in practice NetHack is already a sufficient game, and most administrators have plenty of other things to do after installing NetHack. Today, many players are on personal computers with no users able to program modifications to NetHack.

Enter variants and patches. These things are somewhat numerous, and provide a way for the public to experience modifications to NetHack. The NetHack GPL facilitates the creation of variants of NetHack, patches of NetHack, variants of variants, patches of patches, and so on. SLASH'EM is the combination of many variants and patches. The DevTeam has actually merged selected features from SLASH'EM into vanilla NetHack.

A license such as the NetHack GPL is not the only way to establish a culture of variants and patches. The Angband community also has them, even though their Moria license is not a copyleft and does not contain any explicit permission for modification. However, an author of a particular variant or patch to Angband may attempt prohibit any further modifications. An author of a particular variant or patch to NetHack may not do so, because users would point to the NetHack GPL.

Studying and playing the game

The NetHack GPL contains no restrictions in the area of studying and playing the game. (It does protect your right to obtain source code for the copy of NetHack that you receive, so that you may study the game or fix the game to make it playable.)

You may install NetHack on an unlimited number of computers, with an unlimited number of users. Try counting the users on nethack.alt.org, then imagining how much the administrators of that public server would have to pay in per-user royalties.

There are many spoilers for NetHack. Spoilers are documents that detail how the game works. This wiki is full of them, but the tradition of spoilers predates NetHackWiki by many years. Spoilers have become comprehensive because users are able to study the source code to determine exactly how the game behaves. Thus, we may refer to numerical values like luck or alignment record that the game does not directly reveal; we may list the probabilities of various events that happen when you take actions such as quaffing from a fountain; we may know the effects of reading a particular scroll, taking into account the beatitude of the scroll and whether the player is blind or confused, without resorting to a lengthy process of trial and error.

Some people do not like to play NetHack, because of the existence of these spoilers. As players play games like ADOM, they will eventually produce spoilers using their collective experience, but such spoilers will never be as plentiful or comprehensive as those for a free game like NetHack.

Conclusion

NetHack is a free game; the rights granted in the NetHack GPL have caused several important effects among the NetHack community. The fact that NetHack is easy to obtain, and that there are many variants and patches, and that spoilers are possible, relies on the permissions in the NetHack GPL.