I have over 3k Steam entries (~2.5k real games). First I opened the Storepage of every single new Game, read the Tags, added every Tag (most of the time I tried to choose the first 10 Tags) to the Game to Categorize it. ~10 times "Add to..." per game. Fun isn't it?

Then I found Depressurizer which was the only tool that made this bearable - but it's Windows-only!

Sadly I didn't manage to run it on Linux. Tried it under different Wine and Bottles setups, nope not for me! (Maybe I'm just to stupid to get it up and running?)

Three months ago I finally quitted Windows and forced myself to use Linux as daily driver! Glad I did it.

And I told myself: Before I start Windows just to sort my game library, let's start to make one for the Linux Community! Directly on Linux, for Linux!

So I built SteamLibraryManager with PyCharm from scratch on CachyOS.

My App is available as AppImage (good for SteamDeck), AUR, .deb, .rpm, tar.gz:

yay -S steam-library-manager

GitHub: SwitchLibraryManager

What it does (just the highlights - check the GitHub README for the full feature list):

Smart Collections with full Boolean logic (AND/OR/NOT + nested groups) - Steam's dynamic collections have been AND-only since 2018. So I had the Idea with my own "Dynamic Collections" called "Smart Collections".

If you like to see a short Video of SLM

Auto-categorize by 17 rule types: Tags, Genres, ProtonDB rating, Steam Deck status, HowLongToBeat, Achievements, PEGI (Age Ratings), and more

Import all your non-Steam games: Epic, GOG, Amazon, Lutris, Bottles, itch.io, Flatpak, even ROMs with 16 emulator definitions

Metadata that survives Steam updates - we overlay your edits on top of Steam's data so they don't get wiped

Built-in auto-updates for AppImage users - downloads in background, atomic replace with rollback if something goes wrong.

Steam Deck: Responsive UI that adapts to 1280x800. AppImage works in Desktop Mode, survives SteamOS updates. No pacman hacks needed.

Tested on both of my SteamDecks - LCD (512GB) and OLED (1TB). On the LCD one it was a bit tricky because I installed CachyOS Handheld Edition on it and installed the AUR, OLED is original SteamOS where I used the AppImage!

It's my first App, please be patient with me 🙃 I just want to give something back instead of using it just for my own.

TBH: AI tools helped during development - mostly for boilerplate, tests, docs and docstrings because I really hate writing documentation 🙄).

Architecture decisions, feature design, and all the tricky stuff (VDF binary parser, Smart Collections engine, Steam OAuth2) were done by me. Every line was reviewed and tested manually.

I'm not gonna pretend AI doesn't exist in 2026, but this isn't a ChatGPT copy-paste job.

It's a vision I brought to life to help myself, and that I want to share now with the best OS community out there. No matter what Distro!

Linux is awesome, sadly it took me 30 years to realize that, using Windows only!

Greetings from Germany

BTW: If you find any spelling mistakes, you can keep em 😉

all 70 comments

sorted by: hot top controversial new old
[–] 77 points 7 months ago (5 children)

I appreciate the transparency that you used AI.

