Frank, why do you particularly
care "to put together a large
and successful open-source community", and why do you think that using
PHP, or some other "programming language understood by a
maximum number of developers", would be the or a good way to do that?
Note, what little empirical research I've seen on how software tools
become popular doesn't seem to suggest that using PHP rather than Tcl
is likely to be that significant. Indeed, my understanding is that
Tcl's first and strongest wave of popularity was directly because
Tcl/Tk did GUIs far better than anything that had come before.
(I haven't read my copy yet, but Stanley Lieberson's
A Matter of Taste: How Names, Fashions, and Culture Change
may also be relevant here.)
And anyway, the great thing about ACS and OpenACS when they first
arrived on the scene was that they solved web development problems
better than anything else out there. That's what I care about, that
they're useful tools. If I wanted to build a next-generation web
development toolkit, I'd think hard about three things: What new
problems I want to solve; if any other tools or techniques out there
might help me solve them better; and how to carry forward all that was
useful and important about my old problem-solving tools.
Now, from that rest of your post, that stuff you've already been
thinking about, very good. But...
IMO, a large community is principally a side effect, not the goal.
If you want a suite of generic but popular web tools, why not just go
use them? If the goal is popularity of something similar to OpenACS,
well, I'd probably pick an already-popular toolkit and figure out how
to both enhance it to take advantage of what I learned from OpenACS,
and convince the rest of its community to adopt my changes.
If you want new and better features like those you listed above
integrated into your web development toolkit, well, seems the main
questions to answer are "how" and "added to which base
toolkit?" In other words, enhance OpenACS to do what you want,
or enhance something else to do what OpenACS does?
Those are important and interesting questions, and I'm definitely
curious what answers you ultimately come up with! (Please do let us
know.) But I think that so far your, "and I also want it to be
popular, how do I do that?" question is poorly posed; it doesn't mesh
with the rest.
Also, the Clojure folks seem to be innovative; it's not just
Yet Another Implementation of Lisp on Java, they're also trying
programming language ideas that are probably of some interest even if
you care neither about Java nor Lisp. Yet they run on the JVM. So,
you may want to talk to them, see to what degree that Java integration
seems to be helping them with popularity, acceptance at large
companies and other big boring institutions, etc.