Angband OpenSource Initiative

From NetHackWiki
Jump to navigation Jump to search

The Angband OpenSource Initiative was an effort to relicense the roguelike game Angband under a free software license, the GNU General Public License. It finished successfully in 2009.[1]

NetHack has been free software for a long time (under its NetHack General Public License), but before the OpenSource Initiative Angband had restrictions against commercial distribution. The remainder of this article was written when the Angband OpenSource Initiative was still ongoing.

Comparing Angband and NetHack licensing

Consider freedom: the ability to give copies of Angband and NetHack to other persons and to make changes to Angband and NetHack, for example to make patches or variants.

NetHack is free, open source software. The NetHack General Public License is on Open Source Initiative's list of approved licenses. There is also a NetHack package in Debian.

This means that NetHack meets both of:

In contrast, most of Angband uses a simple, but noncommercial license inherited from Moria:

/*
 * Copyright (c) YYYY Owner
 *
 * This software may be copied and distributed for educational, research, and
 * not for profit purposes provided that this copyright and statement are
 * included in all such copies.
 */

What does this mean? Is it okay to profit from copying this software if the purpose is educational or research, or must any copy be all of educational, research, and not for profit simultaneously?

The license also does not explicitly mention modification, though there is a long tradition of modifying the source, back at least to when Moria was ported to Unix, forming UMoria.

However that "not for profit" clause impedes anyone who tries to sell copies of Angband. This is contrary to the Debian and OSI guidelines, which both state:

  • "The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research."

The consequence of this is that the Debian package for Angband is clearly marked as non-free. Considering that some persons do distribute Angband noncommercially and do make modifiations, Angband is almost free, and in many contexts one can call it "free", but it cannot be OSI-approved, nor can it be Debian-free, as long as it has that noncommercial license.

Impediments to distribution of Angband

For many users, Angband's noncommercial license is not a problem; they can continue to obtain and modify copies of Angband. However, one important limitation is that vendors who sell collections of free software cannot include Angband.

For example, in the ports tree of OpenBSD 3.9, the description of Angband includes this:

PERMIT_PACKAGE_CDROM=	"unclear license"
PERMIT_PACKAGE_FTP=	Yes
PERMIT_DISTFILES_CDROM= "unclear license"
PERMIT_DISTFILES_FTP=	Yes

In OpenBSD, any value other than "Yes" means No, and gives the reason why no, that program cannot be on the CDROM that OpenBSD sells. The various FTP (and other Internet) sites which carry OpenBSD can and do include Angband source code and compiled packages. However, the CD can never include Angband. Perhaps OpenBSD would not want to include the game on a CD for sale, even if it had permission to do so, but the Angband license is the same for everyone.

Now here is description of NetHack in the same tree:

PERMIT_PACKAGE_CDROM=	Yes
PERMIT_PACKAGE_FTP=	Yes
PERMIT_DISTFILES_CDROM=	Yes
PERMIT_DISTFILES_FTP=	Yes

You can sell NetHack on CD, yes.

But I do not want anyone to sell my free game!

Both Angband and NetHack are readily available on the Internet. Even if they were not, the license allows anyone with a copy to put the games on a server and begin distributing them over the Internet. In practice, anyone who sells Angband or NetHack must compete against this gratis redistribution. In practice, this means that anyone can easily avoid paying for NetHack if they want.

NetHack's license is even a copyleft license, so any modified versions, such as SLASH'EM, must likewise be free. Clause 2(b) of that NetHack General Public License states that modified versions are allowed:

  • "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 (except that you may choose to grant more extensive warranty protection to some or all third parties, at your option)".

(Here, "no charge" means that you cannot give someone a copy of NetHack and them somehow make them pay before they obtain their freedoms. The next clause 2(c) makes clear that "You may charge a distribution fee for the physical act of transferring a copy".)

So, SLASH'EM and other modified versions of NetHack must be under licenses with "terms identical" to NetHack's terms, meaning that again, anyone with a copy of SLASH'EM can begin distributing it gratis.

Or, they could try selling NetHack to raise funds for developing modifications to NetHack – and to gain a profit. In the current market, this might be difficult, especially as NetHack is a roguelike game and not office-productivity or enterprise software.

Noncommercial versus copyleft

Angband, though, is not under copyleft. Here is the license again:

/*
 * Copyright (c) YYYY Owner
 *
 * This software may be copied and distributed for educational, research, and
 * not for profit purposes provided that this copyright and statement are
 * included in all such copies.
 */

There is no clause stating that other parts of a work including Angband must be under the same terms as Angband. Like the licenses popular with BSD software, Angband's license is not a copyleft.

For example, in a new Angband variant, you add code with your own copyright that has more requirements. For example, you could require a changelog, or you could require further modifications to be distributed as patches, or even prohibit further modifications completely. You could add source files licensed only under the Mozilla Public License or the Common Development and Distribution License, if you so wanted. You could distribute your Angband-variant binaries and never provide any source code, except for those files under the MPL or CDDL.

However, you would not be able to sell and profit from those Angband-variant binaries in a way that contradicted the terms of the Angband license. This is possibly where the "not for profit" restriction benefits Angband. Without copyleft, an Angband-variant binary could in theory not be entirely under Angband's license. However, you cannot sell and profit from that binary until all parts of the binary, including code under Angband's licenses, had licenses that allow you to do so. Perhaps this caused the authors of modified versions of Moria, including UMoria, vanilla Angband itself, and the Angband variants, to maintain the spirit of Moria's and Angband's licensing, because it was not possible to sell said versions commercially.

However, copyleft as NetHack already uses it is also an effective strategy, and unlike noncommercial licensing, copyleft does not discriminate against those who want to profit from selling copies. The Angband OpenSource Initiative, if successful, would permit commercial uses of Angband while prohibiting commercial uses that add new license restrictions contracting the GNU General Public License, version 2. Remember that Moria started in 1983, and the GNU GPL v2 appeared only in 1991. The Angband OpenSource Initiative would allow for Angband much of what the NetHack General Public License allows for NetHack.

Links

References