Proposal: Community-supported git org or for outdated modules and plugins

Started by edmundito, Fri 19/04/2024 15:18:12

Previous topic - Next topic

edmundito

Hello, this is neither a new plugin nor a module but a discussion on what to do when modules are outdated, and I wanted to propose something. (Moderators: Feel free to move this thread to the proper forum)

Currently, when modules and plugins are outdated, there's a lot of word of mouth, communication through forum replies, Discord DMs, or secret connections to get an updated version of the module. This is rather tedious and discouraging for game authors who want their games to work with little technical work and an unfair advantage to more seasoned members of the community who have more connections and time to get what they need.

I want to propose a way to allow AGS community members to maintain plugins and modules: With the help of the admins, we create an org in GitHub that is more open to the community, where all the outdated plugins or modules can be forked or hosted (if there is no online repo). The community can contribute to it openly and without restrictions other than providing quality code. It would be separate from the /adventuregamestudio org to have more flexibility and give more people access to the repos while being less restrictive.

I'd be happy to administer this for a while while seeking more support, but I'd like to work with the existing admins to get things set up.

Thoughts?
The Tween Module now supports AGS 3.6.0!

eri0o

I think this initiative can only work if it starts and someone has to be it's maintainer and stay with it for a long time.

Most of old code feel quite terrible when I look at, probably due to whatever limitations AGS had at the time. I would say that chatGPT is good at helping understanding the code - it's suggested comments and refactor are usually useless, specially in AGS script, but I use it to do archeology in my own codebases with some success. Most of old AGS code from others that I looked into were quite impenetrable at first look and only after breaking functions and properly naming variables I could understand something.

I am not so sure on how many libraries that are old exists that are still useful. Haven't used any, do you have some in mind already that caught your attention?

Crimson Wizard

@edmundito when you say you want to do this "with the help of the admins", which admins exactly are you referring to, and which help exactly do you need? At the moment this is not clear.

I agree with what eri0o said about maintainer, these things never work without leadership, they just stall and get disorganized, so you either take responsibility yourself, or wait until someone volunteers, which may be a very long time.

Snarky

If this is primarily intended as an archive of old modules (I believe there are very few plugins that are open-source), I think we need to consider what we can do without explicit permission from the original developers.

Many modules have been released without any defined license, and although one can probably argue that the act of posting them grants implicit permission to download and use them in a game, is rehosting them OK? Is modifying them OK? Is sharing the modified versions OK? By strict IP rules, probably not.

There's a difference between being "open-source" in the sense that the source code is available (which for AGS is more of an "accidental requirement" of releasing a module/library), and being "free and open-source" in the sense that you have permission to use and modify it freely under certain terms.

edmundito

Quote from: Snarky on Yesterday at 13:07:54If this is primarily intended as an archive of old modules (I believe there are very few plugins that are open-source), I think we need to consider what we can do without explicit permission from the original developers.

You're on point: Any outdated module that people are having trouble with can be forked or added to the repo and updated so that people can have a stable version.

Quote from: Snarky on Yesterday at 13:07:54Many modules have been released without any defined license, and although one can probably argue that the act of posting them grants implicit permission to download and use them in a game, is rehosting them OK? Is modifying them OK? Is sharing the modified versions OK? By strict IP rules, probably not.

I was not aware of this. I guess there the tricky part is that if the module has no specified license, we cannot fork it due to IP rights?

In that case, then it would be for modules or plugins with a license where the author is no longer available to make updates, for whatever reason.

@Crimson Wizard I can take ownership and make it available to the community so that it can be used.
The Tween Module now supports AGS 3.6.0!

Alan v.Drake

I'm not sure git is the best way to store modules.

When looking for a module the first information should be which AGS version is compatible with, there should be filters, an easily accessible history from which you can download the right version, a way for users to submit a new version for an abandoned module, declaring a dependency to other modules, and perhaps a clear license.

Git is not for everyone, and expecting a maintainer to always be around to oversee modules is unrealistic.

The problem here is convenience, and the only solution I can think of is creating a platform that makes these actions convenient.
Basically what eri0o was doing with agsModuleList but more fleshed out.

I could do something simple with a bit of PHP.
At the moment I'm swamped with work, but I could work on it in 3-4 weeks from now. We can discuss the specifications in the meanwhile.


- Alan

eri0o

Uhm, I think these are different things. I still store the source code in a git repository of js library that I develop and release to npm. Same for my python stuff that I release to pypi.

I think git is just how to sanely maintain the project source code and make collaboration viable.

The package indexer is for more convenient consumption of the released product with extra features - like dependency manager and such. They are just different things afaict.

Alan v.Drake

Exactly, they are different things. Here I'm presenting the user side of things.

GIT is great for us developers, but for an average AGS user going through GIT to find things is an obstacle. Not to mention forking and sending a PR.

There's a reason the main platform for sharing modules continues to be the forums. I just think neither forums nor git are the best fit for managing them and showing them to users.

Not many in the community might have the drive to submit PRs to github for modules, but they might post code fixes on the forum thread. But the forums aren't particularly amazing for managing modules, they're just more accessible than git platforms, which is why I wonder if it isn't worth building a site to manage and upload modules with greater ease.



Plugins are a different matter, of course. They're not just a pair of ash/asc code snippets anyone can create or fix, and I fully agree they should be somewhere on github.


- Alan

SMF spam blocked by CleanTalk