Ideas for Qt Project Web 2.0 (former Dev.Net 2.0)

During DevDays 2012 EU I discussed a bit with Knut Yrvin (Qt Community Manager) about the future of Qt Project Web 2.0. It’s quite clear that the website needs more enabled moderators and contributors moving the Web over to Open Governance, not having the resources Nokia put into it. At the same time, we’d like to shift the political aspect of it, going Open Governance. Letting more people contribute to Qt Project Web development, giving proper access, defining more roles and so on. — peppe

(knut.yrvin edited a little on peppe statement, adding Open Governance for the Qt Project Web, which is the suggested goal).

Important documents

Contact info and mailinglist:

Intent

  • What’s Qt Project Web Open Governance going to represent?
    • The Qt Project?
    • This very website?
  • What’s the difference between qt-project.org (DevNet -> Qt Project Web homepage?) and qt.digia.com?
  • And who hosts what?
  • How should the community be built around the Project Web?
  • How should Qt Project Web be driven and managed?
  • Which kind of content do we want to host here?
    • Examples of existing content:
      • Official Qt releases
      • Official Qt documentation
      • Other official material (videos, other static pages, etc.)
      • Forums
      • Wiki
        • which actually is a buzzword for “any kind of content”
    • Examples of content I’d like to see:
      • Qt advertising (=> it’s good for the Qt project!)
      • Who we are? Where we are going to?

Features

Forums

Personal note from peppe: I find that the decision not opening an official Qt stackexchange subforum (like Ubuntu or other projects did) has been a huge error, as it split the existing community, and badly affected visibility; moreover, with the forums features not being actively developed and pushed, it made this place worse. As of matter of fact: stackexchange forums are THE forums for technical questions. — peppe

  • Q&A forums: are simply the way the technical forums should be. Icing on the cake: threaded answers (up to 1-2 levels of nesting)
  • Localized forums: we have a lack of active moderation for certain languages (Persian anyone?). We need to decide what to do
  • Put in place a formalized procedure for acquiring moderator privileges
    • Even if it’s just like the rules for contributing to Qt itself — nomination + seconded. It just has to be formalized
  • Put in place a formalized procedure for moderating procedures themselves
    • So far, we hadn’t any strict rules but “common sense”. Apart from blatant spamming, other cases (split, off topic, duplicated) were first informally discussed on IRC, then some action taken based on moderator consesus. It worked nice so far, but it doesn’t scale very well. And having written rules is always a good thing (verba volant, scripta manent)
  • Give moderators the power of block users (spammers)
    • So far only administrators (Marius, Alexandra, …) could block / ban users.

Wiki

  • Broken by design: pages don’t get locked. In case of concurrent editing, the last version is saved overwriting any other modification made to the page (no smart merge, no warnings, nothing).
    • This made the Qt 5 documentation effort to be coordinated on KDE’s wiki instead!
  • Lacks discussion pages (as a workaround, discussion happens on the forums. That’s suboptimal)
  • Allow moderators (or another privileged role)
    • F.i. for locked pages
  • We still have wiki.qt-project.org around, we should figure out what to do with it
  • It lacks proper support for localizations
    • The workaround so far has been adding another version of the page titled “Page_AnotherLanguage”, then adding a link at the beginning of the English version, as well as at the beginning of all other translated versions
    • I’m a bit against localized content for anything but introductory material. Localized content falls out of sync with the main content very very quickly without a proper effort.
  • From the outside it looks like a giant bulk of content, with very little organization. It needs much more structure, such as intermediate landing pages. “Categories” are definitely not enough.

Docs

Docnotes