I'm not opposed to those who use it, especially in projects where its used as a tool and not a replacement for human beings.

  • source
  • hideshow 5 child comments
  • [–] 22 points 7 months ago (4 children)

    Same. I think there's a lot of blanket hate for anyone using LLMs, but at the end of the day, if the completely free, open source projects I use happen to have some assistance from an LLM, or some code is written, reviewed, confirmed to work, not be bloated, or have major security issues, I'd rather that gets pushed to production than expect a maintainer to do even more manual work themselves that they might not be up for.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 11 points 7 months ago (3 children)

    Finally a voice of reason. My work "mandates" the use of AI, but in reality they just bought everyone subscriptions and it's up to you how you use it. I've found it to be irreplaceable for understanding our giant legacy codebase. I'd rather ask it to grep the codebase a few times and get an answer in 5 minutes than spend 10x the amount of time looking through the code for function calls, definitions, conditional blocks etc. It's not perfect, but it helps tremendously.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 3 points 7 months ago (2 children)

    Can you not just use grep yourself?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 7 months ago

    Not really. The point is not to search for something specific, but rather get a bigger context for the thing you're trying to understand. AI tools will take your prompt and create keywords to grep the codebase, then analyze the results and give you an overview.

    It's not "find x" and then the AI just does "grep x". It's more like "where do susbcribed users get redirected when logging with Google OAuth" and the AI does "grep google|oauth|isSubscriber" and from the 100s of results give you an overview of specific lines of code which are responsible for that chain of events.

    I could definitely do that myself (and have, for many years), but this is just faster and easier.

  • source
  • parent
  • [–] 33 points 7 months ago (8 children)

    Maybe you can make the GitHub link clickable and switch to CodeBerg or something in the long run. You talk about leaving Windows, but GitHub is another Microsoft platform.

  • source
  • hideshow 8 child comments
  • [–] 6 points 7 months ago (3 children)

    ChatGPT is also a Microsoft-funded platform. I hope if the OP leaves GitHub behind they'll also apply that same consistency to stop using AI

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 6 months ago (2 children)

    Ai is not chatgpt, chatgpt is ai

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 2 points 7 months ago (3 children)

    Good point about GitHub/Microsoft. Codeberg is on my radar but moving a whole repo with CI/CD, releases, issue templates etc is a bigger task. Maybe as a mirror first. For now GitHub is where the users are.

    I like github! Have many repos there with SwitchBros Community, even if we often have DMCA repos 😕 because of Big N! I know that it is Microsoft but I also saw someone using Edge Browser on Linux, but who am I to Judge ;)? 🤷

  • source
  • parent
  • hideshow 3 child comments
  • [–] 3 points 7 months ago (2 children)

    Someone using Edge on Linux was forced to use it due to some company policy or incompatible web app. There is no sane Linux user unironicaly using Edge as a browser.

    But yes, Windows is also were the people are at, but if everyone develops and distributes its software for Windows, it will never change. So I guess that's why you wrote this Linux app in the first place?

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 1 point 7 months ago (1 child)

    No, it was really his choice of Browser! I was shocked myself watching a YT Video teaching how to setup Linux with tipps and tricks and then seeing that he is installing Edge, saying that he knew many wont understand his choice but that anyone can install what he/she wants! (Which is the #1 point with Linux = you can do what you want instead of: you have to use what we give you and dare you try uninstalling it 😂)

    I tried many Distros out in, let's say the last 20 years of using Windows, and my MAIN Problem was: Trying to do on Linux what I do on Windows! Till, three months ago, I installed CachyOS as Dualboot and set it up! Freed up my mind with what isn't on Linux (Apps I used, wanted to use) and said myself again and again: Learn what Linux offers to you and take the Apps it already has! (Sorry I don't know how to explain it correctly in english)

    With that it mind Linux is the BEST thing ever happened in any way possible (OS and Apps).

    I also got Affinity Suite to work!

    I used MSYS2 on Windows which already uses pacman package manager to change or just translate some Apps for Switch Homebrew! I choosed a Distro wich is Arch Based because of SteamOS and because it was the first Distro that got me hooked, even if everyone normally is saying: Arch isn't for Linux beginners! I love Arch Linux or Arch based, which is the Reason I don't like using Bazzite, Chimera, Nobara! Don't get me wrong they are also really good Distros, but it's not for me personally!

    I buy often Game Packs from one site, and then have 40, 60 or even 100 Games in my SteamClient "uncategorized"! Depressurizer is good but I wasn't able to get it to work = That was the trigger to make something like Depressurizer but "better" and not on Windows as exe or this NET thing and then "convert" it for Linux (we all know how bad conversions are 🙄), I wanted to made it Linux "native".

    But it didn't stop with Depressurizer Functions only! My mind dind't Stop with Ideas I had/have in mind like the Idea with my "Smart Collections" I read to Threads on Steam Forums (Suggestions and Ideas) saying WHY Valve just have AND Logic in Dynamic Collections? I early found out I can't change the Dynamic Collections of Steam (I tried), SteamLibraryManager can read Dynamic Collections (and gives them a ⚡ emoji in the App) and also can save them, or better leave them as they are, so that they are still dynamic collections in SteamClient, but I can make my own Collections that work in SteamLibraryManager with Groups and AND/OR/NOT Logic and are just treated in SteamClient as normal "static" collections. In SteamLibrayManager they are working like Dynamic Collections should work from the beginning!

    OMG I am so SORRY, I am talking way too much!

    Long Story short: I wrote it for Linux because Linux deserves it! And because we have to start to develop more and more on Linux!

    BTW: Windows is loosing! YT Videos showed that DELL kicked Windows, next Video said Lenovo then HP and last Video I saw said that ASUS is now going the same way! 2026 is the year of Linux and I hope it is true 🥰

  • source
  • parent
  • hideshow 1 child comment
  • [–] 13 points 7 months ago

    This looks great! Thanks for sharing OP. I'll check it out.

    And, based on the comments, thanks for being courageous enough to risk sharing your work on this. Yikes. I hope you're able to completely ignore the asshats and know that you put good out into the world!

  • source
  • [–] 9 points 7 months ago (3 children)

    You did a lot of work, congrats on that. Did you try out Heroic too?

    And where can I get this? Did you put it on codeberg?

  • source
  • hideshow 3 child comments
  • [–] [S] 1 point 7 months ago*

    Yeah, SLM can actually import games from Heroic! It scans your Heroic library (Epic, GOG, Amazon) and adds them as non-Steam shortcuts. Check the External Games feature (Ctrl+Shift+E).

    And then you can also Use steamgrid.db to give them a custom Cover ;)

  • source
  • parent
  • [–] 4 points 7 months ago (1 child)

    How does it compare to Playnite?

  • source
  • hideshow 1 child comment
  • [–] [S] 4 points 7 months ago* (last edited 7 months ago)

    It's not a GameLauncher like Playnite, SteamLibraryManager is, like the name says, a Library Manager! I made it to autocategorize my Games! You still have to use SteamClient to start and install your Games!

    And Smart Collections I made because Steams Dynamic Collections doesn't allow OR and NOT Logic, only AND Logic which isn't helpful in any way!

  • source
  • parent
  • [–] 3 points 7 months ago

    Omg Lego Batman 2 hiiii

  • source
  • [–] 3 points 7 months ago (1 child)

    I gave up and started using https://www.lorenzostanco.com/lab/steam/ years ago. Only really need it when I'm trying to find something to play with a group. Annoying to have to make my profile somewhat public temporarily, but it's got all the slicers I could ever want.

  • source
  • hideshow 1 child comment
  • [–] [S] 2 points 7 months ago

    Oh, I changed the link but it was still broken 🤦

    Now the Github Link works!

  • source
  • [–] 2 points 7 months ago (4 children)

    Looks pretty cool, nice work. Any ETA on the Flatpak release?

  • source
  • hideshow 4 child comments
  • [–] [S] 4 points 7 months ago (3 children)

    I'm also transparent on this one: First try I got AI-Slop badge!

    Then I did everything to make the reviewers happy and adressed every mistake I made!

    Then a third reviewer set the Blocked badge... (no answer after two questions about his concerns and I am still waiting)

    Don't know what I can do next! Will ask again and again and hope that I can get it on flathub!

  • source
  • parent
  • hideshow 3 child comments
  • [–] -2 points 7 months ago (2 children)

    maybe if you wanna get on flathub you should try writing your own code first. I'm happy they blocked your slop from their platform, finally someone with a spine

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 4 points 7 months ago* (1 child)

    This is the first and also the last time I answer you because I don't have time for this niveau and bs and because I only hear loud Ocean waves against the cliffs repeating like a needle on a broken vinyl (you know that thing > vinyl > playing music?)

    This is my code, my vision and I had also the Idea to do it! Yes Depressurizer is already there but:

    1. I didn't took the C# source and translated it into python for Linux
    2. Plagiarism Machine? I think I found the honest person on earth (You) because you wouldn't take a gifted Ferrari because it's another vehicle with a wheel and four tires so it is stolen from other cars! They, like many (or all) others didn't had a new Idea or made it themselves!

    Using AI for Documentation and repetitive task, even you wouldn't do! (And don't try to tell me the opposite)

    • I have AUR = Most Importand for me bc Arch Linux
    • I have .deb = for Debian/Ubuntu
    • I have .rpm = for Fedora/RHT
    • AppImage for ALL Distros (with build in AppUpdate)

    It would be really nice to have a flatpak on flathub for more people out there, but I dont't need them!

    I also didn't put the gun on you saying: USE it!!! I just say to you: Have a nice Day and a nice life with all your beloved, because I don't read any comment from you anymore!

    I'll concentrate on the ones with REAL questions, ideas, suggestions worth my spare time that I have with working, family, two kids...

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 7 months ago (1 child)

    I tried to run it, but it crashes right away for me. Seems to be related to Cherry Tree Comedy Club and its sequel.

    When scanning games, I first get these warnings:

    06:43:03 [WARNING] steamlibmgr.database_importer: Failed to import app 214610: sequence item 0: expected str instance, int found
    06:43:03 [WARNING] steamlibmgr.database_importer: Failed to import app 333220: sequence item 0: expected str instance, int found
    

    And then ultimately this crash:

    Traceback (most recent call last):
      File "steam_library_manager/ui/workers/game_load_worker.py", line 59, in run
      File "steam_library_manager/services/game_service.py", line 202, in load_and_prepare
      File "steam_library_manager/core/game_manager.py", line 249, in discover_missing_games
      File "steam_library_manager/services/enrichment/metadata_enrichment_service.py", line 227, in discover_missing_games
      File "steam_library_manager/core/appinfo_manager.py", line 175, in get_app_metadata
    TypeError: sequence item 0: expected str instance, int found
    Aborted                    (core dumped) steam-library-manager
    
  • source
  • hideshow 1 child comment
  • [–] 1 point 7 months ago
    [–] [S] 1 point 6 months ago

    1.3.9 is out now!

    Featureing CloudSync for your Data 😉

    i18n mega-cleanup, security hardening, DRY, rate-limit fixes Also updated all Docs!

  • source
  • [–] [S] 1 point 6 months ago

    How about Stats?

    SLM shows now some Stats 🤗 Fixed some Bugs, Quality Fixes, Security Fixes

    Sorry, but I really like my SteamLibraryManager App, doing excatly what I need it for me to do 😘 (and I like to make it as good as possible)

  • source
  • [–] 1 point 7 months ago
    [+] -57 points 7 months ago (32 children)

    if you couldn't bother to write the code yourself and come up with your own ideas instead of searching for them on the plagiarism machine then I can't be bothered to care about your project.

    scabs deserve to be ostracized until y'all learn your lesson. learn some goddamn class solidarity! https://archive.ph/O6iVT

  • source
  • hideshow 32 child comments
  • [–] 35 points 7 months ago* (last edited 7 months ago) (28 children)

    Yeah! Fuck OP for making something useful and taking the time to share it with the community! Their video demo, time writing this up, sharing commented code, distributing in many formats, and testing on two devices are worthless because they used AI to help skip some boring steps! It's completely reasonable to dictate how someone else volunteers their time and effort to help others without any ask for remuneration, and OP is a scab for thinking they can get away with giving away their working code to others for free!

    OP is a class traitor because... actually, I'm not sure how to spin up some hyperbole on this one. What does class have to do with anything? Is it because GabeN is a billionaire with a superyacht, so anyone making tools for Steam is a class traitor? Or is it because LLMs burn more in compute than they collect in revenue, so every time one is used a venture capitalist loses some of their invested capital in an endless money pit with no chance of longterm profitability?

    I think you should change the class solidarity attack to an attack on OP for environmental reasons, because their marginal use of compute cost about as much as keeping a lightbulb on all day. That's a bright idea.

    But did I get the first paragraph right?

  • source
  • parent
  • hideshow 28 child comments
  • [+] -15 points 7 months ago (27 children)

    yes, if your project contains stolen labor, the entirety of your input becomes tainted by that choice to steal someone else's labor. that's how plagiarism works, genius.

    i can tell you didn't bother reading the article because that would mean you'd have to come to terms with where the parrot sources its ideas

  • source
  • parent
  • hideshow 27 child comments
  • [–] 14 points 7 months ago (7 children)

    Have fun outside after reading this list, because you can't use your computer now:

    https://codeberg.org/small-hack/open-slopware

  • source
  • parent
  • hideshow 7 child comments
  • [+] -6 points 7 months ago (5 children)

    you might wanna read whatever it is you're linking.

    the people there seem to agree with my points and linked the same article as I did in my original comment. as I said to another reply on here, you could've just read the source I linked instead of wasting my time.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 7 points 7 months ago (4 children)

    I read the article. (I think) I get your point.

    Your point as I understand it:
    We should not use AI or things created with it because it is built on slave labor (and stolen data and the destruction of the environment and...).

    But this does not work. It just doesn't. That is why I posted the list. And as good as the list is, it just destroyed something in me when I saw it, because it is literally impossible to use tech and not use AI (-created software).

    Python is on the list, searxng is on the list, most browsers are on the list, fucking Linux is on the list.

    The whole web runs on Linux and python. There is no escape. You commenting here means that you use AI-products.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 6 points 7 months ago (2 children)

    There is no ethical consumption under capitalism.

    That doesn't mean we shouldn't strive for it. It just means we just have to do our best and understand the constraints of the real world.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 5 points 7 months ago (1 child)

    That is correct. We should strive for the best but this also means choosing the battles one wants to fight and the battle of "looking into everything if it has ai-generated code in it" is not the one I am willing to exhaust my time and strength with.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 7 months ago

    sorry to say but if not using AI whenever a developer openly boasts about using it is too hard for you to avoid then I doubt you're actually "choosing your battles".

    what other battle are you dedicated to so intensely that the simple act of not clicking download is so impossible?

  • source
  • parent
  • [–] 1 point 7 months ago

    if I applied this defeatist logic to other things then my history of using Windows for decades would've invalidated any of the Linux advocates trying to get me to leave my abuser Microsoft.

    i could've wallowed in complacency and used Windows until I died instead of applying myself and learning a new ecosystem.

    by this logic, all the Linux users are virtue signaling because now that Linux is also flirting with AI, all the efforts to promote open source are null because they're "just as bad as Microsoft".

    this is the same logic that we as white people use to buy a new phone every year even though that contributes to more slavery in the cobalt mines when just buying a refurbished phone would've both been easier on our wallets and would've lead to less market demand on the child miners in the DRC.

    just because I can't find every single appliance I need to survive on the used market, that doesn't mean that I'm now justified to upgrade to a new smartphone whenever my current one loses the shiny bubbly feelings it gives me. i believe this is what leads gamers to make excuses for AI usage in their favorite products. as long as they can live in ignorance and aren't forced to come to terms with how the sausage is made, they'll continue invoking asinine excuses for their harmful behavior. if white people started seeing Black people as fellow human beings, then any hint of slavery in the tech supply chain would lead us to boycott big tech and AI whenever possible.

    black and white thinking and perfectionism are self-defeating learned behaviors that can be unlearned with time, you aren't doomed to inaction for the rest of your life. the choice is yours whether you apply this knowledge to your everyday life to fight for labor rights or you continue to wallow in impotence.

  • source
  • parent
  • [–] 3 points 7 months ago (2 children)

    Thanks for your insight. 👍

  • source
  • parent
  • hideshow 2 child comments
  • [–] 6 points 7 months ago (11 children)

    I think you're confusing A LOT of concepts here.

    The "plagiarism" bit is about LLMs generating images or stories. All these have been trained on stolen art.

    The code-building part of LLMs was trained on public repos, official documentation, etc. I haven't heard anyone saying that LLMs used "plagiarised code" to learn coding.

    And before you go "if they used GNU/GPL repos, they must open source their models" - I don't think that's true. Unless you also think that a person learning to code on GBU/GPL repos is obligated to open-source everything he subsequently codes?

    I might be wrong, though, open to duscussion.

  • source
  • parent
  • hideshow 11 child comments
  • [–] 4 points 7 months ago (10 children)

    Open Source community wasn't happy that their code got used to train LLMs either.

  • source
  • parent
  • hideshow 10 child comments
  • [–] 2 points 7 months ago (9 children)

    Well, if you're open sourcing your code, you can't really complain when someone uses it, no?

  • source
  • parent
  • hideshow 9 child comments
  • [–] 2 points 7 months ago (8 children)

    There many different kinds of open source licenses. Not every license that comes with open source software, gives you the permission to do with it whatever you want.

  • source
  • parent
  • hideshow 8 child comments
  • [–] 3 points 7 months ago (7 children)

    None of the open source licenses prohibit the use of code for learning purposes.

  • source
  • parent
  • hideshow 7 child comments
  • [–] 0 points 7 months ago (5 children)

    A whole bunch prohibit commercial use, don't be obtuse

  • source
  • parent
  • hideshow 5 child comments
  • [–] 2 points 7 months ago (4 children)

    Well, now we venture into legalese.

    LLMs are not incorporating the used code (in theory), so the copy-left clause does not apply.

    It's like if you read an GNU/GPLv3 source code from something, learned from it, and therefore any time you write any future code you MUST apply GNU/GPLv3 to it. It'd be insane.

    If we assume that training an LLM is like training a person, then obviously the copy-left clause does not apply.

    If we assume that training an LLM means actually incorporating the code into the product, then the entire thing either needs to be open sourced, or cannot be used commercially.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 0 points 7 months ago (3 children)

    Why the fuck would we assume training an LLM is anything like training a person?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 7 months ago (2 children)

    Because it kinda' is...?

    The type of knowledge retained is massively different (understanding of concepts vs memorisation of patterns), but the concept is the same.

    And, again, if you want to consider the use of copy-left code in LLMs as infringing upon open source licenses, do you also want to consider using effectively the same pieces of copy-left code as said infringement?

    If a human writes a simple "Hello World" in C++ after learning how to do it from a copy-left tutorial, does their "Hello World" now requires the use of an identical license?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 0 points 7 months ago (1 child)

    Human output is innately transformative, and our "training data" is lived experience vs pattern recognition. You acknowledged that but imo don't really appreciate what it means. We are doing more than regurgitating inputs even when our output happens to be repetitive. A LLM is only regurgitating inputs even when its output happens to be unique. It is no more than the sum of its parts, and stolen parts mean stolen output.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 7 months ago

    We're kind of veering into philosophy here. "What is learning" and "what is inspiration"? If you're inspired by some things, are you "regurgitating inputs", or are you performing an act that is innately creative, transformative?

    And then we can veer into a bit of lawyering too - are the billions of code files that contain flat-out copy-pasted pieces of open-source code with zero attribution or license compliance more or less moral than OP using an LLM to speed up their coding of an original product?

    The milk is already spilled. I would love nothing more than to bring those who stole and plagiarised to justice, but that's just not the world we're living in.

  • source
  • parent
  • [–] 4 points 7 months ago* (2 children)

    humanity is build on "stolen" labor in every one of it's aspects

    from you being educated by other peoples knowledge without their explicit conscent, to you consuming calories that you stole from other living organisms

  • source
  • parent
  • hideshow 2 child comments
  • [–] -1 points 7 months ago (1 child)

    you're truly a titan of ethics.

    me needing food to survive is totally just as important as some random vibe coder relying on colonized labor from Kenyan data labelers to soothe their ego and feel smart. totally not inspired by a Malthusian logic

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 7 months ago*

    Yet you're wasting silicone, energy and your time arguing on the internet, which is equally unimportant if not less so.

    (At least some AI coded software is useful and saves some time and energy when it solves a real world problem. Whereas your ramblings only ragebait others to waste more time and energy replying to you without creating any real world value for anybody.)

    It's easy to point fingers, but everybody has their own shitstain.

  • source
  • parent
  • [–] 5 points 7 months ago

    Wow. The OP wrote a tool, because there was nothing that satisfied him. And he gave it away for free and even Open Sourced it. You have no rights to be angry. You have rights to criticize the project, but no one is forcing you to use.

  • source
  • parent