Forum OpenACS Q&A: The maniac plan for world domination
As correctly noted in the other thread, we need a new thread to the discuss world domination plans.
I think one way to view it is to try to imagine yourself in the shoes of a potential user. I have made a laundry list, so beware :)
The first thing a potential user would like to know is how good OpenACS is. Openacs.org provides some good information:
- You can find what OpenACS can do on openacs.org.
- The technical advantages can be found on openacs.org.
- There is a gallery of OpenACS sites on openacs.org.
- Provide comparisons with other web toolkits, preferable honest comparisions, but still mentioning OpenACS' strengths.
Suppose I find the information provided convincing and want to see OpenACS with my own eyes. Here OpenACS fails terribly:
Now suppose, I am impressed with OpenACS and want to learn how to set up my own site. Unfortunately:
- I don't speak TCL
- I don't know the AOLserver API.
- I don't know the OpenACS API.
- TCL documentation is good.
- AOLserver documentation is reasonable to good.
- At least OpenACS API is well documented.
- As a beginner, I would like to have all information I need accessible from a single place and not search half of the web myself.
- Improve coverage on openacs.org of user initiatives.
- Have users link back to openacs.org to improve site ranking.
- Allow community members to work on site content, and contribute more easily. Decrease the bureaucracy as much as possible.
- Keep an eye on community fragmentation. You don't want this to happen, as this removes community synergies. Generally I think the OpenACS community is very well unified, with one big exception, Project-Open. Things to watch:
- Sub-projects. Many projects start sub-projects, to focus on some specific goal. You don't want this to happen, since work in the sub-project might benefit the main project. A good example is GCC community, it is fragmented between core, Mingw, Cygwin, GNU Ada, GNU Pascal. Work from the Cygwin team could be very usefull for Mingw32 ports, but also Dos and OS/2 ports. This synergy does not happen, work is wasted.
- Keep an eye on languages. People want to speak their own language, so in many projects people start building sites in different languages. This is actually a very good thing, since this is often essential to get adoption outside the anglophone world. However, it is also important to prevent fragmentation of your community. A multi-lingual website and local forums can be very effective to keep your community together.
infact all of this is already under way in some form.
the key problem has been human hours available to dedicate to this as most of us are consultants or have fulltime jobs + real lives to take care of.
so, thats neither here nor there.
there are actually a good number of steps before this:
1. update the website to xowiki
2. update the templating infrastructure (work being done on this) to allow for skinning
3. documentation project
4. organization and promotion project
but most importantly, the workload is so huge to get all of this done that it needs to be split up into subprojects and properly catalogued and 'maintained' so that we can start to attract help for each one of these initiatives.
to that end, i'm putting up a 'project manager' (or have been for a while now despite the infinite number of distractions) as a test scenario to try and see how our 'project manager' software works and how we can improve it to better organize our efforts.
we don't have a hard time finding help, we have a hard time keeping descreet units of random open source help organized and pointed in the same direction simply because the size and power of the toolkit/project.
so, are you interested in jumping in and helping out first with using project manager to organize the effort on a trial basis?
to be honest we don't need more discussion, someone just needs to sit down and create the projects, create the scopes, usecases and todo lists and then begin soliciting project managers and volunteers to add to the project.
current key members are busy fulltime with developing the core, and quite nicely i might add.
- if pm turns out to be a good tool for organizing, then the proposal is to mount it on the updated website so that we can manage our activites live as opposed through back channels like forums, irc, email, etc. ... again only for those that find tools like pm usefull.
i will add additional info as it arrives.
We may take one easy step toward this goal. I agree that all the ideas that have been mentioned so far need to be done, but could we reach for some "low hanging fruit"?
I'm somewhat midway between an installation expert and a "regular" user. I just happen to install the latest UBUNTU release on my laptop. You install a CD, and then this program called "adept" shows you a huge list of packages to install with just one click. I patiently reviewed this long list and Moodle was there. So, with one click, and after answering a few questions about installation parameters that adept took care of, I had an instance of moodle running (haven't tried it, I was just curious about its installation)
I kept browsing through the package collection, and I found:
* aolserver4 (4.0.10)
Of course, you have also postgresql. The other thing that surprised me is that you may install the latest TCL, which right now is 8.4.10 and when checking for thread support:
% info exists tcl_platform(threaded)
% info patchlevel
Correct me if I'm wrong, but it seems that out of all the steps that need to be followed to deploy OpenACS/.LRN, the most difficult ones are no longer there.
I haven't tried it yet, but It seems a regular user may start installing OpenACS/.LRN from the section "Prepare the database" on and bypass compiling AOLServer, modules, etc. Are we that far away from providing an OpenACS/.LRN package for UBUNTU that puts the user one click away from having a painless installation?
The fact that Dell will now offer the choice to have Ubuntu pre-installed should not be overlooked either.
The only module that is missing is tdom. We need a deb for it. Then we need a OpenACS deb, and also important, we need to do something about the AOLserver configuration.
If I take part in this I would like to focus on release engineering: Generating packages (Linux, Win32, others) from SVN with the push of a button.
this is why i'm gonna put up an instance of pm for this, no one even knows whos going for which low hanging fruit.
and its precisely because:
a) there is no master todo list
b) no prioritization
c) no infrastructure for bringing new talent into points in the process that meet their needs/interests/skills.
i.e. you are re-doing what is already under way.
here are your two options:
1. i alread spoke with frankie the maintainer of aolserver to backport postgres and aolserver and components to current debian stable (which is what you should be running as a server), we already have automated scripts that download everything from cvs and build and install it so packaging is trivial.
however frankies time costs money and him being the best to package aolserver, postgres and bits we should pay him for his time. care to donate some money with me to pay him to do this?
2. you can talk to jim and dirkgomez about their packaging effortst (dirk is doig .lrn, jim on packaging all the individual packages via an automated build system) and you can help out there.
if you want low hanging fruit, let me get out frankies quote and lets get some cash together, split it 5 ways and we can have instant packages and a repo in about a week or two done by the AOLSERVER maintainer (that is to say, properly, no halfway bullshit).
in other words, low hanging fruit is great, you really need to be aware of whats already been done and how much tho to effectively achieve that.
any takers? the more people we split frankies time between the cheaper it gets and the faster it's up and running.
i'm also the unofficial 'greeter' so to speak (in the sense i tend to say hi to all the noobs dropping by the #openacs chan on freenode.org), my job in the future will be to get out the bullhorn and meet new people and just say hi, explain where is what and to whom to talk to and get people up to speed in zero time flat so they can start getting involved immediately.
What we did here is add all the open sourced packages to our own separate subversion repository. The installer does a few sanity checks, and then downloads each piece of source and downloads it.
Also, since it's written in Tcl, it uses the same skills as what everyone is familiar with.