pouët.net

Open sourcing pouet.net ?

category: offtopic [glöplog]
Quote:
it's difficult to improve it gradually, and it's difficult to completely overhaul it in the sense that it wouldn't be pouet anymore,

Nah, there are ways to do it:
BB Image
(Actual Pouet2.0 screenshot)

I'll post a more verbose post later today; need a bit of time to think it through.
added on the 2013-05-05 14:15:00 by Gargaj Gargaj
The problem is that both parties have very good points. From what I've seen the current Pouet code is an unmaintainable mess because features have just been added and added and nobody dared do the refactor steps that have been necessary at basically every point where somebody pressed ctrl-C and -V to add a feature that's slightly different from another existing one...

... but also, the people defending Pouet 2.0, give me a break. We're talking about a software project here that after 5 years still is in no state for anyone to use it. And it's a freaking web frontend for a database. With a forum. Yeah, that's one of these hitherto unsolved problems that should take years to get right. Speaking of right: Riiiight.

The thing is: We're all part of the problem and nobody is part of the solution. Analogue mostly abandoned this site years ago and now thinks he can fix the year long neglect by opening a github account (like that ever worked, but nice attempt at still doing nothing really), PS never really wanted to maintain Pouet anyway, and Gargaj is in his typical style so drowned in stuff he does he just can't allocate enough time and willpower to Pouet to Fucking Get The Job Done. While others either think the solution lies elsewhere (looking forward to Demozoo, really) or just complain and complain and don't do fuck all. Like me.

Really, stop the useless discussion already. Either someone is like "I/We'll now fix/rewrite Pouet and you won't stop me, and yes it will be buggy as hell and half of the stuff won't work from the get go but eventually it'll get way better and we'll all be happy" or we'll keep this site in it's 2000 state forever and let it become the new Amigaaaa.
added on the 2013-05-05 14:25:34 by kb_ kb_
p01: and what if I want my username to be the one kb_ gave me and not my previous one?
added on the 2013-05-05 14:39:58 by Dubmood Dubmood
Gargaj: Cool. Also, please fix the "can't use URLs with .php in it" bug that has been there for as long as I can remember. (very annoying with csdb stuff especially)
added on the 2013-05-05 15:08:40 by tomaes tomaes
i fail to see how having the 0.9.x sourcecode available could in any way be detrimental to the ongoing 2.0 efforts. it's not like 2.0 is being open sourced tomorow, or even announced as coming live for public use.

i'd like to see both versions open sourced actually.

i for one would like to contribute again and have no way to do it.
added on the 2013-05-05 15:33:55 by psenough psenough
the API is great idea btw.
added on the 2013-05-05 15:36:14 by psenough psenough
Quote:
that pouet needs someone (or some people) with three things: a) the vision, b) the skills, and c) the time.


eenter demozoo guys :D
added on the 2013-05-05 15:41:19 by v3nom v3nom
Quote:
i'd like to see both versions open sourced actually.

Why, do you need a good laugh? That would maybe take some fun out of Gargaj's seminar... :)
That said, if people start contributing to the potentially opensourced 0.9 code, it would just make things more complicated, because you'd have to backport potentially messy code to pouet 2.0 and stuff...
That said, analogue broke the umlauts on user.php. Good job. ;)
Ooooookay. So.

First off: yes, I know, we're taking way too long with Pouet2.0. I do apologize for that, I make no excuses, the development became overly protracted and I made some promises that were out of proportion. I don't blame anyone else for that.

