From b5b12d9f1e3e285392af4e313940e94ae152764d Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Wed, 2 Feb 2022 21:33:32 +0000 Subject: [PATCH 01/12] Revert "add Meeting invite" This reverts commit 9dc6e3dd8babe99e24edd4b13bd9c64fc942a519. --- chat-with-us.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/chat-with-us.md b/chat-with-us.md index ee7cfdc..9deb48e 100644 --- a/chat-with-us.md +++ b/chat-with-us.md @@ -15,20 +15,6 @@ New projects should take advantage of [FreeGameDev]'s cross-platform integration [Discord]: https://drewdevault.com/2021/12/28/Dont-use-Discord-for-FOSS.html [FreeGameDev]: https://freegamedev.net/d/153-what-can-the-freegamedev-chat-do-for-me -## Next Meeting - -Anyone interested in playing and developing [libre games] in invited to join us on [Mumble] voice chat on [2022-01-30 at 20:00 UTC](https://time.is/compare/2000_30_Jan_2022_in_UTC) by connecting to `hribhrib.at`. Some things we might be discussing: - -[libre games]: https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/play-libre-games.md -[Mumble]: https://www.mumble.info/downloads/ - -- General review of last 6 months, what is/isn't working for libregaming.org? -- Chat channels: privacy, moderation, working groups, on-topic -- Service (de)centralisation -- provide a place and encouragement for devs to interact (freegamedev.net?) -- general goals and level of ambition, as well as how "growth" oriented/cohesive -- collaborative focus day with a shared todo list - ## Official chatrooms - *matchmaking*: matchmaking service/bot to find people to play with From 3b3e2ec1a6c091cd02b033c0477c0367faa7d7a3 Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Sat, 7 Aug 2021 22:51:48 +0100 Subject: [PATCH 02/12] import meeting minutes from pad * collaborative anonymous editing, but list known contributors * https://scalar.vector.im/etherpad/p/!qLhNfILESSCaasbRWB_freedombox.emorrp1.name_Meet Co-authored-by: Sebastian Crane Co-authored-by: hribhrib Co-authored-by: spongycake Co-authored-by: infrared Co-authored-by: poVoq --- 2021-08-07 | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 2021-08-07 diff --git a/2021-08-07 b/2021-08-07 new file mode 100644 index 0000000..14ef660 --- /dev/null +++ b/2021-08-07 @@ -0,0 +1,79 @@ + + +# Libre Gaming meeting minutes + +## Attending + +hribhrib, TtotheORY, emorrp1, Rampoina, infrared, seabass, f-a, poVoq, freem, Felix, Myrrdin, pkill9, franzo2, ericxdu, tofu + +## Agenda + +Get to know people and their background +This meetings should be for: Setting a deadline for decisions; talking about the topics that came up; setting future goals. +I think for opensource-focused communities like this it would be great to have like a "council" of people who WANT to take responsablities and make decisions BASED on the discussion of the community. +What are the goals? What problems are we solving? What is Libre Gaming not about? What do we want to do differently this time around? +Mechanism to send money around to share small one-off or ongoing costs. Currency? +Writing content +Improving the matchmaking bot - iterate on the current one, or write into a bot framework? +LibreGames launcher? + +### What is Libre Gaming about + +Development +Multiplayer games? +Discussing singleplayer games? +Bringing together developers and play-testers +Highlighting Libre games to play with +Making it easier to people to play the games (Launcher / auto-updater)? +GameDev/GameTest, PlayTogether, Communities, Games, Projects + +### Matrix, XMPP + +New user familiarity (emorrp1: IRC and XMPP hard for new users, povoq; disagreed) +Large public rooms +Guest access +Matrix has benefit of nested spaces, bridging and rich content +recommend tchncs.de if you have no account yet +hribhrib would delete, poVoq noticed people use IRC +TBD +TBD Get rid of this horrible Matrix stuff :p + +### Working Groups / Projects + +* not so much setting up and organizing projects, but providing infra as needed and raising awareness +* things like libre overlays, launcher, lobby, libraries/general code sharing, achievements etc +* drive adoption of projects across games + +### Domain Name + +* libregaming.org - emorrp1 +* post list of people and email addresses to create git accounts for +* domain points to various services hosted by various people + +## Any Other Business + +Game server hosting? +Tutorials for easy game server hosting from home or a VPS? +Matchmaking, organized tournaments? +Host a reddit alternative? https://join-lemmy.org ? teddit.net (only a frotend for reddit) +Project room to highlight gaming projects by members inside libregaming. Project owners could benefit from call-for-help announcements, where advertising for volunteers/job positions is possible. For example, Derby Game by Open source_gaming is looking for an environment designer. + +## Actions + +- Snatch «libregaming.org» +- Buyer shares IBAN/paypal to get some of it back (accounting?) +- Website repo at https://git.hribhrib.at/LibreGaming/libregaming-website + +## Comments + +- naming: libregaming.org will do +- emorrp1: we need to decide what we want to be. There are some internet spots for linux gaming, but *not* for libregaming (making people aware of librgamenight etc.). +- poVoq: libregamenight and friends seems multiplayer focused. freegamedev idea was: bring devs and tester together, *but* mostly *single player* oriented in praxis. Another org could focus on multi. +- infrared: LGN is not just multiplayer, there was SP discussion too (strategies, etc. see Mindustry). What has a legacy of LGN: some doocracy. the line between dev and player nowadays is blurred a lot. Disctinctions less important at the end. +- rampoina: basic idea. We like libregames and we would like more people to play it. PEople to find it and play it in a neat way. evangelizing is not great - inform people of advantages of libre and let them decide for themselves (infrred: laid-back advocacy) +- emorrp1: a curated list (good games! not just every game under the sun) is paramount, game ratings, reviews +- Chris L: resources for hosting/setting up (libregamenight once had pages that detailed version to be played, how to compile, how much tutorial is needed to play etc) +- infrred: not auto-update but version matching between people wanting to play together +- Libre tabletop/card/board games very welcome! +- Clear licensing upfront for web-content (CC-0, CC-by, CC-by-SA) +- southerntofu: noting strong dislike for domain name registrars From 1e32a037eb1e222cb5948e66e3495ceb52799ae1 Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Wed, 2 Feb 2022 22:20:36 +0000 Subject: [PATCH 03/12] import meeting #2 minutes from pad * collaborative anonymous editing, unknown contributors * https://md.roflcopter.fr/ob_FFN4mTCu5oIAMKu1oLQ * need .md extension to automate rendering in gitea --- 2021-08-07 => 2021-08-07.md | 2 +- 2022-01-30.md | 60 +++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) rename 2021-08-07 => 2021-08-07.md (99%) create mode 100644 2022-01-30.md diff --git a/2021-08-07 b/2021-08-07.md similarity index 99% rename from 2021-08-07 rename to 2021-08-07.md index 14ef660..36aadec 100644 --- a/2021-08-07 +++ b/2021-08-07.md @@ -1,6 +1,6 @@ -# Libre Gaming meeting minutes +# Libre Gaming meeting minutes #1 ## Attending diff --git a/2022-01-30.md b/2022-01-30.md new file mode 100644 index 0000000..5012227 --- /dev/null +++ b/2022-01-30.md @@ -0,0 +1,60 @@ + + +# Libre Gaming meeting minutes #2 + +## Attending + +artchad, Cesar, DeathByDenim, emorrp1, Felix, Livio, poVoq, SeanCJ, sm2n, ThinkSome, vvbudh, franzo, OptimusDU, spongy, Rampoina, freem, infrared + +## Agenda + +* about libre games and libregaming.org + * organisation formation + * assets, CC, engine, NC, opengameart.org +* round of introductions +* General review of last 6 months, what is/isn’t working for libregaming.org? + * subdomains (manual dynamic dns) + * website - have content, server, need CMS / SSG + * spongy working on "design language" documentation + * sm2n interested in doing the SSG + * co-ordination channel? - #libregaming-workshop + * port forwarding/relay solution? + * TCP solved - send emorrp1 your ssh-ed25519 key + * UDP difficult, yggdrasil, miredo, [ipv6 vlan], [spring relayhost] + * Not aware of any UDP solution that only needs the host to manage the setup +* Chat channels: privacy, moderation, working groups, on-topic + * Organisational space? + * Bridging #chamber to IRC? Or another channel for high volume website chat? + * Official Mumble server with [mumble-web] interface (and maybe [Discord voice bridge])? + * idea to have game-specific contacts to cross communities +* Service (de)centralisation + * FreeGamedev.net can host stuff, but the bus factor is currently more or less 1 +* provide a place and encouragement for devs to interact (freegamedev.net?) + * A more open social media forum (Lemmy?) could be good for devs to create communities easily? +* general goals and level of ambition, as well as how “growth” oriented/cohesive + * Keep it small intentionally? + * Community building! Promoting niche games? + * Organized "mobs" to promote libregaming (with devs?), similar to Gaming on Linux? + * Long term goal: some sort of Steam like launcher & integrated game ratings + community? +* collaborative focus day with a shared todo list + * Writing on tutorials? Outreach to specific communties to "commission" contributions? + * hackathon kind of thing? What kind of topics? +* cross-cutting concerns: matchmaking, netdev, community management, servers, ratings + +[ipv6 vlan]: https://leagueh.xyz/en/cafe-babe.html +[spring relayhost]: https://github.com/spring/relayhost +[mumble-web]: https://github.com/Johni0702/mumble-web +[Discord voice bridge]: https://github.com/Stieneee/mumble-discord-bridge + +## Any Other Business + +* play 0ad, themanaworld, mindustry +* try to organize the next meeting before end of March. Maybe make this a monthly or at least quarterly thing? +* we did *not* discuss moderation in the end + +## Actions + +* emorrp1 to fix dangling rooms and bridge discussion for website +* hribhrib to grant some git access +* poVoq to arrange next meeting unless someone else does it first +* sm2n to work on website From c049dcf330c36f6aec7d84633fe681077ff619cd Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Wed, 11 Aug 2021 23:42:35 +0100 Subject: [PATCH 04/12] import launcher idea from pad * collaborative anonymous editing, but list known contributors * https://scalar.vector.im/etherpad/p/!qLhNfILESSCaasbRWB_freedombox.emorrp1.name_launch Co-authored-by: infrared Co-authored-by: librebob Co-authored-by: poVoq --- game-launcher-concept.md | 198 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 game-launcher-concept.md diff --git a/game-launcher-concept.md b/game-launcher-concept.md new file mode 100644 index 0000000..7e45a6e --- /dev/null +++ b/game-launcher-concept.md @@ -0,0 +1,198 @@ + + +# Brainstorm about a libre-games launcher + +## Media player UI (aka Steam big picture) +- Lots of projects focussing on that especially in the Emulation space +- Would be a nice feature to have +- KODI would be probably the best platform, but running it in Window-mode looks bad. + - KODI has a build in webserver a could be remote controlled via a web-interface / electron app + +## Types of possible packages / repositories (for Linux) + +Maybe it would be useful to support several types of repositories? + +- Appimage + - +: decentralized, PGP support, delta/differential upgrades + - -: no repositories yet, no windows support, updates rarely supported +- Flatpak + - +: decentralized, some sandboxing, delta updates, deduplication, repositories, appstream data + - -: some sandbox edge-cases make games suck with it (eg. to install mods), no windows support +- 0install.net + - +: truly cross-platform format for install/update, can interop with AppImages + - -: we haven't really tested it, also no delta upgrades +- Guix/Nix + - +: reproducibility, security, easy to ensure that upgrades build + - -: no integration for desktop files (menu entries) on foreign distro, no windows support (cross-compiling using mingw should be possible?) +- Packages for every different distro (too hard to maintain) +- tgz with statically linked binaries (AppImage is that, but better) +- Snap (centralized rapository) not seriously considered because it is too centralized + +## Frontend - Backend seperation? +- Leverage existing CLI backend systems (which?) +- Utilize existing front-end launcher type projects +- Less integration and advanced features possible (why?) + +## Own repository? + +Should we provide a new repository for games, or reuse an existing one? There is already a number of games on Flathub/Snapstore, however: +- we're not sure these packages are maintained by upstream or by a benevolent team of volunteers (risk of malware) +- we're not sure these packages will receive updates (see above) +- there are no packages for nightly updates or beta/RC releases + +So we consider whether to serve a repository of our own. + +Upsides: +- Own repository would allow better curation and trust chain +- we can add games that are not packaged elsewhere, and ensure all games we want to support are available through the same channel (not Flathub for one game, snap for another, etc) +- More complete "service", not "just" another frontend +Downsides: +- really time consuming <-- really? should be a simple CI script +- server costs <-- is there that many games to package? a very small VPS should do it, as long as it has enough RAM (~4GB should be enough for most games), need a lot of disk space though +- cross compilation issues + +### PROPOSAL 1: 0install repository + +Since we aim to support multiple platforms, we need a cross-platform packaging format. The only candidate so far is https://0install.net/: + +- releases for multiple architecture +- source release with automated compilation instructions +- PGP signatures for all package "feeds" +- there's already a GUI for everything +- non-stable releases (nightly, beta..) +- multiple package sources + +In order to reduce server storage/network costs, we should serve files over IPFS or Bittorrent. IPFS has a clear advantage, in that IPNS enables us to have a stable "feed" address with a corresponding PGP key. + +On a high-level, the build system could operate like this: + +- Keep a local cache of upstream versions to package, so that we know when an upstream release is new +- Check for upstream updates (eg. via RSS), extract corresponding git tags +- If upstream repository is signed, verify PGP signatures on commits (eg. `guix git authenticate`) +- If an update was found, try to build for all platforms + - If a platform does not build or run tests successfully + - Publish the build log on the website + - Inform admins via email, XMPP... + - If a build was successful + - Create the 0install manifest containing checksums for this new build + - Add the new manifest to the application's feed + - If one or more builds were successful + - Sign the application's feed with the repository's PGP key + - Publish the new feed and corresponding builds on HTTP and IPFS/IPNS + +In case a release build has failed, it is expected that either our repository's build steps will be updated. In that case, all manifests for the current release should be unpublished, and the release process for that version starts anew. If the problem was upstream and they have to publish a new tag, a normal release process ensues and the previous version will only have the previously-successful builds published. + +**TODO:** When updating our repository's build steps, should it rebuild all packages? Should we run a git diff to see which application's build steps have been altered, and trigger a rebuild for the last release for those? + +In addition, a nightly cron job should run to publish nightly releases: + +- Check for upstream updates on main branch +- If upstream repository is signed, verify PGP signatures on commits +- If new commits have been published, publish a new "nightly" release following the algorithm explained above + +### PROPOSAL 2: AppImageUpdate repository +- https://github.com/AppImage/AppImageUpdate +- Decentralized and with delta-updates +- Hosting own repo is basically just putting appimage files on a server +- CDNs supported to lower traffic load on server (IPFS support feasible?) +- Already supported by Suse open-build service +- People can easily add their own 3rd party appimages (if those include the needed metadata) +- (negative) No good front-end integration yet? +- (negative) Appimages are Linux only + +## Cross-platform? +### Windows support? +- Reality: even for libre games, most players are on Windows +- In Windows the need for a launcher is even higher as there are no good alternatives +- Windows sucks and we probably don't have any windows using developers +- Difficulties to cross-compile (MinGW etc.) +### Chromebook support? +- Really increasing market share (at least in the US) +- Lots of young players on school chromebooks, Minetest etc. probably popular +- Has Linux binary support in some way, but not that easy? <-- it's a system similar to wine, enabled by the user in system settings +- partial flatpak support https://flatpak.org/setup/Chrome%20OS/ +### Android support? +- Completely different ecosystem, but some existing libre games have ports +- Could be just an curated f-droid repository <-- an F-Droid build server is considerably more difficult to setup than any other kind of repository + +## Text chat support +- IRC: + - Easy to include, but basic. + - No good friend-lists like system. + - No account required + - No voice-chat +- XMPP: + - coverers all the needs and easy to host + - Good friend-list feature and custom status messages + - Good embeddable Javascript clients available (JSXC or maybe ConverseJS) + - Less good Discord like web-chat (But Movim might be an option) + - Built in p2p voice chat (possible server supported voice-chat in the near future) + - JSXC: Embeddable, has WebRTC voice & video chat + screensharing, e2ee, sidebar for friend-list + +- Matrix: + - No ready to embed client? + - Good friend-list feature + - Rich content + - More Discord like + - Resource intensive to host an instance, clients are also resource-intensive + - No (yet) built in voice-chat (I think 1 on 1 calls use their own protocol but not 100% sure about that <-- they use Jitsi integration for that) +- Mumble: + - Great audio-chat + - Text-chat very simple + - Mumble-web could be embedded + - No friend-list feature + +## Other ideas +### Screen overlay features? +- Is there a way to allow an easy to access screen-overlay like in Steam? +## Video streeming support +- Possible to include some sort of video recording /streaming support? +- Quick video replay feature? +- Screensharing via WebRTC might be easy to include + +## Front-end +### Native (qt or GTK etc.) +- Fast and low resource +- Need to build everything from scratch more or less +- Cross-platform more difficult +- Some existing Qt projects (Athenaeum, gamehub) +### Electron based +- Resource hogg +- Easy to include javascript based systems for chatting etc. (Mumble-web, JSXC) +- Nice existing game-launcher systems (Heroic launcher, itch.io) +### Tauri https://tauri.studio/en/ +- Electron like, but more lightweight and with a Rust backend +- No WebRTC yet (planned), kind of deal breaker if we want to support WebRTC audio-chat/screensharing +- Possibly Mobile and WASM (PWA?) targets in the future +### Spring lobbies +- Not tied to spring games +- multiple implementations to choose from (chobby, ...) +- IRC-like chat, friends list +- Version matching +- No voice or rich content implemented +### CLIM +- Nerd points +- ??? +- lisp lurker points + +## Existing projects +- https://flathub.org/apps/details/com.gitlab.librebob.Athenaeum +- https://wiki.gnome.org/Apps/Games +- https://tkashkin.tk/projects/gamehub/ + +## Relevant similar projects +- https://github.com/prateekmedia/appimagepool (Flutter based Appimage store) +- Spring lobby clients (SprintRTS engine specific) +- Lutris (Fronend for multiple stores, emulators and WINE) +- Airshipper (Game specific for Veloren. Updater and news feed reader) +- Unvanquish updater (Game specific, only updater) +- KODI (media station, mainly for fullscreen use. Games/Emulator support work in progress) +- EmulationStation / RetroArch (Fullscreen, very emulation focussed) +### Open-source store front-ends +- Heroic launcher https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher (electron) +- https://github.com/Dummerle/Rare (Native client, Python & qt) +- https://github.com/sakshatshinde/Plei (Python) +- itch.io app https://github.com/itchio/itch (browserbased) +- Desurium: https://github.com/desura/Desurium (browser based?) +### Other launcher concepts +- https://github.com/AykutSarac/epic-games-clone (seems more like a student project, react based) From 24e058eb4a1fa685d164eebd8a0a1466555618ae Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Thu, 12 Aug 2021 23:49:26 +0100 Subject: [PATCH 05/12] update launcher with better formatted pad * collaborative anonymous editing, unknown contributors * https://md.roflcopter.fr/launcher --- game-launcher-concept.md | 406 +++++++++++++++++++++++++++------------ 1 file changed, 279 insertions(+), 127 deletions(-) diff --git a/game-launcher-concept.md b/game-launcher-concept.md index 7e45a6e..85d8b59 100644 --- a/game-launcher-concept.md +++ b/game-launcher-concept.md @@ -1,41 +1,158 @@ -# Brainstorm about a libre-games launcher +# Libre launchers -## Media player UI (aka Steam big picture) -- Lots of projects focussing on that especially in the Emulation space -- Would be a nice feature to have -- KODI would be probably the best platform, but running it in Window-mode looks bad. - - KODI has a build in webserver a could be remote controlled via a web-interface / electron app +This document is a brainstorming around FLOSS games launchers. The rationale is: -## Types of possible packages / repositories (for Linux) +- The gaming world has switched to centralized, non-free gaming platforms with auto-updates and social features +- FLOSS games usually lack discoverability, updates, and social features +- Existing launchers are very resource-heavy -Maybe it would be useful to support several types of repositories? +# Table of Contents -- Appimage - - +: decentralized, PGP support, delta/differential upgrades - - -: no repositories yet, no windows support, updates rarely supported -- Flatpak - - +: decentralized, some sandboxing, delta updates, deduplication, repositories, appstream data - - -: some sandbox edge-cases make games suck with it (eg. to install mods), no windows support -- 0install.net - - +: truly cross-platform format for install/update, can interop with AppImages - - -: we haven't really tested it, also no delta upgrades -- Guix/Nix - - +: reproducibility, security, easy to ensure that upgrades build - - -: no integration for desktop files (menu entries) on foreign distro, no windows support (cross-compiling using mingw should be possible?) -- Packages for every different distro (too hard to maintain) -- tgz with statically linked binaries (AppImage is that, but better) -- Snap (centralized rapository) not seriously considered because it is too centralized +[ToC] -## Frontend - Backend seperation? -- Leverage existing CLI backend systems (which?) -- Utilize existing front-end launcher type projects -- Less integration and advanced features possible (why?) +# Ecosystem review -## Own repository? +## Existing projects + +There's already quite a few projects in this field, so let's try to make a comparison table: + +| Client | Multi-platform | Social | Multirepo ⁽⁰⁾ | Native UI | Compiled | Overlay | Translations | Runners ⁽¹⁾ | +--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: +| [Athenaeum](https://gitlab.com/librebob/athenaeum) | ✅
MacOS, GNU | ⚙️ | ❌ ⁽²⁾
Flathub | ✅
Qt | ❌ | ❌ | ✅ | ❌ ⁽²⁾ | +| [Lutris](https://github.com/lutris/lutris) | ❌ | ⚙️ | ✅
GoG, Steam, Humble Bundle | ✅
Qt | ❌ | ❌ | ✅ | ✅ | +| [GNOME Games](https://wiki.gnome.org/Apps/Games) | ❌ | ❌ | ✅
Flatpak | ✅
GTK | ✅ | ❌ | ✅ | ❌ +| [Gameshub](https://github.com/tkashkin/GameHub) | ❌ | ❌ | ✅
Steam, GoG, Itch Humble Bundle | ✅
GTK | ✅ | ❌ | ✅ | ✅ | +| [AppImagePool](https://github.com/prateekmedia/appimagepool) | ❌ | ❌ | ✅ AppImages | ~
Flutter | ❌ | ❌ | ❌ | ❌ | +| [Plei](https://github.com/sakshatshinde/Plei) | ? ⁽³⁾ | ❌ | ❌ ⁽⁴⁾
Steam, uPlay, Origin, Epic | ✅
Tkinter | ❌ | ❌ | ❌ | ✅ | +| [itch](https://github.com/itchio/itch) | ✅
MacOS, GNU, Windows | ❌ | ❌
Itch | ❌
ElectronJS | ❌ | ❌ | ✅ | ❌ | +| [retroarch](https://www.retroarch.com/) | ✅
MacOS, GNU, Windows | ❌ | ❌ | ✅
Custom | ✅ | ✅ | ✅ | ❌ ⁽⁵⁾ | +| [Spring](https://github.com/springlobby/springlobby) | ✅
MacOS, GNU, Windows | ✅ | ❌ ⁽⁶⁾
SpringRTS | ✅
wxwidgets | ✅ | ? | ✅ | ❌ ⁽⁶⁾ | +| [KODI](https://kodi.tv/) | ✅
MacOS, GNU, Windows | ❌ | ? | ✅
Custom⁽⁷⁾ | ✅ | ? | ✅ | ? | + +⚙️ means the feature is planned but has not been implemented. Ideally, we'd have links to issues describing plans/ideas about said feature. + +**⁽⁰⁾** **Multirepo** means the launcher can download games from multiple sources, potentially with different protocols. +**⁽¹⁾** **Runners** are different programs to run the games (eg. emulators) on the same platform. Games obtained on the same repository can leverage different runners. +**⁽²⁾** Athenaeum technically has different repositories and runners, but only one per platform (flathub.org on free systems, homebrew on MacOS) +**⁽³⁾** Plei runs on Windows, not sure about other platforms +**⁽⁴⁾** Plei supports multiple repositories, but only non-free centralized stores (Origin/UPlay/Steam..) +**⁽⁵⁾** Retroarch supports multiple runners, but there is currently no runner for native games +**⁽⁶⁾** SpringLobby only supports games from the SpringRTS engine. +**⁽⁷⁾** OpenGL based fullscreen app (windowed mode possible) + +The following clients were not included in the comparison because there's a simple frontend for a single store (eg. Epic Store), but could be forked: + +- [Heroic launcher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher) Epic Store client (ElectronJS) +- [RARE launcher](https://github.com/Dummerle/Rare) Epic store client (Qt5) +- [Desura](https://github.com/desura/desura-app) Friv store client (GTK2) + +The following clients were not included because they're a simple frontend for a single game, but show that there is a demand for such an updater/launcher even in FOSS games: + +- [AirShipper](https://book.veloren.net/players/airshipper.html) updater for [Veloren](https://veloren.net/) FLOSS game +- Unvanquish updater (**TODO:** find a screenshot) + +# Feature wishlist + +In this section, we make a detailed wishlist for features an ideal libre games launcher should have. + +## Games setup + +- Managing game repositories +- Listing available/installed games, with a filtering system for repos/runners +- Installing & updating the games +- Launching the games, tweaking CLI options + +## Social features (optional) +- Accounts + - Offer hosted accounts? + - Make it possible to bring-your-own account + - Pseudo-nymous access without account if possible? + - Offline accounts for LAN etc. +- Contacts + - Adding/removing friends + - Adding/removing friends to specific groups +- Joining games/servers + - Seeing/joining games friends are advertising + - Advertising the games you join, unless you're in private mode; optionally, allow to advertise games only to certain groups of contacts + - Invitations to join a game +- Chatting + - Private chatting with friends + - Public, pseudonymous chatting per game or server (eg. SuperTuxKart chatroom, and/or a STK server chatroom) + - Groupchats for teams? +- Audio-chat + - P2P for small groups (WebRTC? Jingle? Jami?), server-backed for larger groups (Mumble? WebRTC with SFU?) + - Can be for contact groups, 1-on-1 chats, or per-game/server chats + - Different server backends should be easy to configure (Mumble/Jingle) and/or there should be an easy-to-setup bridge server-side so people who don't use a compatible launcher can join using a standard 3rd-party client + +## Game library +- Personal game library + - Advertising which games you play ("own") + - Opt-in achievements system (like [Gamerzilla](http://identicalsoftware.com/gamerzilla/)) ; see anti-features section about the attention economy and addiction + - Developer feedback and bug tracking link + - Donation link? + - Matchmaking + - Mods setup ; for games who already have an addon server, we could extract metadata from there and distribute proper packages Mumble (eg. flatpak/0install) + - Per server/team text and/or audio chatting +- Public game library + - Game highlights/curation + - Game news: RSS from game homepage, proxied via repositories? + - Popularity tracking (opt-in) + - Searchable index with (user provided?) tags + - User provided game reviews + - More relevant for an app-store (i.e. risk of feature creep) + - Spam, offensive content, review bombing, moderation workload + - Negative reviews very demotivating for volunteer developers + +## Video streaming support + +- Cross-platform instant replay integration? see [ReplaySorcery](https://github.com/matanui159/ReplaySorcery) for free systems +- UI to publish those instant replays after reviewing (once the game has ended) +- Integration with OBS to automatically start certain scenes and/or trigger transitions? +- P2P screen-sharing to friends (popular on Discord also helpful for setup etc.) +- In-home streaming between devices? Something like [Moonlight](https://moonlight-stream.org/) integration + +## Alternative user interface + +It would make sense to develop a backend-first games launcher, on top of which different UI frontends can be prototyped. Some features could be: + +- a "media player" UI (like Steam Big Picture mode) +- an ingame opt-in overlay, triggered with a common keybinding, for social interactions, like [MangoHud](https://github.com/flightlessmango/MangoHud) or Mumble but for social networking (like Steam social overlay triggered with Ctrl+Tab) +- Remote control via a web-interface or mobile app for updates and launching games? + +## Games integration + +In addition to providing features for games from the outside, some games could integrate with free launchers using a specified free protocol: + +- each game may have its own URI format for designating servers, but maybe the protocol is common (eg `game:`) +- bi-directional communication between the game and the launcher take place on a local socket or equivalent depnding on the platform; this socket may be advertised via an environment variable, and both programs must have permissions to read/write +- all interactions need to be further defined using ActivityStreams 2.0 JSON, XMPP XML stanzas, or Matrix JSON stanzas +- from the launcher to the game: + - a private chat message has been received + - user has been connected to a game/server groupchat + - someone is talking with voice in groupchat + - an invitation to join a game/server has been received + - user is requesting to join a specific game/server + - a friend invitation has been received +- from the game to the launcher: + - user invited someone to friend list + - user invited someone to join their game/server + - user sent a message + - user has joined a game/server + - user made an achievement + - user achieved a certain score (usually at the end of game, to opt-in collect stats about played games) + +With a such protocol, it becomes possible (in addition to switching windows and/or an overlay UI) to have games integrate social interactions directly within their UI. This means that: + +- they don't have to if they don't want to work on that +- if they have sufficient resources to study their UX, they may provide well-integrated notifications and/or social interaction GUI +- games with existing social channels using the same underlying protocol (eg. XMPP/Matrix) would be easily integrated into the launcher (other protocols may be bridged/gatewayed) + +# Libre games repository Should we provide a new repository for games, or reuse an existing one? There is already a number of games on Flathub/Snapstore, however: + - we're not sure these packages are maintained by upstream or by a benevolent team of volunteers (risk of malware) - we're not sure these packages will receive updates (see above) - there are no packages for nightly updates or beta/RC releases @@ -43,15 +160,26 @@ Should we provide a new repository for games, or reuse an existing one? There is So we consider whether to serve a repository of our own. Upsides: + - Own repository would allow better curation and trust chain - we can add games that are not packaged elsewhere, and ensure all games we want to support are available through the same channel (not Flathub for one game, snap for another, etc) - More complete "service", not "just" another frontend -Downsides: -- really time consuming <-- really? should be a simple CI script -- server costs <-- is there that many games to package? a very small VPS should do it, as long as it has enough RAM (~4GB should be enough for most games), need a lot of disk space though -- cross compilation issues +- By making our own repository infrastructure fully FLOSS, we can make it easier for others to make new repositories (for example for abandonware) -### PROPOSAL 1: 0install repository +Downsides: + +- can become a lot of work to fix builds, when there are a lot of packages +- cross compilation is hazardous +- server costs + - server doesn't need to be too beefy, as long as we don't try to build several packages in parallel (2 threads and 4GB RAM should be enough for the build server) + - need a lot of storage space so we can serve the last N releases + - people/organizations could volunteer HTTP mirrors + - we could also use a P2P content-addressed network like IPFS/IPNS to reduce network costs + - budget could be [15-25€/month](https://www.kimsufi.com/fr/serveurs.xml) for a build server with 8 threads and 2-4TB storage; could it be the same machine that provides the repo, too? + +## PROPOSAL 1: 0install repository + +**Note:** Maybe distributing AppImages on GNU/Linux and *BSD via 0install would be interesting, so that the games can be copied around when there is no network. On Windows and Mac, .exe and .app should do that already. Since we aim to support multiple platforms, we need a cross-platform packaging format. The only candidate so far is https://0install.net/: @@ -82,7 +210,7 @@ On a high-level, the build system could operate like this: In case a release build has failed, it is expected that either our repository's build steps will be updated. In that case, all manifests for the current release should be unpublished, and the release process for that version starts anew. If the problem was upstream and they have to publish a new tag, a normal release process ensues and the previous version will only have the previously-successful builds published. -**TODO:** When updating our repository's build steps, should it rebuild all packages? Should we run a git diff to see which application's build steps have been altered, and trigger a rebuild for the last release for those? +**TODO:** When updating our repository's build steps, should it rebuild all packages? Should we run a git diff to see which application's build steps have been altered, and trigger a rebuild for the last release for those? (probably the second option) In addition, a nightly cron job should run to publish nightly releases: @@ -90,109 +218,133 @@ In addition, a nightly cron job should run to publish nightly releases: - If upstream repository is signed, verify PGP signatures on commits - If new commits have been published, publish a new "nightly" release following the algorithm explained above -### PROPOSAL 2: AppImageUpdate repository +## PROPOSAL 2: AppImageUpdate repository + +**TODO:** Does someone want to make a detailed proposal based on that? + +**NOTE:** This package format is not cross-platform, so the proposal needs to account for that. + - https://github.com/AppImage/AppImageUpdate - Decentralized and with delta-updates - Hosting own repo is basically just putting appimage files on a server - CDNs supported to lower traffic load on server (IPFS support feasible?) - Already supported by Suse open-build service - People can easily add their own 3rd party appimages (if those include the needed metadata) -- (negative) No good front-end integration yet? -- (negative) Appimages are Linux only -## Cross-platform? -### Windows support? -- Reality: even for libre games, most players are on Windows -- In Windows the need for a launcher is even higher as there are no good alternatives -- Windows sucks and we probably don't have any windows using developers -- Difficulties to cross-compile (MinGW etc.) -### Chromebook support? -- Really increasing market share (at least in the US) -- Lots of young players on school chromebooks, Minetest etc. probably popular -- Has Linux binary support in some way, but not that easy? <-- it's a system similar to wine, enabled by the user in system settings -- partial flatpak support https://flatpak.org/setup/Chrome%20OS/ -### Android support? -- Completely different ecosystem, but some existing libre games have ports -- Could be just an curated f-droid repository <-- an F-Droid build server is considerably more difficult to setup than any other kind of repository -## Text chat support -- IRC: - - Easy to include, but basic. - - No good friend-lists like system. - - No account required - - No voice-chat -- XMPP: - - coverers all the needs and easy to host - - Good friend-list feature and custom status messages - - Good embeddable Javascript clients available (JSXC or maybe ConverseJS) - - Less good Discord like web-chat (But Movim might be an option) - - Built in p2p voice chat (possible server supported voice-chat in the near future) - - JSXC: Embeddable, has WebRTC voice & video chat + screensharing, e2ee, sidebar for friend-list +## PROPOSAL 3: Flatpak repository -- Matrix: - - No ready to embed client? - - Good friend-list feature - - Rich content - - More Discord like - - Resource intensive to host an instance, clients are also resource-intensive - - No (yet) built in voice-chat (I think 1 on 1 calls use their own protocol but not 100% sure about that <-- they use Jitsi integration for that) -- Mumble: - - Great audio-chat - - Text-chat very simple - - Mumble-web could be embedded - - No friend-list feature +**TODO:** Does someone want to make a detailed proposal based on that? -## Other ideas -### Screen overlay features? -- Is there a way to allow an easy to access screen-overlay like in Steam? -## Video streeming support -- Possible to include some sort of video recording /streaming support? -- Quick video replay feature? -- Screensharing via WebRTC might be easy to include +**NOTE:** This package format is not cross-platform, so the proposal needs to account for that. -## Front-end -### Native (qt or GTK etc.) -- Fast and low resource -- Need to build everything from scratch more or less -- Cross-platform more difficult -- Some existing Qt projects (Athenaeum, gamehub) -### Electron based -- Resource hogg -- Easy to include javascript based systems for chatting etc. (Mumble-web, JSXC) -- Nice existing game-launcher systems (Heroic launcher, itch.io) -### Tauri https://tauri.studio/en/ -- Electron like, but more lightweight and with a Rust backend -- No WebRTC yet (planned), kind of deal breaker if we want to support WebRTC audio-chat/screensharing -- Possibly Mobile and WASM (PWA?) targets in the future -### Spring lobbies -- Not tied to spring games -- multiple implementations to choose from (chobby, ...) -- IRC-like chat, friends list -- Version matching -- No voice or rich content implemented -### CLIM -- Nerd points -- ??? -- lisp lurker points +## PROPOSAL 4: GNU/guix repository -## Existing projects -- https://flathub.org/apps/details/com.gitlab.librebob.Athenaeum -- https://wiki.gnome.org/Apps/Games -- https://tkashkin.tk/projects/gamehub/ +**TODO:** Does someone want to make a detailed proposal based on that? -## Relevant similar projects -- https://github.com/prateekmedia/appimagepool (Flutter based Appimage store) -- Spring lobby clients (SprintRTS engine specific) -- Lutris (Fronend for multiple stores, emulators and WINE) -- Airshipper (Game specific for Veloren. Updater and news feed reader) -- Unvanquish updater (Game specific, only updater) -- KODI (media station, mainly for fullscreen use. Games/Emulator support work in progress) -- EmulationStation / RetroArch (Fullscreen, very emulation focussed) -### Open-source store front-ends -- Heroic launcher https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher (electron) -- https://github.com/Dummerle/Rare (Native client, Python & qt) -- https://github.com/sakshatshinde/Plei (Python) -- itch.io app https://github.com/itchio/itch (browserbased) -- Desurium: https://github.com/desura/Desurium (browser based?) -### Other launcher concepts -- https://github.com/AykutSarac/epic-games-clone (seems more like a student project, react based) +**NOTE:** This package format is not cross-platform, so the proposal needs to account for that. + +# Additional considerations + +## GUI toolkit + +What GUI toolkit to use determines how easy it will be to implement further features. Here's a comparison table: + +| Framework | Cross-plat.| Lightweight | Social | UI Overlay | Implementations +--- | :---: | :---: | :---: | :---: | :---: +|Qt| ✅ | ✅ | ❌ ⁽¹⁾ | ✅ | [athenaeum](https://gitlab.com/librebob/athenaeum) +|GTK| ~ | ✅ | ❌ ⁽¹⁾ | ✅ | [gamehub](https://github.com/tkashkin/GameHub) +|ElectronJS| ✅ | ❌ | ✅ ⁽²⁾ | ❌ ⁽³⁾ | [heroic](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher), [itch](https://github.com/itchio/itch) +|Flutter| ✅ | ~ | ~ ⁽⁴⁾ | ? | [AppImagePool](https://github.com/prateekmedia/appimagepool) + +**⁽¹⁾** Not impossible to implement, but harder than just embedded a 3rd party client +**⁽²⁾** Via a web-based XMPP/matrix client + build in WebRTC for audio/video. +**⁽³⁾** Until proven otherwise, it's assumed an electronJS application can't hijack focus from a running full-screen application +**⁽⁴⁾** Flutter/Dart libraries for exist for XMPP and Matrix. Also see FluffyChat for Matrix. + +Also worth mentioning, Electron functionality of desktop web applications could in fact be replaced by: + +- [Tauri](https://tauri.studio/), a Rust toolkit which leverages system's web rendering engine +- [SciterJS](https://github.com/c-smile/sciter-js-sdk), a C++ toolkit + +## Social protocol + +In order to provide excellent social features, we need to ues a social networking protocol. Here's a comparison chart: + +| Protocol | Federation | Easy selfhosting | Text | Voice | Video | Friendslist | Extensible ⁽⁰⁾ | Guest accounts ⁽⁵⁾ | Spaces ⁽⁸⁾ | +--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: +|IRC| ❌ ⁽¹⁾ | ✅ | ✅ | ❌ | ❌ | ❌ | ~ | ✅ | ❌ +| XMPP | ✅ | ✅ | ✅ | ✅ ⁽²⁾ | ✅ ⁽²⁾ | ✅ | ✅ ⁽⁷⁾ | ✅ ⁽⁴⁾ | ❌ +| Matrix | ✅ | ❌ | ✅ | ❌ ⁽³⁾ | ❌ ⁽³⁾ | ✅ | ✅ | ❌ | ✅ +| Mumble | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ~ | ✅ | ❌ +| [Spring](https://springrts.com/dl/LobbyProtocol/ProtocolDescription.html) | ❌ | ❌ | ✅ ⁽⁶⁾ | ❌ | ❌ | ❌ | ✅ ⁽⁶⁾ | ❌ | ❌ + +**⁽⁰⁾** Extensibility is needed to develop new features, such as matchmaking +**⁽¹⁾** Federation in the context of IRC means something else, it's a closed federation to provide redundancy across servers, but does not enable users to communicate across networks +**⁽²⁾** Audio/Video in XMPP ecosystem is provided by Jingle and/or multimedia bridges; Jitsi implementation is not standard, but some clients are working on interop (Conversations/JSXC/Gajim) +**⁽³⁾** Audio/Video in Matrix is provided by third-party clients/protocols such as Jitsi +**⁽⁴⁾** Guest accounts are provided via "anonymous login" +**⁽⁵⁾** Guest accounts with limited privileges (can't send friend invites) could be useful to start a multiplayer game on a specific game without having to create an account first +**⁽⁶⁾** Spring uses a customized IRC protocol with support for sharing current "matches" (servers) +**⁽⁷⁾** XMPP supports basic presence information, but it's trivial to build advanced presence via the PubSub extension; see [User tune](https://xmpp.org/extensions/xep-0118.html) for an example extension +**⁽⁸⁾** **Spaces** are a sort of collective namespace, where permissions can be defined for the entire group/team, and some chatrooms can be affiliated to the space + + +## Package/Repository standards + +Maybe it would be useful to support several types of repositories? Or a single cross-platform format? Here's a comparison chart: + +| Format | Cross-platform | Reproducible | Bootstrappable | Signatures | Repositories | Delta upgrades | Implementations +--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| [AppImage](https://appimage.org/) | ❌ | ❌ | ❌ | ✅ | ❌ ⁽¹⁾ | ✅ | AppImagePool +| [Flatpak](https://flatpak.org/) | ❌ | ❌ | ❌ | ✅ ⁽³⁾ | ✅ | ✅ | athenaeum, GNOME Games +| [0install](https://0install.net/) | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | +| [nix](https://nixos.org/)/[guix](https://guix.gnu.org/) | ❌ ⁽²⁾ | ✅ | guix | ✅ | ✅ | ❌ | + +**⁽¹⁾** AppImagePool uses a custom [upstream feed](https://appimage.github.io/feed.json), as well as a custom [featured applications feed](https://gist.githubusercontent.com/prateekmedia/44c1ea7f7a627d284b9e50d47aa7200f/raw/gistfile1.txt) +**⁽²⁾** Technically, guix and nix can build Windows application, however there is currently no support for Windows as foreign distro +**⁽³⁾** Flatpak repositories are signed + +The following packaging systems were considered, but not added to the comparison table: + +- Packages for every different distro and system: hard to implement because every distro uses different build systems/conventions +- tarball with statically linked binaries: need to define well-known paths for package metadata, therefore reinventing AppImage/0install +- [Snap](https://snapcraft.io/) not seriously considered because it is centralized + + +## Platforms/architectures to support + +Below, we consider a list of platforms to support: + +- GNU/Linux and *BSD: obvious choice +- More various POSIX (haiku/redox): could be nice, but that's a small userbase +- Windows: most gamers are on it, most FLOSS developers probably aren't though (cross-compilation and testing can be tough) +- Chromebook: already supported by ChromeOS Linux support +- Android: building a game/repository for Android is wildly different and more complex than for desktop; maybe advertising FLOSS games from F-Droid makes sense? + +Below, we consider a list of architectures to support: +- x86_64: obviously +- i686: for older PCs? +- ARM architecture (eg RaspberryPi): as long as it builds and tests pass, all platforms should support ARM architectures (cross-compilation) + +## Anti-features (to avoid) + +- Monetization of software itself (we can recommend indie stores and or donation platforms to support creators) +- Direct upload of binaries by 3rd party (malware risk) +- Gamification of UX and other attention-grabbing (addictive) patterns +- User-tracking and other privacy issues (opt-in ok) +- Online account requirement: social interactions should be optional, and/or it should be very straightforward to setup local accounts for LANs or have an account-less fallback mode. + +## Priorities + +This document is not exatly a specification for a future client project. However, if it must be interpreted like that, some features should probably be prioritized over others: + +- GNU/Linux, *BSD and Windows support (x86 & ARM) +- Focus on multiplayer games that need version syncronisation (auto-update) +- Social features incl. voice-chat (true libre alternative to Discord) +- Trustworthy repository with fast updates for games +- Some limited content curation (highlight of new games, popularity sorting etc.) + +Some features described in the wishlist may appear to be less important to some people: + +- User-reviews of games: could cause moderation issues, and/or negatively affect volunteers when harsh reviews are published From 82cf61c90dfd1dfadcab18a18b43f6af3b6efc8a Mon Sep 17 00:00:00 2001 From: Eric Duhamel Date: Fri, 4 Feb 2022 13:33:41 -0800 Subject: [PATCH 06/12] update room links "Workshop" is the only working group now so its listed under Community --- chat-with-us.md | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/chat-with-us.md b/chat-with-us.md index 9deb48e..7a510fc 100644 --- a/chat-with-us.md +++ b/chat-with-us.md @@ -32,20 +32,9 @@ New projects should take advantage of [FreeGameDev]'s cross-platform integration [xmpp](xmpp:#libregaming-offtopic#freedombox.emorrp1.name@matrix.org?join) [irc](ircs://irc.libera.chat/#libregaming-offtopic) [archive](https://view.matrix.org/room/!csFYqQwEzkhBXOMzLF:matrix.org/) - -## Working groups - -- *website*: website Working Group - [matrix](https://matrix.to/#/#libregaming-website:freedombox.emorrp1.name) - [xmpp](xmpp:#libregaming-website#freedombox.emorrp1.name@matrix.org?join) - [archive](https://view.matrix.org/room/!xHlPrCLVlXJwHGRJlN:freedombox.emorrp1.name/) -- *sysadmin*: sysadmin Working Group, to keep our services running - [matrix](https://matrix.to/#/#libregaming-sysadmin:freedombox.emorrp1.name) - [xmpp](xmpp:#libregaming-sysadmin#freedombox.emorrp1.name@matrix.org?join) - [archive](https://view.matrix.org/room/!QUEqlMMuCgnjmJUeXV:freedombox.emorrp1.name/) -- *chamber*: for bursts of high-volume organisational activity, when a topic gets too long for the main channel - [matrix](https://matrix.to/#/#libregaming-chamber:freedombox.emorrp1.name) - [xmpp](xmpp:#libregaming-chamber#freedombox.emorrp1.name@matrix.org?join) +- *workshop*: for bursts of high-volume organisational activity, when a topic gets too long for the main channel + [matrix](https://matrix.to/#/#libregaming-workshop:freedombox.emorrp1.name) + [xmpp](xmpp:#libregaming-workshop#freedombox.emorrp1.name@matrix.org?join) [archive](https://view.matrix.org/room/!uagwTOyQbbWrZgwyPO:freedombox.emorrp1.name/) To join one such room called `ROOM`, configure your client according to the instructions below. From 0eb6aff54176dd26e50823ca1f446c6211b5b0b9 Mon Sep 17 00:00:00 2001 From: Eric Duhamel Date: Fri, 4 Feb 2022 21:41:34 -0800 Subject: [PATCH 07/12] add irc link to Workshop --- chat-with-us.md | 1 + 1 file changed, 1 insertion(+) diff --git a/chat-with-us.md b/chat-with-us.md index 7a510fc..b1d6684 100644 --- a/chat-with-us.md +++ b/chat-with-us.md @@ -35,6 +35,7 @@ New projects should take advantage of [FreeGameDev]'s cross-platform integration - *workshop*: for bursts of high-volume organisational activity, when a topic gets too long for the main channel [matrix](https://matrix.to/#/#libregaming-workshop:freedombox.emorrp1.name) [xmpp](xmpp:#libregaming-workshop#freedombox.emorrp1.name@matrix.org?join) + [irc](ircs://irc.libera.chat/#libregaming-workshop) [archive](https://view.matrix.org/room/!uagwTOyQbbWrZgwyPO:freedombox.emorrp1.name/) To join one such room called `ROOM`, configure your client according to the instructions below. From 21214d0f818461cf78617c360802c045cb6d6b33 Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Sat, 21 Aug 2021 20:33:50 +0100 Subject: [PATCH 08/12] import community about page from pad * collaborative anonymous editing, but list known contributors * https://scalar.vector.im/etherpad/p/!qLhNfILESSCaasbRWB_freedombox.emorrp1.name_Org Co-authored-by: Eric Duhamel Co-authored-by: Rampoina Co-authored-by: infrared Co-authored-by: poVoq --- about-us.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 about-us.md diff --git a/about-us.md b/about-us.md new file mode 100644 index 0000000..44f2f99 --- /dev/null +++ b/about-us.md @@ -0,0 +1,91 @@ + + +# LibreGaming community + +We are a community dedicated to playing and developing libre games, that is videogames and board games with free/libre software and algorithms, and free/libre assets (textures, musics). We believe [software should be o](https://www.gnu.org/philosophy/shouldbefree.html) as part of a global struggle for freedom and equality online and offline. + +## Decisions + +1. Initial meeting 2021-08-07 https://hribhrib.at:5443/upload/5035aee454f8553c88bd1f7623218485341099ed/dZSQFC3lP1lMmTQFyfLKQFBBDIC4tOrQ41Js4nzn/firstthoughts.txt +2. We are called "Libre Gaming" +3. libregaming.org + +TBC: +* Chat should be feature-rich by default +* Color scheme: Orange #FF8F23 Blue #4FBAD5 + +## Consider + +* Community name + * https://poll.disroot.org/LZwvudXCHyBvDY2d + * can't be absolutely confirmed until we've done a domain name poll, see https://paste.debian.net/1204068/ + * https://webapp.oulu.fi/framadate/adminstuds.php?poll=Vmv6hF1oJ9ain1SIusvq7qk8 +* Privacy (this room intentionally public/always so others feel free to contribute) +* Moderation + * explicitly not free speech? (yes, we should discuss an explicit moderation policy if possible -eric) + * Free speech means the government can't say what is allowed to say or not, but doesn't mean we cant have our own rules as a community... https://xkcd.com/1357/ +* Loose collective rather than strict organisation + * please be pretty free about sharing out admin permissions etc. with names you recognise + * but also don't ask permission for stuff, just go ahead and do it e.g. editing etherpads, but don't hesitate to let it be known so that others can review what you did +* Style (CamelCase, prefix/suffix aliases, hyphen/underscore, color palette, never shorten etc.) +* Maintain a room directory until the history/joinability is fixed (see Libre Gaming Space.png) + * ^ ? what's that PNG? can we have a link? - uhh yes, see Files below +* Matchmaking +* Individual pages for every game describing how to get started (basic controls, what tutorial to play, where to get the game, etc) + * ^ maybe a collaboration with libregame wiki? https://libregamewiki.org/Main_Page +* Reach out to the communities invite them to organise with us +* Bridging: XMPP, irc (limited rooms?), discord? + * pro-actively bridge to IRC but be clear that it's a degraded user experience and try to limit the sheer number of rooms to match user expectations + * The bifrost matrix bridge to XMPP is not great, perhaps can host a public XMPP gateway to matrix instead? + * matrix-bifrost is the only xmpp-matrix bridge in both ways + * it's also not good on xmpp->matrix side, at least when using the official matrix.org gateway + * Could do with something like https://matrix-org.github.io/matrix-appservice-irc/latest/usage.html#message-behaviours or https://github.com/tulir/mautrix-signal/blob/master/ROADMAP.md + * Discussion (long) about Discord: https://matrix.to/#/!qLhNfILESSCaasbRWB:freedombox.emorrp1.name/$pES_yrnhm4kjonxfnrPmqV2dv3CmAyWBH2eadKgZ4wM?via=freedombox.emorrp1.name&via=matrix.org&via=nordgedanken.dev + * object to Discord on principle of non-libre, centralised, compromising ideals, so shouldn't pro-actively bridge channels from here to there + * aware that some libre games have their official communities on Discord, and sadly they may not see anything wrong with that, e.g. strong network effects + * popularity isn't everything, it's ok to be a small cohesive community, but advertising libre stuff on non-libre platforms is ok for outreach + * not everyone agrees with the statements above :p +* delegate basically a subdomain per person and per game/tool +* List of polls +* List of external resources (e.g. time.is) +* What we are not: + * Free Software purists (really? my impression was a bit different :p ) (it's a delicate balance between being rabid about discussing only foss and bridging everything to discord...) + * a haven of free speech (what does that mean? are nazis welcome here?) no. maybe.(definitely not) + * anti-non-free in everything (but more Libre the better) see Discord above + * leaving anyone behind; we should strive for equal access to communication and gaming tools (good job so far) + * for gamers interested in playing/discussing non-free games too, point towards Gaming Space or Linux Gaming etc. + +## Contact Us + +moved to chat-with-us.md + +## Files + +1. libreGamingLogoSheet.svg: https://freedombox.emorrp1.name/_matrix/media/r0/download/freedombox.emorrp1.name/IwuxGwOfjbdjcaSLFgjqXGqa +2. Libre Gaming Space.png: https://freedombox.emorrp1.name/_matrix/media/r0/download/matrix.org/TqNyUvWqIgJqxIfCzaYbQGyq +3. About libre games.md https://cryptpad.fr/code/#/2/code/edit/qFLYmH82hddBpXCDmFansp0z/embed + 3.1. css-ified: PlayLibregames.zip https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/hmdmKGDlmwrCKuWnJLxGPRgJ + +## Services + +* Mumble hribhrib.at + * Mumble-web? that would be amazing +* IRC irc.freegamedev.net (modern IRC server) + * has a XMPP gateway + * has a Matterbridge and other service bots (matchbot and Limnoria) + * working on a way to connect better with Matrix (no promises) +* Game server hosting? + * Tutorials for easy game server hosting from home or a VPS? +* Website: + * I'd like to help maintain an HTML doc about FOSS games popular among the group. -eric + * About section describe what libre games are. What we are etc. (See play-libre-games.md) + * URL shortener, e.g. libregaming.org/poll/what-to-play + +## Resources + +1. https://remixicon.com/ finding Apache-2.0 svg avatars (94% scale for rooms) +2. https://www.when2meet.com/ planning a timezone-aware event +3. https://time.is/compare sharing a timezone-aware event +4. Matrix widget etherpads + 4.1. switch to Hedgedoc for better markdown? https://md.roflcopter.fr/new +5. https://storm.debian.net/ Sandstorm ad-hoc hosting From fe8553057ad916775b36b8d2d42bd96fec5668af Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Sat, 5 Feb 2022 19:40:56 +0000 Subject: [PATCH 09/12] import better formatting from hedgedoc * https://md.roflcopter.fr/libregaming Co-authored-by: southerntofu --- about-us.md | 174 +++++++++++++++++++++++++++------------------------- 1 file changed, 92 insertions(+), 82 deletions(-) diff --git a/about-us.md b/about-us.md index 44f2f99..4c64e10 100644 --- a/about-us.md +++ b/about-us.md @@ -1,91 +1,101 @@ -# LibreGaming community +# LibreGaming community - Introduction -We are a community dedicated to playing and developing libre games, that is videogames and board games with free/libre software and algorithms, and free/libre assets (textures, musics). We believe [software should be o](https://www.gnu.org/philosophy/shouldbefree.html) as part of a global struggle for freedom and equality online and offline. +**[Meeting #1 minutes](https://md.roflcopter.fr/libregaming-1)** -## Decisions +We are a community dedicated to playing and developing libre games, that is videogames and board games with free/libre software and algorithms, and free/libre artistic assets (models, musics). We believe [software](https://www.gnu.org/philosophy/shouldbefree.html) and [culture](https://artlibre.org/faq_eng/) should be free as part of a global struggle for freedom and equality online and offline. We aim to become a meta-community that can bring closer smaller communities. We don't want to become a big central organization, but rather a network of organic initiatives scattered throughout cyberspace. -1. Initial meeting 2021-08-07 https://hribhrib.at:5443/upload/5035aee454f8553c88bd1f7623218485341099ed/dZSQFC3lP1lMmTQFyfLKQFBBDIC4tOrQ41Js4nzn/firstthoughts.txt -2. We are called "Libre Gaming" -3. libregaming.org +For example, we'd like to bring players alongside game developers and designers, as well as contributors to libre games launchers like [Athenaeum](https://gitlab.com/librebob/athenaeum) and [GameHub](https://github.com/tkashkin/GameHub). We believe this approach can enrich and empower the entire libre gaming ecosystem. -TBC: -* Chat should be feature-rich by default -* Color scheme: Orange #FF8F23 Blue #4FBAD5 +We are just getting started. Feel free to contribute new ideas and feedback by [contacting us](#contact). Check out [the preliminary notes](https://hribhrib.at:5443/upload/5035aee454f8553c88bd1f7623218485341099ed/dZSQFC3lP1lMmTQFyfLKQFBBDIC4tOrQ41Js4nzn/firstthoughts.txt) to our first meeting, as well as the [first meeting's minutes](https://md.roflcopter.fr/libregaming-1). Below, you will find the table of content to navigate this document: -## Consider +[ToC] + +# Communication + +- **Domain name:** following a [public poll](https://webapp.oulu.fi/framadate/adminstuds.php?poll=Vmv6hF1oJ9ain1SIusvq7qk8), we went with `libregaming.org` (see [previous name poll](https://poll.disroot.org/LZwvudXCHyBvDY2d) and [discussion](https://paste.debian.net/1204068/)) +- **Privacy:** While we defend privacy online, our chatrooms are public spaces and may be logged accordingly +- **Moderation:** We defend free speech, which means we believe no government can tell you how to think/feel, but [doesn't mean you can engage in abusive behavior](https://xkcd.com/1357/); nazis, harassers, and other abusers are not welcome in our community +- **Color scheme:** We use **Orange** (#FF8F23) and **Blue** (#4FBAD5) + +If you would like to take part in the community, please head over to the [**Contact** section](#contact). + +# Community + +In this section, you will find more information about what we are and what we aren't as a collective. The following information may evolve over time. + +**We are:** + +- a loose collective rather than a formal organization + - feel free to invite new people and share permissions with people you know + - don’t ask permission to improve things, just go ahead and see where it goes, then let it be known so that others can review what you did +- supportive of [accessibility](https://en.wikipedia.org/wiki/Accessibility): everyone should be able to play games, no matter their physical or hardware/network capabilities +- encouraging existing libre games communities to join us and help improve the overall ecosystem + +**We are not:** + +- morally-superior purists: we want to develop a libre ecosystem, but will not judge or insult people who take part in other ecosystems +- a community where nazis and harassers are welcome +- a space to discuss non-free games and ecosystem, see Gaming Space or Linux Gaming (**TODO:** links) instead + +# Contact + +moved to [chat-with-us.md](https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/chat-with-us.md) + +# Services + +For now, we do not provide any services as LibreGaming collectives. Below you will find a list of services we would be interested to maintain. + +## Internal use + +- A URL shortener +- an audio/video conferencing server? (video requires a lot of resources) + +## Public use + +- A website with information about libre games (maybe cooperate with [LibreGameWiki](https://libregamewiki.org/Main_Page)), and links to various related communities, as well as tutorials to selfhost your own libre game servers +- A matchmaking service/bot to find people to play with +- A chat bridging service (eg. [matterbridge](https://github.com/42wim/matterbridge)) for existing communities, to open oneself to new protocols/ecosystems +- Tooling/scripts to make it easier to selfhost libre game servers +- Subdomains on libregaming.org for new projects to get started; only for libregaming projects, because we don't want external projects to technically depend on libregaming.org? + +# Resources + +- [Our logos](https://freedombox.emorrp1.name/_matrix/media/r0/download/freedombox.emorrp1.name/IwuxGwOfjbdjcaSLFgjqXGqa) (SVG) +- [Our first attempt at a website](https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/hmdmKGDlmwrCKuWnJLxGPRgJ) (ZIP), based on [this pad](https://cryptpad.fr/code/#/2/code/edit/qFLYmH82hddBpXCDmFansp0z/embed) +- [LibreGaming space screenshot on matrix](https://freedombox.emorrp1.name/_matrix/media/r0/download/matrix.org/TqNyUvWqIgJqxIfCzaYbQGyq +) (PNG) + +# External resources + +- Organizing a meeting + - [planning a timezone-aware event](https://www.when2meet.com/) (alternative to framadate, **TODO:** can we selfhost it?) + - [sharing a specific time across timezones](https://time.is/compare) (**TODO:** can we selfhost it?) + - taking notes together: [Hedgedoc](https://md.roflcopter.fr/) (roflcopter.fr), [Etherpad](https://pad.lqdn.fr/) (lqdn.fr), [Cryptpad](https://cryptpad.fr/) (cryptpad.fr) + - audio conferencing: [Mumble](https://mumble.org/) server on hribhrib.at (**TODO:** can we setup [mumble-web](https://github.com/Johni0702/mumble-web) client and [mumble-web-proxy](https://github.com/johni0702/mumble-web-proxy) WebRTC server?) +- Other related collectives + - [FreeGameDev.net](https://freegamedev.net) has a modern IRC server (with a public Jabber/XMPP gateway and a matchmaking bot) and a forum for libre gamedev + - [LibreGameWiki](https://libregamewiki.org/Main_Page) a wiki with detailed information about libre games + +**TODO:** below are leftovers from the previous pad, what are they for? do they work? + +- https://remixicon.com/ finding Apache-2.0 svg avatars (94% scale for rooms) +- https://storm.debian.net/ Sandstorm ad-hoc hosting + +----- + +# Below hasn't been updated yet + +**TODO:** maybe move to the meeting minutes this last part? -* Community name - * https://poll.disroot.org/LZwvudXCHyBvDY2d - * can't be absolutely confirmed until we've done a domain name poll, see https://paste.debian.net/1204068/ - * https://webapp.oulu.fi/framadate/adminstuds.php?poll=Vmv6hF1oJ9ain1SIusvq7qk8 -* Privacy (this room intentionally public/always so others feel free to contribute) -* Moderation - * explicitly not free speech? (yes, we should discuss an explicit moderation policy if possible -eric) - * Free speech means the government can't say what is allowed to say or not, but doesn't mean we cant have our own rules as a community... https://xkcd.com/1357/ -* Loose collective rather than strict organisation - * please be pretty free about sharing out admin permissions etc. with names you recognise - * but also don't ask permission for stuff, just go ahead and do it e.g. editing etherpads, but don't hesitate to let it be known so that others can review what you did -* Style (CamelCase, prefix/suffix aliases, hyphen/underscore, color palette, never shorten etc.) -* Maintain a room directory until the history/joinability is fixed (see Libre Gaming Space.png) - * ^ ? what's that PNG? can we have a link? - uhh yes, see Files below -* Matchmaking -* Individual pages for every game describing how to get started (basic controls, what tutorial to play, where to get the game, etc) - * ^ maybe a collaboration with libregame wiki? https://libregamewiki.org/Main_Page -* Reach out to the communities invite them to organise with us * Bridging: XMPP, irc (limited rooms?), discord? - * pro-actively bridge to IRC but be clear that it's a degraded user experience and try to limit the sheer number of rooms to match user expectations - * The bifrost matrix bridge to XMPP is not great, perhaps can host a public XMPP gateway to matrix instead? - * matrix-bifrost is the only xmpp-matrix bridge in both ways - * it's also not good on xmpp->matrix side, at least when using the official matrix.org gateway - * Could do with something like https://matrix-org.github.io/matrix-appservice-irc/latest/usage.html#message-behaviours or https://github.com/tulir/mautrix-signal/blob/master/ROADMAP.md - * Discussion (long) about Discord: https://matrix.to/#/!qLhNfILESSCaasbRWB:freedombox.emorrp1.name/$pES_yrnhm4kjonxfnrPmqV2dv3CmAyWBH2eadKgZ4wM?via=freedombox.emorrp1.name&via=matrix.org&via=nordgedanken.dev - * object to Discord on principle of non-libre, centralised, compromising ideals, so shouldn't pro-actively bridge channels from here to there - * aware that some libre games have their official communities on Discord, and sadly they may not see anything wrong with that, e.g. strong network effects - * popularity isn't everything, it's ok to be a small cohesive community, but advertising libre stuff on non-libre platforms is ok for outreach - * not everyone agrees with the statements above :p -* delegate basically a subdomain per person and per game/tool -* List of polls -* List of external resources (e.g. time.is) -* What we are not: - * Free Software purists (really? my impression was a bit different :p ) (it's a delicate balance between being rabid about discussing only foss and bridging everything to discord...) - * a haven of free speech (what does that mean? are nazis welcome here?) no. maybe.(definitely not) - * anti-non-free in everything (but more Libre the better) see Discord above - * leaving anyone behind; we should strive for equal access to communication and gaming tools (good job so far) - * for gamers interested in playing/discussing non-free games too, point towards Gaming Space or Linux Gaming etc. - -## Contact Us - -moved to chat-with-us.md - -## Files - -1. libreGamingLogoSheet.svg: https://freedombox.emorrp1.name/_matrix/media/r0/download/freedombox.emorrp1.name/IwuxGwOfjbdjcaSLFgjqXGqa -2. Libre Gaming Space.png: https://freedombox.emorrp1.name/_matrix/media/r0/download/matrix.org/TqNyUvWqIgJqxIfCzaYbQGyq -3. About libre games.md https://cryptpad.fr/code/#/2/code/edit/qFLYmH82hddBpXCDmFansp0z/embed - 3.1. css-ified: PlayLibregames.zip https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/hmdmKGDlmwrCKuWnJLxGPRgJ - -## Services - -* Mumble hribhrib.at - * Mumble-web? that would be amazing -* IRC irc.freegamedev.net (modern IRC server) - * has a XMPP gateway - * has a Matterbridge and other service bots (matchbot and Limnoria) - * working on a way to connect better with Matrix (no promises) -* Game server hosting? - * Tutorials for easy game server hosting from home or a VPS? -* Website: - * I'd like to help maintain an HTML doc about FOSS games popular among the group. -eric - * About section describe what libre games are. What we are etc. (See play-libre-games.md) - * URL shortener, e.g. libregaming.org/poll/what-to-play - -## Resources - -1. https://remixicon.com/ finding Apache-2.0 svg avatars (94% scale for rooms) -2. https://www.when2meet.com/ planning a timezone-aware event -3. https://time.is/compare sharing a timezone-aware event -4. Matrix widget etherpads - 4.1. switch to Hedgedoc for better markdown? https://md.roflcopter.fr/new -5. https://storm.debian.net/ Sandstorm ad-hoc hosting +* pro-actively bridge to IRC but be clear that it's a degraded user experience and try to limit the sheer number of rooms to match user expectations +* The bifrost matrix bridge to XMPP is not great, perhaps can host a public XMPP gateway to matrix instead? + * matrix-bifrost is the only xmpp-matrix bridge in both ways + * it's also not good on xmpp->matrix side, at least when using the official matrix.org gateway +* Discussion (long) about Discord: https://matrix.to/#/!qLhNfILESSCaasbRWB:freedombox.emorrp1.name/$pES_yrnhm4kjonxfnrPmqV2dv3CmAyWBH2eadKgZ4wM?via=freedombox.emorrp1.name&via=matrix.org&via=nordgedanken.dev +* object to Discord on principle of non-libre, centralised, compromising ideals, so shouldn't pro-actively bridge channels from here to there +* aware that some libre games have their official communities on Discord, and sadly they may not see anything wrong with that, e.g. strong network effects +* popularity isn't everything, it's ok to be a small cohesive community, but advertising libre stuff on non-libre platforms is ok for outreach +* not everyone agrees with the statements above :p From 67e3995ed649025e34db4c9ae145d84100312210 Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Sat, 5 Feb 2022 19:57:28 +0000 Subject: [PATCH 10/12] format and update links --- about-us.md | 78 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 54 insertions(+), 24 deletions(-) diff --git a/about-us.md b/about-us.md index 4c64e10..b4bc09e 100644 --- a/about-us.md +++ b/about-us.md @@ -2,24 +2,33 @@ # LibreGaming community - Introduction -**[Meeting #1 minutes](https://md.roflcopter.fr/libregaming-1)** +We are a community dedicated to playing and developing libre games, that is videogames and board games with free/libre software and algorithms, and free/libre artistic assets (models, musics). We believe [software] and [culture] should be free as part of a global struggle for freedom and equality online and offline. We aim to become a meta-community that can bring closer smaller communities. We don't want to become a big central organization, but rather a network of organic initiatives scattered throughout cyberspace. -We are a community dedicated to playing and developing libre games, that is videogames and board games with free/libre software and algorithms, and free/libre artistic assets (models, musics). We believe [software](https://www.gnu.org/philosophy/shouldbefree.html) and [culture](https://artlibre.org/faq_eng/) should be free as part of a global struggle for freedom and equality online and offline. We aim to become a meta-community that can bring closer smaller communities. We don't want to become a big central organization, but rather a network of organic initiatives scattered throughout cyberspace. +For example, we'd like to bring players alongside game developers and designers, as well as contributors to libre games launchers like [Athenaeum] and [GameHub]. We believe this approach can enrich and empower the entire libre gaming ecosystem. -For example, we'd like to bring players alongside game developers and designers, as well as contributors to libre games launchers like [Athenaeum](https://gitlab.com/librebob/athenaeum) and [GameHub](https://github.com/tkashkin/GameHub). We believe this approach can enrich and empower the entire libre gaming ecosystem. +We are just getting started. Feel free to contribute new ideas and feedback by [contacting us]. Check out [the preliminary notes] to our first meeting, as well as the [first] and [second] meeting's minutes. -We are just getting started. Feel free to contribute new ideas and feedback by [contacting us](#contact). Check out [the preliminary notes](https://hribhrib.at:5443/upload/5035aee454f8553c88bd1f7623218485341099ed/dZSQFC3lP1lMmTQFyfLKQFBBDIC4tOrQ41Js4nzn/firstthoughts.txt) to our first meeting, as well as the [first meeting's minutes](https://md.roflcopter.fr/libregaming-1). Below, you will find the table of content to navigate this document: - -[ToC] +[software]: https://www.gnu.org/philosophy/shouldbefree.html +[culture]: https://artlibre.org/faq_eng/ +[Athenaeum]: https://gitlab.com/librebob/athenaeum +[GameHub]: https://github.com/tkashkin/GameHub +[contacting us]: https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/chat-with-us.md +[the preliminary notes]: https://hribhrib.at:5443/upload/5035aee454f8553c88bd1f7623218485341099ed/dZSQFC3lP1lMmTQFyfLKQFBBDIC4tOrQ41Js4nzn/firstthoughts.txt +[first]: https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/2021-08-07.md +[second]: https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/2022-01-30.md # Communication -- **Domain name:** following a [public poll](https://webapp.oulu.fi/framadate/adminstuds.php?poll=Vmv6hF1oJ9ain1SIusvq7qk8), we went with `libregaming.org` (see [previous name poll](https://poll.disroot.org/LZwvudXCHyBvDY2d) and [discussion](https://paste.debian.net/1204068/)) +- **Domain name:** following a [public poll], we went with `libregaming.org`, see also [previous name poll] - **Privacy:** While we defend privacy online, our chatrooms are public spaces and may be logged accordingly -- **Moderation:** We defend free speech, which means we believe no government can tell you how to think/feel, but [doesn't mean you can engage in abusive behavior](https://xkcd.com/1357/); nazis, harassers, and other abusers are not welcome in our community +- **Moderation:** We defend free speech, which means we believe no government can tell you how to think/feel, but [doesn't mean you can engage in abusive behavior]; nazis, harassers, and other abusers are not welcome in our community - **Color scheme:** We use **Orange** (#FF8F23) and **Blue** (#4FBAD5) -If you would like to take part in the community, please head over to the [**Contact** section](#contact). +If you would like to take part in the community, please see [contacting us]. + +[public poll]: https://webapp.oulu.fi/framadate/adminstuds.php?poll=Vmv6hF1oJ9ain1SIusvq7qk8 +[previous name poll]: https://poll.disroot.org/LZwvudXCHyBvDY2d +[doesn't mean you can engage in abusive behavior]: https://xkcd.com/1357/ # Community @@ -30,7 +39,7 @@ In this section, you will find more information about what we are and what we ar - a loose collective rather than a formal organization - feel free to invite new people and share permissions with people you know - don’t ask permission to improve things, just go ahead and see where it goes, then let it be known so that others can review what you did -- supportive of [accessibility](https://en.wikipedia.org/wiki/Accessibility): everyone should be able to play games, no matter their physical or hardware/network capabilities +- supportive of [accessibility]: everyone should be able to play games, no matter their physical or hardware/network capabilities - encouraging existing libre games communities to join us and help improve the overall ecosystem **We are not:** @@ -39,9 +48,11 @@ In this section, you will find more information about what we are and what we ar - a community where nazis and harassers are welcome - a space to discuss non-free games and ecosystem, see Gaming Space or Linux Gaming (**TODO:** links) instead +[accessibility]: https://en.wikipedia.org/wiki/Accessibility + # Contact -moved to [chat-with-us.md](https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/chat-with-us.md) +moved to [contacting us] # Services @@ -54,29 +65,46 @@ For now, we do not provide any services as LibreGaming collectives. Below you wi ## Public use -- A website with information about libre games (maybe cooperate with [LibreGameWiki](https://libregamewiki.org/Main_Page)), and links to various related communities, as well as tutorials to selfhost your own libre game servers +- A website with information about libre games (maybe cooperate with [LibreGameWiki]), and links to various related communities, as well as tutorials to selfhost your own libre game servers - A matchmaking service/bot to find people to play with -- A chat bridging service (eg. [matterbridge](https://github.com/42wim/matterbridge)) for existing communities, to open oneself to new protocols/ecosystems +- A chat bridging service (eg. [matterbridge]) for existing communities, to open oneself to new protocols/ecosystems - Tooling/scripts to make it easier to selfhost libre game servers - Subdomains on libregaming.org for new projects to get started; only for libregaming projects, because we don't want external projects to technically depend on libregaming.org? +[LibreGameWiki]: https://libregamewiki.org/Main_Page +[matterbridge]: https://github.com/42wim/matterbridge + # Resources -- [Our logos](https://freedombox.emorrp1.name/_matrix/media/r0/download/freedombox.emorrp1.name/IwuxGwOfjbdjcaSLFgjqXGqa) (SVG) -- [Our first attempt at a website](https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/hmdmKGDlmwrCKuWnJLxGPRgJ) (ZIP), based on [this pad](https://cryptpad.fr/code/#/2/code/edit/qFLYmH82hddBpXCDmFansp0z/embed) -- [LibreGaming space screenshot on matrix](https://freedombox.emorrp1.name/_matrix/media/r0/download/matrix.org/TqNyUvWqIgJqxIfCzaYbQGyq -) (PNG) +- [Our logos] (SVG) +- [Our first attempt at a website] (ZIP), based on [play-libre-games.md] +- [LibreGaming space screenshot on matrix] (PNG) + +[Our logos]: https://freedombox.emorrp1.name/_matrix/media/r0/download/freedombox.emorrp1.name/IwuxGwOfjbdjcaSLFgjqXGqa +[Our first attempt at a website]: https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/hmdmKGDlmwrCKuWnJLxGPRgJ +[play-libre-games.md]: https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/play-libre-games.md +[LibreGaming space screenshot on matrix]: https://freedombox.emorrp1.name/_matrix/media/r0/download/matrix.org/TqNyUvWqIgJqxIfCzaYbQGyq # External resources - Organizing a meeting - - [planning a timezone-aware event](https://www.when2meet.com/) (alternative to framadate, **TODO:** can we selfhost it?) - - [sharing a specific time across timezones](https://time.is/compare) (**TODO:** can we selfhost it?) - - taking notes together: [Hedgedoc](https://md.roflcopter.fr/) (roflcopter.fr), [Etherpad](https://pad.lqdn.fr/) (lqdn.fr), [Cryptpad](https://cryptpad.fr/) (cryptpad.fr) - - audio conferencing: [Mumble](https://mumble.org/) server on hribhrib.at (**TODO:** can we setup [mumble-web](https://github.com/Johni0702/mumble-web) client and [mumble-web-proxy](https://github.com/johni0702/mumble-web-proxy) WebRTC server?) + - [planning a timezone-aware event] (alternative to framadate, **TODO:** can we selfhost it?) + - [sharing a specific time across timezones] (**TODO:** can we selfhost it?) + - taking notes together: [Hedgedoc] (roflcopter.fr), [Etherpad] (lqdn.fr), [Cryptpad] (cryptpad.fr) + - audio conferencing: [Mumble] server on hribhrib.at (**TODO:** can we setup [mumble-web] client and [mumble-web-proxy] WebRTC server?) - Other related collectives - - [FreeGameDev.net](https://freegamedev.net) has a modern IRC server (with a public Jabber/XMPP gateway and a matchmaking bot) and a forum for libre gamedev - - [LibreGameWiki](https://libregamewiki.org/Main_Page) a wiki with detailed information about libre games + - [FreeGameDev.net] has a modern IRC server (with a public Jabber/XMPP gateway and a matchmaking bot) and a forum for libre gamedev + - [LibreGameWiki] a wiki with detailed information about libre games + +[planning a timezone-aware event]: https://www.when2meet.com/ +[sharing a specific time across timezones]: https://time.is/compare +[Hedgedoc]: https://md.roflcopter.fr/ +[Etherpad]: https://pad.lqdn.fr/ +[Cryptpad]: https://cryptpad.fr/ +[Mumble]: https://mumble.org/ +[mumble-web]: https://github.com/Johni0702/mumble-web +[mumble-web-proxy]: https://github.com/johni0702/mumble-web-proxy +[FreeGameDev.net]: https://freegamedev.net **TODO:** below are leftovers from the previous pad, what are they for? do they work? @@ -94,8 +122,10 @@ For now, we do not provide any services as LibreGaming collectives. Below you wi * The bifrost matrix bridge to XMPP is not great, perhaps can host a public XMPP gateway to matrix instead? * matrix-bifrost is the only xmpp-matrix bridge in both ways * it's also not good on xmpp->matrix side, at least when using the official matrix.org gateway -* Discussion (long) about Discord: https://matrix.to/#/!qLhNfILESSCaasbRWB:freedombox.emorrp1.name/$pES_yrnhm4kjonxfnrPmqV2dv3CmAyWBH2eadKgZ4wM?via=freedombox.emorrp1.name&via=matrix.org&via=nordgedanken.dev +* [Discussion (long) about Discord] * object to Discord on principle of non-libre, centralised, compromising ideals, so shouldn't pro-actively bridge channels from here to there * aware that some libre games have their official communities on Discord, and sadly they may not see anything wrong with that, e.g. strong network effects * popularity isn't everything, it's ok to be a small cohesive community, but advertising libre stuff on non-libre platforms is ok for outreach * not everyone agrees with the statements above :p + +[Discussion (long) about Discord]: https://matrix.to/#/!qLhNfILESSCaasbRWB:freedombox.emorrp1.name/$pES_yrnhm4kjonxfnrPmqV2dv3CmAyWBH2eadKgZ4wM?via=freedombox.emorrp1.name&via=matrix.org&via=nordgedanken.dev From 1276eebd2d687921c8b2e1337d433d0ff5ff6d88 Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Sat, 5 Feb 2022 20:05:06 +0000 Subject: [PATCH 11/12] url encode # in xmpp links * update link to about-us.md --- chat-with-us.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/chat-with-us.md b/chat-with-us.md index b1d6684..b3c2bbc 100644 --- a/chat-with-us.md +++ b/chat-with-us.md @@ -1,6 +1,7 @@ -[Who we are](https://md.roflcopter.fr/libregaming). (WiP) +[About us]. (WiP) +[About us]: https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/about-us.md # Chat with us! @@ -19,22 +20,22 @@ New projects should take advantage of [FreeGameDev]'s cross-platform integration - *matchmaking*: matchmaking service/bot to find people to play with [matrix](https://matrix.to/#/#libregaming-matchmaking:freedombox.emorrp1.name) - [xmpp](xmpp:#libregaming-matchmaking#freedombox.emorrp1.name@matrix.org?join) + [xmpp](xmpp:%23libregaming-matchmaking%23freedombox.emorrp1.name@matrix.org?join) [irc](ircs://irc.libera.chat/#libregaming-matchmaking) [archive](https://view.matrix.org/room/!CUNOtCEVFEdXaOUjXL:matrix.org/) - *organization*: meta channel for discussing the LibreGaming.org project itself [matrix](https://matrix.to/#/#libregaming-organization:freedombox.emorrp1.name) - [xmpp](xmpp:#libregaming-organization#freedombox.emorrp1.name@matrix.org?join) + [xmpp](xmpp:%23libregaming-organization%23freedombox.emorrp1.name@matrix.org?join) [irc](ircs://irc.libera.chat/#libregaming-organization) [archive](https://view.matrix.org/room/!qLhNfILESSCaasbRWB:freedombox.emorrp1.name/) - *offtopic*: for discussions with libregaming folks about everything except libregaming [matrix](https://matrix.to/#/#libregaming-offtopic:freedombox.emorrp1.name) - [xmpp](xmpp:#libregaming-offtopic#freedombox.emorrp1.name@matrix.org?join) + [xmpp](xmpp:%23libregaming-offtopic%23freedombox.emorrp1.name@matrix.org?join) [irc](ircs://irc.libera.chat/#libregaming-offtopic) [archive](https://view.matrix.org/room/!csFYqQwEzkhBXOMzLF:matrix.org/) - *workshop*: for bursts of high-volume organisational activity, when a topic gets too long for the main channel [matrix](https://matrix.to/#/#libregaming-workshop:freedombox.emorrp1.name) - [xmpp](xmpp:#libregaming-workshop#freedombox.emorrp1.name@matrix.org?join) + [xmpp](xmpp:%23libregaming-workshop%23freedombox.emorrp1.name@matrix.org?join) [irc](ircs://irc.libera.chat/#libregaming-workshop) [archive](https://view.matrix.org/room/!uagwTOyQbbWrZgwyPO:freedombox.emorrp1.name/) @@ -46,25 +47,25 @@ For on-topic chat about Libre Gaming, these are the active communities we are aw - [FreeGameDev.net](https://freegamedev.net): bring players and developers together like the old #freegamer on Freenode [matrix](https://matrix.to/#/#general:irc.freegamedev.net) - [xmpp](xmpp:#general@irc.freegamedev.net?join) + [xmpp](xmpp:%23general@irc.freegamedev.net?join) [irc](ircs://irc.freegamedev.net/#general) [archive](https://view.matrix.org/room/!xo5JxKMrkIWOPclbmH:irc.freegamedev.net/) - [Libre Game Night](https://lgn.xwx.moe/): play and discuss libre games such as Hedgewars, Mindustry, Freedoom [matrix](https://matrix.to/#/#libregamenight:libera.chat) - [xmpp](xmpp:#libregamenight#libera.chat@matrix.org?join) + [xmpp](xmpp:%23libregamenight%23libera.chat@matrix.org?join) [irc](ircs://irc.libera.chat/#libregamenight) - [onFOSS-LAN](https://onfoss.hribhrib.at/): online LAN-Party event day [matrix](https://matrix.to/#/#xmpp_onfoss_conference.hribhrib.at:matrix.org) [xmpp](xmpp:onfoss@conference.hribhrib.at?join) - [opensource_gaming](https://twitch.tv/opensource_gaming): twitch channel to bring attention to a lot of great Open Source projects [matrix](https://matrix.to/#/#generalosg:matrix.org) - [xmpp](xmpp:#generalosg#matrix.org@matrix.org?join) + [xmpp](xmpp:%23generalosg%23matrix.org@matrix.org?join) - *SMAC*: чат без смысла и цели [matrix](https://matrix.to/#/#xmpp_smac_conference.bitcheese.net:matrix.org) [xmpp](xmpp:smac@conference.bitcheese.net?join) - *Free, Libre, and Open Source Gaming* [matrix](https://matrix.to/#/#libregaming:matrix.org) - [xmpp](xmpp:#libregaming#matrix.org@matrix.org?join) + [xmpp](xmpp:%23libregaming%23matrix.org@matrix.org?join) ## Matrix From 344ccd6471db3a6b65f8274d9ecd5e0a6d51f600 Mon Sep 17 00:00:00 2001 From: Phil Morrell Date: Sat, 5 Feb 2022 20:09:05 +0000 Subject: [PATCH 12/12] fix about us link --- chat-with-us.md | 1 + 1 file changed, 1 insertion(+) diff --git a/chat-with-us.md b/chat-with-us.md index b3c2bbc..b5cc0f1 100644 --- a/chat-with-us.md +++ b/chat-with-us.md @@ -1,6 +1,7 @@ [About us]. (WiP) + [About us]: https://git.libregaming.org/LibreGaming/libregaming-website/src/branch/master/about-us.md # Chat with us!