General/misc

  • Allow for arbitrary (but especially images) file upload, with reasonable limitations. It’s nonsense to have to host content on 3rd party websites.
    • This can be combined with some “fair usage” rules, such as N megabytes per user, and of course the user has total accountability for copyright infringment and other bad things. OR, we might consider becoming a imgur pro-user and using their API to host image content.
  • Textile is probably one of the worst markup languages ever. It’s more than a mere personal opinion — it lacks important features, such as the ability of selecting the programming language of a snippet (for proper syntax highlighting).
  • I’ve always found the scoring system nonsense.
    • it encourages spamming, instead of giving reputation (this article has been already upvoted and tagged while still a work in progress. Who did that? Probably someone eager for points);
    • it decays over time (it shouldn’t);
    • it’s somehow linked with “more privileges”, while it shouldn’t be
  • For the same reasons, the concept of spam-oriented badges should be removed
  • I find that the “group” feature is not much used. I personally can’t even tell what it is supposed to be good for. Probably needs to be redisegned.
  • The “internal” bug report system must be open to the world (it’s not the standard JIRA with the QTWEBSITE component).
  • Tags: up to 3 or 4 per page, which forces THINKING about which tags to put instead of just spamming a page with 50 tags (which is totally useless)
  • Blog: do we really need another blog for Qt Project Web? Is it going to be the “official Qt Project blog” (whatever that means)? What’s going to be the difference between this blog and the blog on blog.qt.digia.com?

Technical

Being an open project, the technical stack should be run in the open too. People should be eligible through an open process to run positions such as maintainer of the Qt Project Web software and so on; to develop the software that it’s then put in production; to solve bugs and push the fixes; etc.

  • Unify Jira, codereview and Qt Project Web accounts
  • Get rid of Expression Engine if it blocks our capabilities to develop and expand (as it has been pointed out in the past), in favour of Drupal + Mediawiki or any other combination of standard, open software that we can bend as we like
  • Don’t be shy on relying on 3rd party services if they do the job better than what we could possibly do
    • => WE ARE NOT GOOGLE (and we’ll never be)

Roles

So far we’ve had three roles

  1. Ordinary user
  2. Moderator (can remove posts, split threads, and less more)
  3. Administrator (can ban users, lock wiki pages, modify the static content parts of the website, etc.); has historically been a Nokian

(This isn’t 100% accurate as the ordinary user can or can’t do certain things based on his/her own point score, but as I’ve already said, that’s broken by design and should be removed.)

  • This doesn’t fit well with an “open”, meritocratic/doocratic model.
  • We need to rethink privileges and redefine roles accordingly

Social

  • Qt doesn’t stop with the qt-project.org website, we have (or may have in the future) several other Qt Project-related accounts:
    • Youtube
    • Twitter
    • Google+
    • Flickr
  • Who is going to manage those? How to open access to that management?
  • How to properly integrate them on qt-project.org?
  • (as stated before) Which social channels are Qt Project-related and which ones are Digia/Qt-related?

Legal

To be properly addressed by a legal team!

Licensing

Content on Qt Project Web is generally available under CC-BY-SA, with people retaining the copyright on their contributions (forums, wiki). This may cause problems to move content into Qt itself: CC-BY-SA is incompatible with (L)GPL, GFDL as well as with the Qt Commercial terms. Questions:

  • Should move onto a CLA-like agreement?
  • What to do with existing content?

Privacy concerns

  • Write down a proper privacy statement, complying with EU / Norwegian privacy laws, for all Qt Project Web users.
    • F.i.: we will never use your personal data for commercial purposes; but we can use it for contacting you in certain circumstances; only a restricted number of users will have access to that data; opt-out to mass-mails; etc.
  • Moderators, administrators and other roles with higher privileges might have access to sensitive/private data (f.i. data in a user’s profile that the user didn’t choose to share). This can cause some issues due to the privacy laws. It may be required, as a precondition to effectively acquire the privileges, to accept some additional legal statements.

Practical stuff

Meeting schedule

Schedule for online meetings:

  1. 26/11: What is Qt Project Web? (on IRC #qt-devnet-moderators on freenode network)
    Tests with meeting on Google Hangout and Skype will be performed after the IRC meeting.
  2. 3/12: Social issues: roles, maintainership, etc.
  3. 10/12: Technical issues: must have/need to have features, technical options
  4. 17/12: Internationalization issues
  5. 14/1/2013 Legal issues and action points
  6. 21/1/2013 Status. Following up on action points
  7. 28/1/2013 Status. Following up on action points

Meetings will have a set agenda (to be developed here on the wiki) and will have a summary posted here and/or on the ML mentioned below.

Mailing list

A mailing list has been created at address web@qt-project.org.