What Q&A platforms exist and why won't they do?

Assuming that we build a Q&A (question and answer) site, why shouldn’t we reuse existing open-source Q&A software? Maybe they all suck, but:

  1. In what way does each candidate suck?
  2. How much work would it be to make one not-suck, vs building from scratch?
5 Likes

On platforms

I’m starting with a list from this (famous) Meta.SE thread. I’m only considering the ones marked as opne-source:

Askbot

Askbot doesn’t offer a demo version (right now?), so I can’t comment on its features. However it is build using Python+Django, a framework that was not only unanimously voted against but is also using a dynamic language which doesn’t scale well. (Edit: seems to have a base system similar to SE)

Biostar

Despite being open source, it seems to be built for a secific purpose instead of a general platform. Same technology concerns apply.

Django-knowledge

Is no longer maintained, seems to be more a support center, same tech concerns.

LampCMS

Same tech concerns apply, cannot comment on features, as demo doesn’t work

Mamute

Seems quite dead to me (not sure though), demo sites not working, so cannot do feature analysis

PaizaQA

Uses a tech stack voted against, demo site doesn’t work properly (login failure with given demo accounts)

Kliqqi-CMS

Is dead, its technology was also voted against (IIRC without proponent votes)

Question2Answer

Seems quite good, however has tech stack issues as others above. Not sure about moderation aspects

Scoold

Basic user management, moderation, image upload features are not open source

Talkyard

Uses tech stack voted against, is more of a forum than a Q&A site

Vanilla forums

Tech stack concerns apply here too, also seems to be more of a forum

On tech stack

The current choice of tech stack was done, because of concerns of scalability and type safety. I’ll ping @Marc.2377 for this, as he is the tech lead.

On this post

I’m making this post wiki (editable by everyone), so that we can update this list without adding more answers.

1 Like

I’m not sure how much “has a tech stack we voted against” is relevant. Did we vote based on real needs analysis (based on what?), or did we vote based on what project participants are comfortable with already? I’m not saying the latter is negative – if the team actually building it isn’t comfortable it won’t work – but if lots of other platforms are using technology that our early vote ruled out, maybe that means we should revisit the issue instead of just ruling out those alternatives?

(I am speaking generically here; I did not vote and am not qualified to have opinions at the level of whether version X or Y of Python is better or whether such-and-such library is scalable and suchlike.)

2 Likes

I was just analyzing all platforms and chose that as a criterion due to the consensus-aspect. However I hope @Marc.2377 will be able to give more input into this, once he sees these pings (seems to be offline right now).

Also looking at the list the only project where it is really the only reason is Askbot. So it might be worth looking at it again in more detailed way.

Thanks for the analysis!

It’s not a problem if the project is inactive or incomplete. If we’re willing to start from scratch, we can take on the maintenance of an existing project.

The tech stack is relevant. But the vote has limited value. It does reflect the enthusiasm of the people who voted, but as more people join this can change (all it would take to swing the vote is for one influent <language> programmer to join with a few followers), and it doesn’t convey technical limitations such as scalability (I think any tech stack will work for Mi Yodeda, but not for Stack Overflow).

3 Likes

Not sure whether it is relevant, but … there is a German Q/A site, focused solely on programming topics, and according to http://codekicker.de/fragen/Software-verwendet-codekicker they developed a BBCode parser for .NET ( https://archive.codeplex.com/?p=bbcode ) (open source, CCA3.0 license) (I understand this, on a technical level, only in so far that this is not a complete solution, but may be a useful building block, but am sure there alternatives…)

There’s something in this; existing QA platforms have the advantage that we can use them right now. As in if we had enough people who wanted something else we could point them at $newQAsite and see how things evolve.

On the other hand, if that QA site uses languages / stacks folks aren’t familiar with, it may create a tech debt / burden greater than creating something from scratch, once we have a concrete MVP.

I can’t comment on the latter; perhaps @Marc.2377 or @ArtOfCode could weigh in on views on tech and what the team knows and is comfortable with?

2 Likes

I’m thoroughly tempted to start up a new discussion in a separate thread - if you want me to let me know - but I feel like this is because we’ve been spoiled by what Stack Exchange software has provided over the years.

Let’s be honest. That’s a clean package and it’d take a lot of work to replicate anything close to that.

So, my initial thought: why recreate that?

To answer your first question: each candidate sucks in its own right in that it’s attempting to ape what Stack Exchange did. To a degree, every clone would be wise to do so since it’s the archetype of successful Q&A.

However, it all becomes a bit same-y. Nothing about those systems pops out or adds more value than not just going to Stack Overflow or some other Stack Exchange site wouldn’t provide. Worse, it’s completely unclear how new features, which would differentiate from or add value to this Q&A platform, are capable of being added. It may be simple; it may be pulling teeth. With a platform that you pick out of the box, you’re left with the design decisions that its predecessors made at the time.

To answer your second question - there’s definitely work, but that too is non-deterministic. Depending on how certain features - such as anonymous posting - are meant to be handled, certain design principles will make building out features like that a lot easier.

I’ve been kind of thinking that an actual protocol - like ActivityPub - could be adapted for Q&A in a unique and value-add way. Implementing the protocol could provide some freebies that weren’t really intended as part of MVP - such as chat.

Better yet, it frees this platform from being yet another Stack Exchange clone. I cannot stress enough that an effort like this will sink if it turns out to look and feel just like Stack Exchange, since this lack the notoriety.

So…with that said:

  • My vote would be to build this from scratch.
  • My vote would be to leverage the ActivityPub protocol to a degree (e.g. disable federation to other Fediverse sites as a baseline) to allow for flexibility in how users can interact with content.
1 Like

A more specific pointer, in response to “ActivityPub” that was mentioned above: They even have considered this, via the Question type:

The Question object can be used to express various types of inquiries.

For instance, simple open-ended questions similar to those posted to crowd-sourced question and answer websites:

(See https://www.w3.org/TR/activitystreams-vocabulary/#questions , with some basic examples).

1 Like