From 3df6623fbfbaae43965f73937305419b2a3cace4 Mon Sep 17 00:00:00 2001 From: byuu <2107894+byuu@users.noreply.github.com> Date: Mon, 23 Mar 2020 00:57:29 +0900 Subject: [PATCH] Convert bsnes into a group project and relicense it to GPLv3 or later. --- .github/FUNDING.yml | 1 - CONTRIBUTING.md | 89 ------------------- CREDITS.md | 8 +- LICENSE.txt | 10 +-- README.md | 43 +++------ bsnes/emulator/emulator.hpp | 6 +- .../presentation/presentation.cpp | 6 +- 7 files changed, 30 insertions(+), 133 deletions(-) delete mode 100644 .github/FUNDING.yml delete mode 100644 CONTRIBUTING.md diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index a4acc174..00000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -patreon: byuu diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 5fcf1918..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,89 +0,0 @@ -Contributing -============ - -Code contributions are most welcome and highly appreciated! - -But first, please note that although bsnes is licensed under the GPLv3 license, -in order to be merged upstream, any code contributions must be provided under -the ISC source code license. - -This is *not* a CLA (community license agreement), no legal contract needs to be -signed, and you will maintain full and exclusive copyright ownership over any -contributed source code. - -There are two reasons for this requirement: - -GPLv4+ ------- - -bsnes is currently licensed under the GPLv3 license only. I do not license bsnes -under the GPLv3 or later license, because there is no way of knowing what the -GPLv4 and later licenses will change, and if they will be in the best interests -of emulator development and video game preservation. - -Although I put a good deal of trust into the FSF, no one is an oracle that can -predict the future. Would *you* agree to a license before being able to read it? - -However, the GPLv4 may prove beneficial, and close important holes in the GPLv3 -license, just as the GPLv3 license closed the GPLv2's TiVoization loophole. And -so it is important that bsnes retains the option of relicensing to the GPLv4+ in -the future. - -As a point of interest, there have been projects with similar concerns about -using a GPLv2 or later clause, that are now permanently stuck on the GPLv2 -license. There have also been projects that did use a GPLv2 or later clause, -only to disagree with the changes introduced in the GPLv3. - -ISC ---- - -The more important reason for this requirement is that it is my intention to -release the entirety of bsnes under the ISC license once official upstream -development has ceased. - -The reason I would want to relicense bsnes to the ISC license upon its official -discontinuation is because once again, no one is an oracle, and I cannot predict -what future issues bsnes permanently remaining under the GPLv3 license may -cause. - -For instance, imagine a world where a certain vendor took over the world, and -the only way to distribute applications was with their approval, and their store -rules forbade GPLv3 software. Or perhaps a world where the GPL was abandoned in -favor of the new OSSv1 license. But GPLv3 software was incompatible with the -OSSv1 license. Other open source developers would not be able to use bsnes in -that scenario. - -It would be very disappointing if all of our work ended up unusable 50+ years -into the future because it was permanently bound to the GPLv3 license. - -GPLv3 ------ - -The reason I use the GPLv3 license currently is because it is a balance between -altruism and self-interest. The GPLv3 allows other vendors to sell my own code -without sharing revenue with me, and indeed this has already happened. But the -GPLv3 also prevents other vendors from improving upon bsnes without sharing -their work with everyone else as I have. - -While I am actively developing bsnes, I do not wish to compete against myself. - -As such, I believe the GPLv3 is the best license during active development, and -the ISC is the best license once bsnes is officially discontinued. - -Considerations --------------- - -This is the part that should concern you as a contributor: I am not requesting -contributed source code to be released under the ISC so that I personally may -sell GPLv3 commercial license exemptions to your work, but in the future when -bsnes is released under the ISC license, that will open the door for anyone to -sell the work commercially in a closed source form. - -If this is not acceptable to you, I wholly understand and I welcome you to -release your work under the GPLv3 in the form of a bsnes fork. And if your work -is not an essential part of the core emulation -- that is to say, it may be -optionally disabled -- then I am still willing to work with you in merging such -work upstream anyway under the full GPLv3 license, but please reach out to me -first before developing under the assumption your work will be merged upstream. - -Thank you very much for reading and hopefully for your understanding. diff --git a/CREDITS.md b/CREDITS.md index fd658f9a..b3681461 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,4 +1,4 @@ -bsnes was created and is maintained by byuu (Near), but many people have contributed to the project. +bsnes was originally developed by byuu, and is now a group project. This software would not be where it is today without the help and support of the following individuals: @@ -6,8 +6,10 @@ This software would not be where it is today without the help and support of the - Ange Albertini - anomie - AWJ + - BearOso - Bisqwit - blargg + - byuu - Łukasz Krawczyk - Danish - DerKoun @@ -39,6 +41,7 @@ This software would not be where it is today without the help and support of the - Overload - p4plus2 - quequotion + - qwertymodo - RedDwarf - Richard Bannister - Ryphecha @@ -52,4 +55,5 @@ This software would not be where it is today without the help and support of the - wareya - zones -If your contributions have been missed here, please reach out [here](https://byuu.org/contact) to have this corrected, thank you! +If you feel you are missing from this list, please submit a pull request and we will be happy to add your name here! + diff --git a/LICENSE.txt b/LICENSE.txt index d0522524..f9ffd261 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,14 +1,14 @@ ---------------------------------------------------------------------- bsnes - Super Nintendo emulator - Copyright © 2004-2019 byuu + Copyright © 2004-2020 byuu et al - https://byuu.org + https://github.com/bsnes-emu This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation, specifically version 3 of the License -and no other version. +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -25,7 +25,7 @@ nall - C++ template library ruby - Hardware abstraction library hiro - User interface library - Copyright © 2006-2019 byuu + Copyright © 2006-2020 byuu et al Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the diff --git a/README.md b/README.md index faf74468..c5689a1a 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,11 @@ bsnes ===== -![bsnes logo © byuu](https://byuu.org/images/bsnes/github/byuu-bsnes-logo.png) +![bsnes logo](https://byuu.org/images/bsnes/github/byuu-bsnes-logo.png) -bsnes is a multi-platform Super Nintendo (Super Famicom) emulator from -[byuu](https://byuu.org/about) that focuses on performance, features, and ease -of use. - -Development ------------ - -Git is used for the development of new releases, and represents a staging -environment. As bsnes is rather mature, things should generally be quite stable. -However, bugs will exist, regressions will occur, so proceed at your own risk. - -If stability is required, please download the latest stable release from the -[official website.](https://byuu.org/bsnes) +bsnes is a multi-platform Super Nintendo (Super Famicom) emulator, originally +developed by [byuu](https://byuu.org/about), which focuses on performance, +features, and ease of use. Unique Features --------------- @@ -66,27 +56,20 @@ Standard Features Links ----- - - [Official website](https://byuu.org/bsnes) - - [Official git repository](https://github.com/byuu/bsnes) - - [Donations](https://patreon.com/byuu) - -Release Builds --------------- - - - [Windows binaries](https://byuu.itch.io/bsnes) + - [Official git repository](https://github.com/bsnes-emu/bsnes) Nightly Builds -------------- - - [Download](https://cirrus-ci.com/github/byuu/bsnes/master) - - ![Build status](https://api.cirrus-ci.com/github/byuu/bsnes.svg?task=windows-x86_64-binaries) - - ![Build status](https://api.cirrus-ci.com/github/byuu/bsnes.svg?task=macOS-x86_64-binaries) - - ![Build status](https://api.cirrus-ci.com/github/byuu/bsnes.svg?task=linux-x86_64-binaries) - - ![Build status](https://api.cirrus-ci.com/github/byuu/bsnes.svg?task=freebsd-x86_64-binaries) + - [Download](https://cirrus-ci.com/github/bsnes-emu/bsnes/master) + - ![Build status](https://api.cirrus-ci.com/github/bsnes-emu/bsnes.svg?task=windows-x86_64-binaries) + - ![Build status](https://api.cirrus-ci.com/github/bsnes-emu/bsnes.svg?task=macOS-x86_64-binaries) + - ![Build status](https://api.cirrus-ci.com/github/bsnes-emu/bsnes.svg?task=linux-x86_64-binaries) + - ![Build status](https://api.cirrus-ci.com/github/bsnes-emu/bsnes.svg?task=freebsd-x86_64-binaries) Preview ------- -![bsnes user interface © byuu](https://byuu.org/images/bsnes/github/byuu-bsnes-user-interface.png) -![bsnes running Bahamut Lagoon © byuu](https://byuu.org/images/bsnes/github/byuu-bsnes-bahamut-lagoon.png) -![bsnes running Tengai Makyou Zero © byuu](https://byuu.org/images/bsnes/github/byuu-bsnes-tengai-makyou-zero.png) +![bsnes user interface](https://byuu.org/images/bsnes/github/byuu-bsnes-user-interface.png) +![bsnes running Bahamut Lagoon](https://byuu.org/images/bsnes/github/byuu-bsnes-bahamut-lagoon.png) +![bsnes running Tengai Makyou Zero](https://byuu.org/images/bsnes/github/byuu-bsnes-tengai-makyou-zero.png) diff --git a/bsnes/emulator/emulator.hpp b/bsnes/emulator/emulator.hpp index cb172969..1391d0b3 100644 --- a/bsnes/emulator/emulator.hpp +++ b/bsnes/emulator/emulator.hpp @@ -30,9 +30,9 @@ using namespace nall; namespace Emulator { static const string Name = "bsnes"; static const string Version = "115"; - static const string Copyright = "byuu"; - static const string License = "GPLv3"; - static const string Website = "https://byuu.org"; + static const string Copyright = "byuu et al"; + static const string License = "GPLv3 or later"; + static const string Website = "https://github.com/bsnes-emu"; //incremented only when serialization format changes static const string SerializerVersion = "115"; diff --git a/bsnes/target-bsnes/presentation/presentation.cpp b/bsnes/target-bsnes/presentation/presentation.cpp index 4d61c64e..29bea86b 100644 --- a/bsnes/target-bsnes/presentation/presentation.cpp +++ b/bsnes/target-bsnes/presentation/presentation.cpp @@ -199,9 +199,9 @@ auto Presentation::create() -> void { .setLogo(Resource::Logo) .setDescription("Super Nintendo emulator") .setVersion(Emulator::Version) - .setCopyright("byuu") - .setLicense("GPLv3") - .setWebsite("https://byuu.org") + .setCopyright(Emulator::Copyright) + .setLicense(Emulator::License) + .setWebsite(Emulator::Website) .setAlignment(*this) .show(); });