I believe that if you want to increase the amount of people that can contribute 
then you need to do 2 things:
* Advertise(increase awareness) that people can contribute
* Increase the community's knowledge RATHER than reducing the amount of 
knowledge needed.

Ok the first one:
* Advertise(increase awareness) that people can contribute
the first thing you need to do is create a new html page and links to it
e.g. http://www.ntop.org/contribute.html

You should also mention that people can contribute on the:
documentation.html
support.html
needHelp.html
download.html
pages. Here a short paragraph on those pages with a link back to 
http://www.ntop.org/contribute.html

If you are after some ideas check out:
http://contributing.openoffice.org/

Think about how BOTH users and developers can contribute to this project. There 
are many parts that come together to make ntop what
it is... plugins, patterns, fingerprints, etc. Users can contribute patterns 
and fingerprints. Users can contribute documentation.
etc etc. An advanced user with enough documentation might even be able to 
contribute a plugin which brings me to the second point.
You should also maintain an up-to-date TODO list on the website so developers 
can have a look to see if they could quickly
contribute a small piece of code.




Ok the second one:
* Increase the community's knowledge RATHER than reducing the amount of 
knowledge needed.
One of the main problems is that most/all of the documentation/knowledge is in 
your head rather than out there in the community.

I'd suggest setting up a forum perhaps running phpBB where both users and 
developers can ask questions, post guides, etc etc. I'd
also suggest requiring an animated CAPTCHA(I recommend JkCaptcha 
http://www.kessels.com/captcha/) during the registration process to
prevent spambots from filling up the forum. Once you have setup the forum, find 
someone you can delegate the administration of it to
and perhaps promote some helpful users into moderators.

Both the mailings lists and forum are good sources of information but users 
shouldn't have to go searching the mailing lists or
searching the forums to find useful information. Any useful information(past, 
present, and future) posted to the mailing lists and
forums should then be turned into a wiki article. Speaking of which there 
should be a link to the wiki from the homepage as well as
on the documentation.html page. Also please move the wiki system from 
https://svn.ntop.org/ to something like:
http://www.ntop.org/wiki
as svn.ntop.org is very slow to display HTML pages. Keep the svn.ntop.org for 
your current ticketing system.

Also the documentation for ntop is both poor and outdated. You need to build a 
up-to-date knowledge base. Documentation is a vital
part of any project. You need HOWTOs, manuals, man pages, guides, tutorials, 
wiki articles, etc etc. The man page for ntop needs to
be wikified. When the average user is reading the man page for ntop, how are 
they supposed to know about what a WWN is or what
FCID/VSAN stands for and means or what is meant by LUN information let alone 
what would invalid LUN information be. What are the
security risks when a user runs ntop as root? These things don't need to be 
explained in the man page but they should be expanded
and explained in the wiki if users are looking for more information.

As for the wiki, there needs to be wiki articles about how to use the wiki, 
i.e. how would a user create a new wiki page, edit an
existing page, applying formatting, use tables/lists, create links between wiki 
pages, etc etc. There also needs to be a wiki TODO
list so people can see what wiki pages still need to be created/edited/updated 
so they can help out in this area.

The download page should include information about what additional software 
ntop can utilise if it is installed(ettercap/openssl
etc) and should also list what other software is required(libpcap etc) for a 
successful compilation/installation.

There needs to be a getting started guide. All the steps from setting up the 
pre-requirements both optional and compulsory,
downloading the ntop source(either from tarball or from svn), compiling(and 
what are some of the switches users might be interested
in setting via autogen), different make targets, or downloading a binary, and 
then running ntop and what options are strongly
recommended to set e.g. --spool-file-path, downloading the google maps key and 
registering it before running ntop, etc etc.

You need to create HOWTOs, manuals, man pages, guides, tutorials, wiki articles 
for at least the following:
* Creating a fingerprint(include all steps via an example). What software is 
required to create a fingerprint(try to use free as in
cost software where possible) on Linux/MacOSX/Windows? How does a user use that 
software to create a fingerprint? How does that user
then share that fingerprint with the ntop community(create a upload page that 
users can submit their fingerprints??). If these
instructions were available I would submit a fingerprint for the PS3 that is in 
my home network(if that was possible). Could nmap be
used instead or in addition to ettercap for host/OS identification??
* Creating a pattern(including all steps via an example). What software is 
required to create a pattern(try to use free as in cost
software where possible) on Linux/MacOSX/Windows? How does a user use that 
software to create a pattern? How does that user then
share that fingerprint with the ntop community(create a upload page that users 
can submit their patterns??). If these instructions
were available I would submit a pattern for my favourite online game Team 
Fortress Classic.
* Creating a plugin(demonstrate via an example) under Linux/MacOSX/Windows.
* How to setup a development environment(free as in cost software) for ntop 
under Linux/MacOSX/Windows.
* How to download ntop via svn, make a change, compile it, and then submit 
those changes back via svn under Linux/MacOSX/Windows.

Build a knowledge base for developers by including RFCs, whitepapers, 
specifications, etc for different media and different
protocols and anything else that is relevant for ntop.




If you do these 2 things I believe that participation and contribution by the 
community should increase.



----- Original Message ----- 
From: "Luca Deri" <[EMAIL PROTECTED]>
To: <ntop@unipi.it>; <[EMAIL PROTECTED]>
Sent: Thursday, June 26, 2008 12:31 AM
Subject: [Ntop-dev] Opening up ntop


> Dear all
> I want to share with you some ideas that I have in mind since a few
> months. After 10 years of ntop (as project I mean, not just an
> application) I believe there's a need to tackle some rough edges. In
> particular, the main problem I see is that ntop is perceived as an
> application I mostly develop and (beside very few users) you use with
> limited (if any) contribution in terms of code development. In a
> nutshell I can expect bug reports but no code. IMHO this is due to two
> reasons. First, is my personal failure to build a real ntop developer
> community (I'll came to this argument later in this email) and second
> because ntop is not simple to hack for everyone.
>
> Even if I'm not an open-source expert, I believe that in order to
> increase the number of people that can contribute to the project as
> developers, is to reduce the amount of knowledge needed. For this
> reason, as you might have noticed in the past weeks, I have started to
> implement a Perl (more languages will follow if there's a request from
> the community) interface that allows users to become developers. I
> envisage (this in a few months as soon as the API is stable) the
> creation of a ntop contribution site where users contribute with perl
> scripts. My vision is to turn ntop into an engine, with a default web
> GUI (the one you know) but with the ability to have a richer user
> experience by means of an perl scripts. If this move will succeed, I
> hope that many people will contribute and that development will be
> parallelized. Done that, some other parts need to be open but this is
> perhaps too early to discuss.
>
> ntop as a community. This is certainly a weak point of the project. I
> believe that the core ntop team (that's basically me) need to be
> enlarged by establishing responsibilities/duties, commit to them, and
> avoiding that the whole project would depend on me. I have no clue how
> to achieve this. I've asked some people around, and I would like to
> come up with a response at the end of the summer. I need your
> contribution here both in terms of ideas and contribution to the
> project.
>
> Please send me your thoughts. The ultimate goal is to allow ntop to
> grow both in terms of application and community.
>
> Cheers Luca
> _______________________________________________
> Ntop-dev mailing list
> [EMAIL PROTECTED]
> http://listgateway.unipi.it/mailman/listinfo/ntop-dev

_______________________________________________
Ntop mailing list
Ntop@unipi.it
http://listgateway.unipi.it/mailman/listinfo/ntop

Reply via email to