With that in mind however, I'd like to make a few observations about the scenario that might not be obvious for the casual viewer:
- Yes the Pouet 0.9 code is unbearably awful, but that's not actually the bigger problem here, because scrapping code isn't that hard - the culprit itself is the awfully designed and implemented database scheme which is not only completely denormalized, but also still features column names in either French or non-descript English ("comments.who, prods.quand"), data is still saved as Latin1 with slash-escaping and as HTML entities, and so on. (And even the new API seems to be unaware of most of this.) You can rewrite the code and you can fix the db, but to make it work non-destructively, you gotta do the two things at the same time; you can't just patch this gradually.
- There's a lot of stuff that changed on the web over the last 5 years - hell, I started working on Pouet 2.0 BEFORE Google released Chrome; hell HTML5 only came out last year, didn't it? I mean it was only recently when I was able to remove all IE-specific hacks from the CSS, because IE8-9 finally was able to do it right. I did unfortunately succumb to the age-old mistake of trying to switch paradigms too often Duke Nukem Forever-style, but most of my time was spent with observing how the web is turning out and trying to find an acceptable technological middle ground between what Pouet is (an ostensibly "oldskool" site) and where the web is heading. Ironically, this ultimately ended up boiling down to ~200 lines of basecode which took months, but I generally prefer spending a lot of time preparing for something and then just avoid traps and work fast if the basecode is good - in the last few months we built most of Pouet 2.0 with Tomoya almost effortlessly.
- I know Pouet is "just" a web frontend for a db, but I dare you to remove e.g. "just" the CDC feature and see what the fallout is - and it's small pieces of features everyone is used to that make up for most of the work. Add to the mix that you're trying to make a site that can hold 10k unique hits on a lazy day while performing several one-to-many relation queries on any given page, all while trying to write a codebase that lasts longer than your average write-once-and-forget forum engine and you got yourself a fun little challenge. Remember, this isn't democoding, it's quite the opposite: the deadline is no relief here, it's just the start.

Again, these are no excuses, I know that 5 years for a bunch of PHP is way out of proportion, so I'm not gonna make any promises now, but I'll say this - our issue tracker for Pouet 2 only has 5 high priority tickets left (mostly admin-interface related things), and after that we'll be ready to start transitioning.

Now, as far as opensource goes, I'm ambivalent - as far as I've seen it in the last 10 years of the scene, "opensource" generally means "noone cares about this anymore, so here, leave us alone". And as far as I've experienced during my tenure as an admin, most of the requests I get are usually fairly self-serving ("can you give me a list of [xyz] where [abc]" etc) and none of them were particularly feature level, so my impression is that I think it would fragment the site instead of improving it, like installing all the Wordpress plugins that ever existed. Certainly, an API is a good idea, but it's not like we didn't have one so far, the issue with it is the DB problems I stated above and those won't go away simply by opensourcing it.

On a more abstract level, however, I think Pouet is already slightly too monolothic, and there should be plenty of room for other sites that do e.g. outreach or tutorials or demo reviews, and those hardly need an extraordinary level of technical skill - just look at what we did with Curio. People keep shivving me with their woes about how Pouet is a horrible site to point newcomers at and yet apart from the (no offence, but up until Revision) fairly elusive Demozoo, I haven't really seen concentrated effort to make sites that can offload some of the burden of responsibility from Pouet.

So my hopeful suggestion, ultimately, would be that regardless of whether Pouet is opensourced or not, realize that there's plenty of opportunity for anyone to contribute in other ways - hint hint: Slengpung and Scene.org both could use new design layouts, Bitfellas is still running off the abomination that is E107, Displayhack is running dry of content/articles and as said, there's still no good "kickstart" website for newcomers to read about the scene or find out where to start locating sceners around themselves. As for Pouet, well, I always ALWAYS keep my word. (Even if in Valve Time.)
added on the 2013-05-05 17:32:42 by Gargaj Gargaj
ps: I'm not a coder, but as far as I understand this, analogue is basically saying "let's open pouet 0.9 code up so that people can help make the code better".

Wouldn't doing that right now basically put you in a state where one crew is trying to make pouet 2.0, and another crew is also trying to create pouet 2.0, on two different code structures? Chefs, mess and all that, and eventually you end up forking everything to hell and going down two paths.. Just seem counterproductive to me, really..

That is, if Gargaj actually has gotten anywhere with 2.0, which he has.
added on the 2013-05-05 17:37:06 by leijaa leijaa
Quote:
[...]in the last few months we built most of Pouet 2.0 with Tomoya almost effortlessly.

