xNetHack — licença ================== O xNetHack é uma variante do NetHack mantida por Copperwater e por quem contribuiu no repositório github.com/copperwater/xNetHack (o jogo-base é do NetHack DevTeam); a versão servida aqui é a 10.0.0, o commit 6eef394 (o da tag xnh10.0), que descende do NetHack 5.0.0 (o que o mundo chama de 3.7). O jogo inteiro, o código e os arquivos de dados, está sob a NetHack General Public License (NGPL), o texto do arquivo dat/license do próprio repositório, que é o mesmo do LICENSE na raiz dele (abaixo, sem mudanças). A NGPL permite copiar, distribuir e alterar o jogo, inclusive comercialmente, desde que o código-fonte completo acompanhe o binário (parágrafo 3(a)); a alternativa 3(b), de só indicar onde obter o fonte, vale apenas para distribuição não comercial, e este site tem anúncios. Por isso o fonte exato desta build (o tarball do commit, o patch, o script) é hospedado junto do jogo e linkado na página. O que este site serve: o xNetHack 10.0.0 compilado para WebAssembly com o Emscripten 6.0.10, com a interface de terminal (tty) do próprio jogo: um nethack.js, um nethack.wasm e o nethack.data (os arquivos de dados do jogo, sem mudanças, exceto o que está listado abaixo), mais a página play.html, que desenha o terminal (80x26, 16 cores) num canvas. O jogo não tem som, imagens nem música e não faz nenhuma conexão de rede. Esta é uma versão alterada do xNetHack. As mudanças no código-fonte estão no xnethack-fredygames.patch: - sys/unix/fredytc.c e sys/unix/fredyterm/ (novos, sob a mesma licença): um termcap mínimo que responde às chamadas do tty como um terminal ANSI, e a leitura de teclas, feita pela página; - sys/unix/hints/include/cross-pre2.500: as opções de compilação do alvo WebAssembly do próprio jogo, trocando a interface "shim" (JavaScript) pelo tty, e o Asyncify, o IndexedDB e os dados num nethack.data; - sys/unix/unixunix.c e win/tty/wintty.c: o jogo não exige mais um terminal de verdade na entrada padrão; - sys/libnh/sysconf: o nome de usuário "web_user" entra entre os genéricos (o jogo pergunta o nome do personagem) e sai a opção perm_invent; - include/unixconf.h: a leitura de tecla vem da página; - src/date.c: a data da versão é a do commit, para o build ser reprodutível. O arquivo dat/tribute (trechos de romances de Terry Pratchett, mostrados quando se lê um romance, "novel") fica como no pacote oficial do NetHack; os textos são do autor, não do projeto, e a NGPL não os cobre. O resto dos dados do jogo (dungeon.lua, as fases, bogusmon, rumors etc.) é o do repositório. Entram também no binário o Lua 5.4.8 (MIT, abaixo; o tarball vai junto do fonte), a biblioteca C e o runtime em JavaScript do Emscripten (MIT / University of Illinois NCSA; abaixo). O isaac64.c do jogo é de domínio público (CC0). O FredyGames não tem relação com os autores do NetHack nem do xNetHack e não é endossado por eles. ------------------------------------------------------------------------------ xNetHack 10.0.0 — dat/license (NetHack General Public License) ------------------------------------------------------------------------------ NETHACK GENERAL PUBLIC LICENSE (Copyright 1989 M. Stephenson) (Based on the BISON general public license, copyright 1988 Richard M. Stallman) Everyone is permitted to copy and distribute verbatim copies of this license, but changing it is not allowed. You can also use this wording to make the terms for other programs. 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. Specifically, we want to make sure that you have the right to give away copies of NetHack, that you receive source code or else can get it if you want it, that you can change NetHack or use pieces of it in new free programs, and that you know you can do these things. To make sure that everyone has such rights, we have to forbid you to deprive anyone else of these rights. For example, if you distribute copies of NetHack, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. Also, for our own protection, we must make certain that everyone finds out that there is no warranty for NetHack. If NetHack is modified by someone else and passed on, we want its recipients to know that what they have is not what we distributed. Therefore we (Mike Stephenson and other holders of NetHack copyrights) make the following terms which say what you must do to be allowed to distribute or change NetHack. COPYING POLICIES 1. You may copy and distribute verbatim copies of NetHack source code as you receive it, in any medium, provided that you keep intact the notices on all files that refer to copyrights, to this License Agreement, and to the absence of any warranty; and give any other recipients of the NetHack program a copy of this License Agreement along with the program. 2. You may modify your copy or copies of NetHack or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above (including distributing this License Agreement), provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) 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) c) You may charge a distribution fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 3. You may copy and distribute NetHack (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with full information as to how to obtain the complete machine-readable source code from an appropriate archive site. (This alternative is allowed only for noncommercial distribution.) For these purposes, complete source code means either the full source distribution as originally released over Usenet or updated copies of the files in this distribution used to create the object code or executable. 4. You may not copy, sublicense, distribute or transfer NetHack except as expressly provided under this License Agreement. Any attempt otherwise to copy, sublicense, distribute or transfer NetHack is void and your rights to use the program under this License agreement shall be automatically terminated. However, parties who have received computer software programs from you with this License Agreement will not have their licenses terminated so long as such parties remain in full compliance. Stated plainly: You are permitted to modify NetHack, or otherwise use parts of NetHack, provided that you comply with the conditions specified above; in particular, your modified NetHack or program containing parts of NetHack must remain freely available as provided in this License Agreement. In other words, go ahead and share NetHack, but don't try to stop anyone else from sharing it farther. ------------------------------------------------------------------------------ Lua 5.4.8 — license (MIT) ------------------------------------------------------------------------------ Copyright (C) 1994-2025 Lua.org, PUC-Rio. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------ Emscripten 6.0.10 — LICENSE ------------------------------------------------------------------------------ Emscripten is available under 2 licenses, the MIT license and the University of Illinois/NCSA Open Source License. Both are permissive open source licenses, with little if any practical difference between them. The reason for offering both is that (1) the MIT license is well-known, while (2) the University of Illinois/NCSA Open Source License allows Emscripten's code to be integrated upstream into LLVM, which uses that license, should the opportunity arise. The full text of both licenses follows. ============================================================================== Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ============================================================================== Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. Neither the names of Mozilla, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. ============================================================================== This program uses portions of Node.js source code located in src/library_path.js, in accordance with the terms of the MIT license. Node's license follows: """ Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ The musl libc project is bundled in this repo, and it has the MIT license, see system/lib/libc/musl/COPYRIGHT The third_party/ subdirectory contains code with other licenses. None of it is used by default, but certain options use it (e.g., the optional closure compiler flag will run closure compiler from third_party/).