OGA Site Upgrade!
After much deliberation, patching, etc it has been decided that the best way forward for Open Game Art is a site upgrade and redesign. A lot of the modules and otherwise that OGA has used over the years are quite long in the tooth or no longer supported making upgrades and fixing issues increasingly difficult. Unfortunately, OGA is running by a team of volunteers and the current developers of the site are unable to accomplish this by themselves in a reasonable time frame as the current site maintenance takes most of there availability.
As such this is an open call for anyone interested in helping with the project, the new OGA site will be licensed as an open source Drupal 8 Module under the AGPL v 3.0
If you have experience with Drupal, CSS, PHP or anything else that may be of assistance we would love any help you can bring.
If you are willing to assist in any way please contact Botanic on IRC.
Have a good holiday and thank you to anyone who is willing to offer any assistance.
- Botanic's blog
- Log in or register to post comments
Comments
Yeah, aging infrastructure is also plaguing us over at FreeGameDev.net
However I would strongly suggest you look into a Fediverse (Mastodon, Funkwhale, Peertube, Hubzilla etc.) enabled platform.
With Drupal 8 it seems like you could use this:
https://github.com/swentel/indieweb
together with this:
https://fed.brid.gy/
to get everything bridged to federated platforms.
I am happy to help, but I really need to find the time to update our various services at FGD first.
Ya unfortunitly our biggest issue is that OGA uses 292 drupal 7 modules at the moment, currently mulling over some ideas for how to optimize that a bit. Our biggest issue tends to be that small features such as the music preview button takes a good amount of trickery to get working.
No, your biggest issue is a lazy site admin that rakes in a crapload of money through patreon and never does anything for it.
Well, let's get it all right and move on.
The patron money goes to paying the hosting costs, and barely covers that, OGA currently runs on a system with 12 cores and 24 GB of ram, uses 484G of storage space, and has almost 5000GB of outbound traffic every month. On top of that, there are the costs of keeping regular backups of the site, as such, there is basically no funds left over after paying the hosting etc even with the discounts provided to OGA by the hosting company.
OGA is not hosted with Amazon but it is hosted on a similar platform, you can check there pricing at https://calculator.s3.amazonaws.com and see that on EC2 the hosting costs would be ~$650 give or take, which is roughly double the patron.
One of the goals is to hopefully reduce the hardware requirements and optimize the codebase during the upgrade which would obviously be a good thing, yet at this point the site really eats a lot of resources as the site gets many page loads every second and the only way that the site responds as well as it does is with large amounts of memory based caching and a fair amount of hardware.
If you have any constructive criticism or suggestions please feel free to share, however, let's keep everything civil and not jump to conclusions or spread unfounded rumors.
"OGA is run by a team of volunteers........."
Firstly, A big thank you for those that take the time to spend on OGA and do all that they can to keep OGA going.
What is so special about 'Druple'? Maybe it is worth considering a different code altogether, one that more people are aware of using or more familular with. you could have more people able to assist with the sites code, fixing bugs or adding features and admins.
Secondly.
Although i dont mirror Duions comments, I can see why some may find it frustrating. Asking for funding to keep things running is expected as we all know these sort of things have a cost, but having an active funding account from someone who appears to be inactive is going to raise some eyebrows. Im sure Bart is in and out, and just because he doesn't make any comments doesn't mean he is not around. But if we look closer (espeicially new users), the Patreon page has been stagnent for many years, the twitter is none existant, and there hasn't been a post here on the site from Bart for a long time either. The community doesn't know what gos on behind the closed doors of OGA, we can only assume, but the community is key here at OGA so i think it's important that we are kept in the loop with whats going on, even if nothings going on, it really wouldn't hurt to have an update post/blog more often from whoever is able to do it, or even Bart himself, it will go a long way i reckon, and i say this with the greatest respect and mean to be constructive.
@Botanic your comment above was enough, it highlighted some things i never knew and helped me understand things here a little better. thanks :)
Then switch to a proper hosting provider, you can cover all your needs with $50-100 per months, everything above that is completely wasted money and in the end it is not much difference if the money vanishes in some admin's pockets that does nothing for it or some overexpensive hosting provider that also provides nothing for all that money, wasted is wasted.
And I'm pretty certain the donated money is way over the hosting costs, Bart himself told me that hosting costs were around $100 dollar when he was still active, which is still 100-150% more costs than it has to be, but I give it that it is better to have oversized capacities than not enough, but spending 10 times the amound on hosting than it would cost is pretty incompetent. At some times the donated money was around $1000 per months and it gradually went towards $300 or so now, which is still more than almost any open source content creator that does real work. So there is no way this is all for hosting costs and I cannot believe a skilled programmer like Bart is that stupid to give all that money to some shady overexpensive hosting provider.
good luck!
Your css, html, js whatever skills are mostly useless here, you need a skilled drupal developer and/or sysadmin, otherwise the site is going to die long term, having a big group of unskilled volunteers is not going to help.
We asked for assistance, if that's a problem for you then you don't have to offer any.
Durion I am going to warn you one last time, constructive criticism or suggestions are appreciated. However, I will not allow put-downs on unpaid volunteers or admins who do the best job they can.
If you have a problem with any of this you can contact me via pm on IRC.
It is not about the unpaid volunteers, it is about the paid person that does not do his job and scams you out of your money.
My criticism about that are not unfounded rumors I know them to be facts with absolute certainty.
For that amount of money you could have easily gotten someone who will not only pay all the hosting costs for it, but fix all your problems and give 24/7 support, there would be no need for unpaid volunteers at all.
I guess it is worth looking into options to reduce drive-by traffic. For example there used to be a Drupal plugin to automatically sync audio files with Soundcloud. That way you can host the files for download, but all the traffic for people just listening to audio-files is redirected to Soundcloud or a similar service. And you don't need to fix the click to play sound button either ;)
In general I am also a bit surprised about the high hosting costs.Via netcup.de you can for example get a 14 core Xeon, 64gb ram, 2TB SAS, 1GBit/s root server for less than 50€ a month right now.
But I am also guessing there is a huge amount of wannabe game developer kids with fast internet connections that just vaccum the downloads ;)
Regardless of that, maybe it makes sense to split off for example the music files into a seperate site that federates with the main page (which remains with the main focus on game-ready pixel art). That way hosting costs and traffic load could also be balanced better and Funkwhale might be an interesting platform for that. Or maybe Peertube could be interesting as it has build in webtorrent that results in the people listening / watching audio or video files actually seeding the data via their own upload and thus the load isn't only on the main server.
Durion this is the last time I will warn you, your idea of "certainty" is completely false and off base. If you are so certain please find someone willing to take care of site bugs in PHP, system administration (python, PHP, bash, etc), fix issues with filesystem bugs, host the site, take care of it when people try and break in, resolve issues with newer browser versions breaking stuff, fix issues in Drupal, etc etc. For $300 per month. Oh, and of course 24x7 availability.
Until you give me the name of a reputable company that can provide that you need to stop. This is your final warning.
If you have a problem with the patreon then don't donate, even politely voicing your concerns is fine, but flaming, insulting, and talking about things as tho you know what is going on when you really have no idea of the facts will not be tolerated from here on out. If you think the earth is flat, well that's your prerogative, but don't come around yelling at everyone who disagrees with you.
@julius that actually looks to be a reasonable deal they just don't have options that provide enough high speed hard drive space and a few other details such as reliability iops etc, but thanks for the suggestion.
As for hosting the files on someone else's system that is the last resort option. Saving 100$ per month even won't do much for making it so that someone can be paid to work on the site even part time so it's not the biggest concern at the moment, and the cost of the bandwidth isn't the largest portion anyways.
You see even Julius who hates me confirms my points, except that he is wrong about cutting traffic, many hosting providers provide also unlimited traffic with renting a server, of course there is a limit for heavy users, but even this site is not a heavy user, so there is no need to worry about traffic.
Well for $300 dollar per month it will be hard to find someone, but with $1000+ the site once received, it would have been quite easy, but even with $300 per month you can find a volunteer from a poorer country who will happily do that as a job.
I mean the mere exeistence of this site is proof, that an admin can run a website for years without doing anything and being paid well for it, it is like free money, I can imagine a lot of people would love to apply for such a job. However sometimes you have to do some real work, but if you are a skilled admin, you can mostly automate your job, so that you barely ever have to do anything, even redoing and porting the whole site may take just a few days up to a month or so, but the rest of the year you can have holiday again and for that even as little as $300 per month is a damn good deal.
Haha, I seriously don't hate you at all. But with your argumentative bad attitude we had no choice but to ban you on FGD. Just spend less time trolling (intentional or not, that is what you are doing here as well) and you and everyone who interacts with you will live a happier life :D
Anyways... my argument is that by cutting simultanious(!) traffic you also cut all other server system requirements except for hard-drive space (and even hard-drive speed is less relevant then).
Also if you are just externalising the drive-by traffic for comfort features such as audio-streaming there is really very little reduction in the quality of service except that users of these comfort services will of course "pay" with their traffic metadata due to being redirected to such data-mining sites.
Ah okay, pointing out reality is a "bad attitude" to you that has to be censored.
With $300 per month you could rent 6 of those super Xeon 14 core servers with 1 gigabit connection, but somehow we have to cut down traffic, since supposedly those hardware cannot even handle 5 terrabytes of traffic per month.
Your argument is like "Oh we have too many customers, we have to slow them down and throw them out", which is absolute insanity. Basic common sense is, if you run a business and it is growing, you will expand and not cut down.
Duion I have warned you more than once, you are going to have a 1-week timeout. You can contact me on IRC if you have issues with it.
First, I'm interested on this one, I had some experiences on building PHP sites, but the problem for me is that Drupal thing, it just not familiar with my working enviroment. Although I believe everything can be learned. So, I'll try to check your git sometime. But in a perspective of myself, as a developer, I think the best way to deal with your listed problems are using other framework, or even some rebuilding the way things handle data. Using drupal is actually good because it's a well known framework and used on many hosting with built in cpanel out there. Keep the fire on, I'm not saying that I could help, but I'll try to check the open source first.
I always think the best way to make confusion and insecurity dissappear is transparency and information. It doesn't help the case to say "It's the hosting which is so expensive, but that's not even our biggest concern." without going into depth. That sounds like OGA doesn't want anyone to know what's going on behind the scenes and that, of course, makes people sceptical. That is not to defend anyones attitude or social intercourse. Why not make a detailed list of what the costs are exactly made of? Hosting provider, tariff, server specs, traffic statistics, eventual fee-based modules, ... Tell people what the money is used for, in numbers, and keep that list accessible and up to date once a month. :)
OGA is a project surrounding licenses of open culture and often enough open source projects and receives monthly donations worth multiple hundreds of moneys or more. If OGA would be more open and transparent about itself people could actually help alot better. We don't know much about how this website works and OGA always felt like a closed source project. Uploading OGA2 modules, which might not even be used or updated anymore, doesn't really change that. Please don't misunderstand me: I don't think OGA should make everything transparent, just because it receives donations. Of course, donations are not like traditional payments where you can expect something in return. I just think transparency would help with the confusion and give people better possibilities to help out.
I also think a seemingly inactive admin being the one receiving the donations is not helpful, too, even if the donations in fact reach OGA which i don't doubt. The Patreon page looks dead since almost 5 years and Bart seems to not have written anything since years, too. Same goes for the Twitter and Facebook pages, they're all inactive since years. It's good that there are moderators and others keeping the page running in their free time and i'm sure we're all thankful for your work, but a seemingly inactive admin who represents the whole project inevitably raises eyebrows. :)
I would strongly recommend taking the responsibility off of Bart and split it onto multiple people and turning OGA into a collective. True, Bart started OGA but he doesn't have to stay the number one responsible person until the end of all time. Split it up and, who knows, Bart might feel relieved and even become active again. Next, create a Code of Conduct, a concept which is successfuly used in many communities around the world, online and offline, and which even works on GitHub repositories for example, actively speaking out against any form of discrimination and harassment (calling people "stupid" for example is conceptually ableist, always and no matter how it "was meant", plus it's not helpful anyway), encouraging people to be welcoming, respectul and including to make OGA a safe and friendly place and to not have to give multiple warnings anymore if someone behaves bad (which a CoC also defines). Next, look around for friendly and active people and ask them if they want to be moderators, e.g. for the forum, but also for checking spam reports which is a constantly recurring task. Also, a news person writing articles about projects / games using stuff from OGA would be nice, too and could also promote the website to a wider audience if links are exchanged. And revive the social media pages if you want to keep them. I'm not sure if having a dead page isn't worse than having none at all.
These are my thoughts. There's propably more which could be done or i might even be wrong with something, but since we don't know anything we cannot do much - only what you tell us about which, in this case, is Drupal - and which i don't know anything about. So, sorry for a bit off-topic from me, too. :)
@hernandack: yes, I'm also not terribly familiar with drupal. We could switch to another framework, but we definitely need a robust CMS framework at the very least. OGA is big and complicated; lots of file types, lots of widgets to get images and thumbnails auto-converted, etc. Drupal is such a CMS framework, and switching to another CMS has no guarantee of being any more familiar to more users. We also know that the current data is organized in such a way that migrating from Drupal to Drupal is going to be easier than migrating from, say, Drupal to Joomla or something. I'm not saying we won't be changing to some other framework. Just that I don't know of a superior alternative at this time, despite my own unfamiliarity with it. I am looking forward to exploring drupal 8 though! :)
We are certainly looking for interested people who would like to help out with both coding as well as UI design and even sql data migration. If you're interested in helping out, drop us a line!
@bonsaiheldin: agreed. more transparency = more understanding. I can't speak to the patreon stuff since I don't have any dealings with that, but I like the code being openly available as a start. The current OGA2 code being available is definitely useful since it allows coders to see how the code currently operates, which informs how the code could operate (or should be fixed) in OGA3 code.
OGA does currently have a code of conduct already: No discussion of religion. No discussion of politics, except relating directly to copyright, the Creative Commons, and/or FOSS. Don't be racist, homophobic, or otherwise hateful. More details on the FAQ, but this is intentionally very simple. Bart feels (and I agree) that adding a bunch of specificity doesn't actually prevent additional offense and often serves to promote people trying to find edge-case loopholes where they push the envelope to see just how far they can go without getting banned. While enforcing the rule "Don't be racist, homophobic, or otherwise hateful" makes more specific rules superfluous. (like "don't be ableist, don't use covert anti-semitic hatespeech signals, don't use microagressions to make backhanded insults" which are far more difficult to accurately define) Most users violating the CoC do not do so because we didn't have one or because they weren't aware of its existence, so I am not sure if a more formalized CoC would prevent much. However, it may be worth exploring a way to make this CoC more prominent to new users in the new verstion of the site. :)
Having more people manage the various social presentations of OGA as well as the day-to-day administration of the site is a good idea, and we're well on our way toward that end: OGA's social media accounts are being extended to a few select volunteers. For starters, the OGA GitHub is now official and active (Thanks AntumDeluge and Botanic!)
@bonsaiheldin: we are working twords that end!
Back on the topic of technical things: Drupal in general has the major issue of the Version 7 to Version 8 chism that created a lot of issues and incompatibilities. It also really shows its age in many regards.
More OGA specific, I think an issue is the monolithic nature of the software infrastructure (also a sign of the aging base). These days a set of interoperable micro-services is really the way to go. For example the comments and the general discussion forum could be realatively easily replaced by an embeddable Discourse* or NodeBB forum with a user SSO mechanism**. That would also significanltly reduce the complexity of the Drupal core site maintenence. Discourse or NodeBB (or maybe Flarum) are also *much* nicer forum softwares than the current very limited and aging Drupal plugin this website uses.
*https://meta.discourse.org/t/discourse-working-as-comment-engine-replace...
**https://www.drupal.org/project/discourse_sso
Please have a look at this new Drupal8 plugin that claims to turn it into a DAM (Digital Asset Management) software:
https://www.drupal.org/project/dam
Maybe there is also a theme/skin that goes well with it.
@Julius
I hope no one takes your dangerously incompetent suggestions serious.
Every time you replace a part of a live website with that size is a big risk that everything blows up, even if you manage to migrate such a massive database and it works, it may later blow up and cause even more damage and even if that works, the potential security risks of that largely untestet module in alpha state will at some point cause problems. The webpage itself you postet even warns against using it. I mean it looks like you deliberately want to cause trouble when suggesting such things.
@Duion: your reply lacks constructivity and is full of the exact sort of thing you accuse others of: "it looks like you deliberately want to cause trouble when suggesting such things." The 'last warning' given above remains the last warning. Find a more polite way to give useful responses. I'll even give you a week to think about it.
[Duion re-banned for 1 week]
I have nothing to offer on the tech side of things, but I think going forward, it would be cool if there was a bit more emphasis on community. The game jams are great, the art contests are...a bit inconsistent and I think that's why participation (at least in my experience) is a bit low. You have a few types of users here: people who need assets to make their games, people who post art as a hobby, and people who post art as a way of networking and are looking to work in games professionally but haven't gotten a break yet. Having a "contest winners" tab or at least saying something like "the reward for this contest is your artist page will be shown on the front page for a month" Something like this motivates professional ppl because their name gets out there, and motivates hobbyists because it does feel nice when ppl complement your work. Really just anything to motivate ppl because the content creators are the ones attracting ppl to the site. If the site feels like a wasteland, less ppl will go here. If it feels like there is a vibrant community, ppl will stay here and try to network with others. I think right now the community is really positive, I (almost, cough cough) never see anyone being rude or difficult. I get it, ppl are volunteering using their own time...but it doesn't seem too hard to have an art competition once a month. All it needs is a theme idea and a post on the front page, ppl vote on the rest. If it's too hard to find a theme that encompasses all art styles (3d, 2d, music, sounds etc) then have more specific themes but alternate between different art styles over time. Really anything to look like the site is being taken care of and people are using it because there was like a year where the front page blog didn't update and it just looks bad to a newcomer.
Ive met some cool people here, i know there are a lot of amazing ppl that frequent this site, it would just be really cool to have a reason to talk to them and for the site to bring more people together under the banner of game development!
Tldr
Let's have contests on a consistent schedule so that the site doesn't feel dead and let's focus more on connecting people.
I understand the reason for the use of the drupal and all 297 addons is because limited developer availabilty but maintaning that has to be a NIGHTMARE and a huge time sink when conflicts happend these stuff do not want to work together. Also probably many potential security issues.
I suggest that make it all a custom single OGA plugin. That is if it has to be Drupal. If the avaliable developers have limited Drupal 8 knowledge(D8 kinda has a high barrier for entry), i suggest something like; start with Laravel or Statamic and go from there.
@quadraxas
Yes, it is a nightmare, but making it a single plugin is one of the most stupid things I have read here and there already were some really stupid suggestions. Using existing plugins is good, because someone else maintains them already. So maintaining the whole website is not that much work as many might think, I mean it runs for years now with hardly any maintenance from its nonexistent admin, this should prove my point sufficiently.
This is only so much trouble because people are incompetent, a skilled developer could just rebuild everything in maybe a month of work, I could do it and I'm not even that skilled. But migrating the website as well is a potential nightmare, since if only one of the 297 addons fucks up, you end up with lots of corrupted data that hardly can be repaired and the site would turn more broken over time like it has done already in the past.
Upgrading from current version to drupal 8(probably with many of the 297 addons not updated for 8) will make the data migration a nightmare anyway.
I am sure there are many plugins in that 297 that does a lot of work and heavy lifting, but number 297 also suggets that there are a lot of plugins used for tiny little things. Use maybe 30-40 plugins that do a lot of work, but write others from scratch, especially the ones that do not rely on any data and just modify the ui. Like for example that play button on sound assets, instead of using 3 plugins that result in a play button with a very grotesque markup, add that to OGA master plugin or whatever you want to call it with markup exactly as you want it.
I don't think you get the concept of a modular system, the philosophy behind it is so you have a module for each task, if you create modules that do different tasks you don't end up with less modules, but more modules. There is no problem having so many modules, since they are all maintained by someone, so there is no problem. But if you write a module yourself, you have to maintain also the module and of course test it a lot before using it in a production environment, since if you have bugs in it, they can destroy the whole site. Most module creators upgrade the modules for newer versions of drupal and if the modules are unused and unsupported, you should not be using them anyway or chose to maintain them yourselves.
Of course there are a lot of problems now with custom modules that are no longer maintained since the creator of the site bailed with the patreon money instead of doing work for it, but I already explained that in detail and got banned 2x for that, so you better deal with that yourself, I cannot help you with that.
Actually did not know that. Maybe just pack up, scrape the site and move on to anew place with an open governance model and restart the project, instead of one guy possibly bailing away with patreon money.
Also i get what you mean, from this thread and the redesign thread i thought that the current infrastructure was unsalvagable/unmaintaniable and required a major rewrite. I thought that this was in part because of using many plugins(stated in both threads a couple of times). I know about modules, i use node and npm, i know the idea, i know what they do. But instead of using a module last updated 6 months ago with only 100 downloads last week for a small task, i just go ahead and implement it myself. And i am just not too familiar with drupal scene, but from what i can see not all modules are really updated all the time. Widely used and popular addons probably has an upgrade path and revenue stream but i do not think all 297 of them has that.
@Duion: You weren't banned for "explaining" anything. You were banned for being unconstructive, confrontational, and insulting. You know, things like "the most stupid things I have read here and there already were some really stupid suggestions."
As stated before, one guy did not bail with patrion money; it pays for hosting and maintenance. I know you have charts full of equations showing how that "just can't be", but you're still wrong about that. Could hosting be cheaper? probably. Should we try to get cheaper hosting? Wow! good idea! What would it take to pursue cheaper hosting and lower maintenance costs? I think we might be able to do it, but we'd need to revamp the site's framework and get a layout that works better, so- OH WAIT! That's exactly what this thread is about.
There is no issue with holding authority accountable. If "the truth" were somthing we were afraid of, why would we leave your rants visible to the public? But that isn't what you're doing, Duion. What you are doing is making wild assumptions, asserting your own flawed stance, and making this a more hostile environment while you do so. Unfortunately I have to re-tempban you for being hostile and insulting... again. The temp part of tempban is going to disappear after this one. If you have any questions about how to conduct yourself on this site and avoid a permaban, you may private message me. I will respond to any questions or concerns you may have and I wont even ban you no matter what you say in the PM. :)
@quadraxas: Starting a new site with an open governance model is not outside the realm of possiblity. I'm actually for that, though it seems like more work than revamping the existing project. Part of the goal of the "OGA Site Upgrade" is having a more open site, code-wise as well. That was why we opened the site code to public view and contribution. If it looks like starting a new site from scratch and migrating the archive over to it is easier than reworking the existing site, I am on board. :)
Duion is right insofar as the number of modules is less relevant than how easy the modules are to maintain. quadraxas, you are correct in that a huge number of modules is unwealdy. We definitely want to use the fewest number of modules necessary, but we also want to use the least number of custom modules that are specific to OGA. The more general-use modules that are maintained by 3rd parties, the better. Only ones that help us, obivously.
Are the 297 modules you're referring to on the OGA3 codebase? or is that 297 modules you're seeing on the OGA2 codebase? If it's OGA2, well, yeah we don't want to use all those. We don't want to mimic that part. That's one reason we're redoing the OGA framework; it's bloated. I haven't looked at all the modules being experimented on in OGA3, but I'm guessing many are still experimental and not intended to be used in the version we put into production. If there are modules not being maintained, of course we want to avoid those or roll them into a separate more cohesive custom module (Like I said, we don't like custom modules because we have to maintain them, but if no one else is maintaining the alternative, we might as well put the functionality where we want it).
Okay, then instead of talking about politics and who knows what better, project needs a clear roadmap.
I think this discussion would be more suitable for a discrod channel or the irc channel but there are many things to talk about and decide before doing any actual development.
First things is to determine the available skill set and time availability of volunteer developers. I am talking as if this is an enterprise software development project, but it IS a software development project and you have to have a actual measure of how much development you can actually do.(you should also consider future maintainability not just development resources available right now)
From there of course people involved should decide on may things. How much custom development drupal 8 vs other alternatives require?(I think amount of custom development went in to the OGA2 backend could give some hints there.) Is it feasible to move on to drupal 8 or use something else developers have more experience on?(Drupal 8 probably cuts down required development work alot though). Will you abondon oga and move to a new site or build on what you already have? Will you try to migrate everyting or archive the forums and use something like discourse for forum side and drupal for the content and only migrate the content? After deciding on those and many others points that will surely come up in discussion, drawing a roadmap should not be too hard.
After you have the roadmap either use gitlab/githubs issues or something like trello to manage development and assign tasks to people.