I want to clarify. Gargaj is the one building it, I'm doing my best to see if I can destroy it.
added on the 2013-05-05 17:40:29 by Tomoya Tomoya
added on the 2013-05-05 17:44:47 by Gargaj Gargaj
I've found at least 10-15 "bugs" or differences from the old pouet, mostly in rendering on IE9, others seem to be plain bugs, as some characters escaped here on the forum or prods pages that are not centered well (see debris).

Maybe we could help you opensourcing pouet 2.0, instead...
added on the 2013-05-05 19:24:29 by friol friol
Some items are totally missing as the "user" or "random" pages... and I'm loosing my session too.
added on the 2013-05-05 19:27:18 by friol friol
maybe you should read this first. the additional slashes and stuff are from the fuckedup-ness of the current database.
(IOW the code is not written to display the posts/comments/... in their current db state but rather in the state they are going to be after the conversion)
Looks fine s far (doesn´t use full width beyond ~2k pixels, though).

And agreed, getting the data/encoding clean is high priority before trying to put more stuff on it.
added on the 2013-05-05 20:18:15 by T$ T$
Lots of feedbacks, that's awesome, I thought the scene was dead =)

Here are my thoughts:
- We have www.pouet.net 1.x (never reached 1.0), you are on it, it's been up for 13+ years.
- We have new.pouet.net 2.x, it's been in the work for 5 years.

For the future, we can:
- opensource 1.x to get bugfixes while 2x is being worked on, and to have a public archive of what was the intent of pouet.net for the future. It's the official one until 2.x is ready.
- opensource 2.x (I mean it guys), will be official once ready, and the 1.x source code will just be an historical archive.
- get a modern API up and running: I want to let people build whatever version of pouet they want using pouet's data (backbone, apps, stats).

About the shitty code, we surely know it is, but understand that pouet has been written starting in 99, with php3, no ORM, no framework, and people successively worked on it without any help from the previous guy who had something more fun to do from now on.
-> Big shit is still up though, and I found it amazing =)

About open sourcing: I always wanted pouet to be super-open (anybody can submit anything) to not have it depend on anyone. That's always been our goal I think. That's the point of opensourcing it and making an API: I'd rather have a lot of people working on it a little, than 2 guys feeling pressured to release something. I can't work on it anymore but I can definitely code-review and merge pull requests.

Boom ! Let's do it ! Let's advance on those with the help of all those coders !

(Pouet 2.x team: Let's keep in touch by old means for the remaining steps)
added on the 2013-05-05 21:24:46 by analogue analogue
My thoughts:

* opensourcing 1.x before finishing 2.x will probably make maintaining 1.x a mess as somebody must play the dictator role here;
* opensourcing 2.x before releasing it will probably make it a mess and will never get released.

Getting a modern API up and running (I mean, a REST API) has nothing to do with opensourcing pouet.

I'm mostly on this idea: if somebody wants to contribute, why not to contact the admins? Maybe they are open to accept help from others... I think pouet is really far away of being perfect but putting more people in the kitchen when there is no public roadmap or milestones to reach seems quite crazy... Anyway, we are here to make demos...
added on the 2013-05-05 21:33:29 by merry merry
merry: not opensourcing means we need to gave root access to pouet to any new contributor, who can do whatever he wants without review.

If we go on github, we can let anybody submit pull request, and get one of the few trusted people review and merge changes from anybody.

I don't see why the API should not be open sourced too.
added on the 2013-05-05 22:02:11 by analogue analogue
Quote:
So my hopeful suggestion, ultimately, would be that regardless of whether Pouet is opensourced or not, realize that there's plenty of opportunity for anyone to contribute in other ways - hint hint: Slengpung and Scene.org both could use new design layouts, Bitfellas is still running off the abomination that is E107, Displayhack is running dry of content/articles and as said, there's still no good "kickstart" website for newcomers to read about the scene or find out where to start locating sceners around themselves. As for Pouet, well, I always ALWAYS keep my word. (Even if in Valve Time.)

At least we have done something. (To make up for the abandoned Scene Awards.)
added on the 2013-05-05 22:46:06 by Adok Adok
*sigh*
*double facepalm of despair*
added on the 2013-05-05 23:04:59 by xTr1m xTr1m

login