Hello dear dev@,

I'd like to propose that we rewrite and rethink modules.apache.org.
For those of you who detest long emails (henceforth known as the
TL;DRs), just scroll to the bottom for a quick summary.

While modules.a.o does provide a mediocre service to those looking for a
module, I'd like to think we can do a lot better. I've split this into
topics, in which I'll go through each aspect of what I find needs
improvement, and which benefits could come from this, as well as some
more proactive reasons as to why we should rewrite/rethink this site:

---------------------
General look and feel
---------------------
The first thing that strikes me about modules.a.o is that it's not so
much an index, but more like a hastily thrown together list of modules.
It offers no detailed insight into each module, and clicking on either a
module or the browse link takes you to a search function, which at first
makes you think you may have clicked the wrong link or that the site is
broken. The browse feature has no categories or ways to actually index
modules other than listing them alphabetically, which makes searching
quite tedious. I have to use the search feature in my browser if I am to
find for instance a GPL licensed module which deals with security.

Browsing and searching is virtually the same, as in there is no
difference between clicking the browse button or clicking the search
button and searching for an empty string. This gives me the impression
that the search/browse feature has never really been thought through.


----------------
Out-of-datedness
----------------
The site clearly shows signs of not having been updated in over a
decade. You have the option between a 1.3.x or 2.x module - where is the
distinction between 2.0, 2.2, 2.4 and trunk? Some modules have not been
updated since 1998, yet they are still on the list? Surely, there should
be some sort of limit on how many _decades_ your module can remain on
that list without being updated. This should be an index of modules you
can still use, not modules that only works in 1.3.

---------------------
Indexing and browsing
---------------------
Indexing...what indexing, there is none. Everything is just
alphabetical, or you can search for something (the search page doesn't
say what field you're searching?). There are no categories, no ways to
limit your search other than specifying a very specific string (which
probably won't match), no sorting by relevance, popularity, stability,
how up-to-date the module is, etc.

There is no way to limit a search to specific license - I'd like to be
able to just view ASLv2 licensed modules, but I can't.


----------
Moderation
----------
The criteria for having a module listed is nowhere to be found. The
approval process is a mystery (supposedly we have two people working on
this, who may or may not have the time), there is no way to see if your
module has been approved or rejected (as a personal experience with it,
I have yet to find out if the modules I submitted last year were
rejected or just mothballed for all eternity), there seems to be no
reminders sent out if an approval request is not handled.

Requiring a special "task force" seems like not-so-much the Apache Way.
I'd like to see that we can collaborate as committers on this, much like
we do on the comments system, where anyone within the ASF with an
interest in helping out can do so, and where the procedures are both
publicly described and logged in a manner that enables others to see if
something requires attention.


------------
"What's hip"
------------
I'd like to see popular modules included as well - there is no mention
of mod_php, mod_spdy, mod_pagespeed, mod_wsgi and so on, yet these are
probably the modules that people are most inclined to go search for.
While it's generally a good idea to let module authors contribute with
their own modules to the list, I'd also like for this to be a place
where you can find out more information about a particular module, even
if it's a popular one with a corporation or foundation backing it.

I'd also very much like the ability for people to either rate or in some
way discuss modules; How they work, what could be improved, how to set
them up and so on - some form of forum integration where a module can be
put up for debate. I'd also like both users and/or authors to be able to
rate their modules in terms of stability, usefulness (general purpose or
niche product), popularity (how widespread is the use of this module?)
and so forth. This could help people in need of a "cookie cutter" web
server, as they could simply go to the site, view what's the most
popular and used modules, see if/how they work, and find out where to
get them.



-----------------------------------------
Collaborating and eating our own dog food
-----------------------------------------
Now comes the part where some (those that know me well) will chuckle,
some will go "pfeh!", while others may actually think this is a good idea:

I'd like to propose - if people are in favour of this idea - that we do
three big changes:

1) I'd like to scrap all existing data. Out with it! Information that
has not been updated since 1998 does not belong on a site that is
supposed to reflect what's currently available, and the current database
has way too few fields to actually make the information useful to
visitors. If people care about their modules, I'm sure they'd be happy
to resubmit it with a more detailed description, and for the more
popular ones, I'm sure we have a committer or two, who can fill out the
blanks on those.

2) I'd like to propose that we develop a new site using httpd 2.4/2.5
and mod_lua (from trunk - yes, this is where the chuckles and pfehs may
commence) as the scripting engine. We need ways to showcase this module,
and using it ourselves it the perfect way to do so. I know some of you
have expressed interest in getting to know the module a bit better, and
this would be a perfect opportunity to do so. With it we have not only a
way to show many of the ways it can be used, but also a fully flexible,
fast, efficient language with all the fixings needed to operate a
dynamic, vibrant site, just like we do with comments.apache.org.

3) I'd like to propose that this rewrite/rethink becomes a collaboration
between more than just me and my shadow. I'd be happy to do most of the
grunt work, but I'd really love it if others (you know who you are!)
would help out, especially in the overall principles of how such a site
would come together. This would not only be the chance to make something
great, but also a chance to learn a bit about whichever language we
decide on in the end. This collaboration could be done over subversion,
and meetings/discussions could either be via email, or on IRC (we have a
new fancy secretary function, courtesy of wilderness.apache.org).

I could go on, but then I suspect those of you who are not yet inclined
to go TL;DR would do so - I hope you understand the points I'm trying to
make here.

So, to summarize:

- modules.apache.org needs a general overhaul and a more detailed,
dynamic approach to its way of handling/relaying information.
- I propose we rebuild it from scratch, possibly using mod_lua as the
driving engine, to showcase some of its uses.
- I propose that we scrap the old data and start anew with modules that
are still usable for httpd 2.2 and above.
- I propose that this be a collaboration between those who express an
interest in being part of it.
- I propose that moderation/approval on the site be a joint venture
between all committers who themselves have already shown merit to join
the ASF.

Questions, remarks, comments (whether they be snide or not), ideas and,
most important, feedback, is most welcome on this topic!

If the feedback is generally positive and in favour of a
rethink/rebuild, I will propose a vote later this month, and then we'll
take it from there.

With regards,
Daniel.

Reply via email to