The case for Ask Fedora
I have been involved for the last several weeks on two important projects.
There is much to say about 1) but that will have to wait. 2) is what I wanted to talk about here
What is Ask Fedora?
Ask Fedora is a successor to the current edition that not many people are aware of. It is my effort to package Askbot and integrate it into Fedora. I intend to propose that an instance of Askbot be hosted and run within Fedora Infrastructure as a place for users to get help and create well maintained documentation along the way. Askbot is a question and answer oriented forum.
In the words of Dr. Alfred Lanning in I, Robot,
*That*, Detective, is the right question. Program terminated.
My journey towards free and open source software started back in early 1997 and I started contributing in 2002 with the localization efforts of Mozilla in Tamil but the really successful effort was in documentation by my work in the Linux Documentation Project. This was partly what led Red Hat to hire me as the person responsible for the content in Red Hat knowledge base. As I moved on to another roles in 2007, I saw the benefit of having a knowledge base for Fedora and filed a request with the Fedora infrastructure team. My expectations however were skewed. I thought things would magically happen and surprise surprise, it didn’t.
I waited for a while and came up with Ask Fedora inspired by Ask Shadowman which used to be a regular column in Red Hat magazine. I ran it for a while but this process too just didn’t scale. It simply wasn’t how community support works.
Things stayed like that for a while till Stack Overflow came along and became a instant hit and a ample demonstration of how people can help each other and grow a community organically. The rapid evolution of Stack Overflow from being just a programming forum to a wide variety of topics and Yahoo Answers showed how this kind of model can work well for everyone leading me to think I could do something similar to help improve the Fedora experience.
There are multiple venues for Fedora community help now but primarily there are three:
* #fedora in irc.freenode.net – You get real time help but this doesn’t help build a community of experts and good documentation. It is often not that welcoming to end users many of who just search in Google and wouldn’t really know about IRC. IRC questions tend to be repetitive and with Askbot the problem is far less likely since existing questions and answers are readily visible via search and can be improved upon whenever necessary. This will reduce the support burden on #fedora and other places
* users mailing list in fedoraproject.org – More easily searchable in Google and serves as some documentation but users don’t typically build on each others knowledge here. Since there is no active moderation, threads often go off topic and without a reputation system (karma in Askbot parlance), there is no easy way to judge the value of the answers (or indirectly the person)
* Fedora forum This is the one that looks similar to what I am proposing at first glance but it is different in many ways. I am quite a active user there (3,495 posts at this time) and here are some of the ways in how it is different:
* It is a question and answer forum and not a discussion forum (no room for polls, general discussions, rants etc) and hence more targeted
* Fedora forum runs on proprietary software but Askbot is fully free and open source and can be community developed with better Fedora integration (for example, merely writing bug 123456 in the forum can auto link to http://bugzilla.redhat.com/123456 and support for Fedora authentication system so that anyone with a Fedora account can use that as well)
* It is a English only site while Ask Fedora can be a international forum
* Much lower barrier to entry since any openid works and you don’t have to register specifically. We are even looking at adding support for fully anonymous postings without any id at all.
* User activities such as answering questions or voting up/down answers leads to karma (otherwise called a reputation system). As users collect more karma, they get more access incrementally, starting off with from the ability to edit questions or answers to eventually full moderation rights. It is a effective way to grow a self sustaining community organically
* Collaborative editing of answers especially via “community wiki” posts
* Can take advantage of increasing popular social networking features like Facebook, Twitter integration (We intend to add identi.ca support and more)
Let us look at the primary contenders in this space
* Stack Overflow – Proprietary .NET software and runs only in Windows. Yes, Ask Ubuntu runs this but this is definitely not a option since Fedora Project is free and open source software including the infrastructure.
* Shapado – Ruby on rails and uses a nosql database. Ask Debian is running this but I didn’t pick it because we want to customize it and add features and the knowledge of Ruby is limited within the teams I can get help from and Fedora infrastructure itself has a lot more knowledge and experience with Python and Django. My understanding is that AGPLv3 license is potentially problematic for Fedora infrastructure. Shapado itself offers free hosting and http://ubuntu.shapado.com ( Called Ubuntu Ask, Run by a Canonical support engineer who wants to promote a free software alternative to Ask Ubuntu) is a example but again, lack of ability to customize and add features is problematic not to mention relying on a third party website.
* OSQA : OSQA and Askbot are both forks of cnprog (which itself is now long since dead) and hence they both use Django and Python Askbot is more modular (designed to a reusable Django app), has more in-built tests and has a very responsive upstream developer and I picked it for these reasons but OSQA and Shapado can be both decent alternatives.
What are the features of Askbot?
* Open id support (can use Google, Yahoo, Facebook ids etc)
* Fedora authentication support (plugin developed by PJP)
* Reputation system for moderation of the forum
* Users can vote up/down questions or answers
* Users can flag questions or answers and moderators can suspend or block users
* Integrated admin interface
What are the next steps?
You can find the status here. I am close to getting Askbot and its dependencies built for Fedora and RHEL 6 (via EPEL 6 repo). Next step is to test it more thoroughly and propose to run a test instance in Fedora infrastructure. If all goes well, we can go into production a few weeks later. I intend to work with upstream and help develop new features and I am already quite active there.
* Several colleagues in the engineering services team in Pune work on Django and Python everyday as part of their day jobs and hence there is wide spread knowledge of relevant programming and system administration within this team. From the infrastructure perspective, I will serve as the primary contact and secondary contact will be PJP. People who can help in this effort includes Kushal Das, Shreyank Gupta, Saleem Ansari, Satya Komaragiri, Ramky …
* We probably need 2 GB of RAM and 2 GB of disk space for a start to get everything in a test instance up and running smoothly
* I have confirmed with Red Hat Legal that there is no legal liability for us to moderate answers
* Users should be able to ask questions on anything related to Fedora but not necessary specific to Fedora. Fedora specific questions however will be the primary focus
Comments, questions and feedback welcome.