Forum OpenACS Q&A: Response to Open Source and business thoughts
sparsely explored areas of innovation yet to be fully conquered is
the whole knowledge-sharing community thing. If you think about
it, groupware really hasn't evolved a whole lot beyond the
now-ancient Lotus Notes. There are tons and tons of groupware
platforms out there but if you look at utilization levels within
corporations they're very low. People generally don't find
groupware to be terribly useful?
Why is that? A number of reasons. First, it is extremely difficult to
capture the "tacit knowledge" that Adam brought up above. A
huge portion of the knowledge management industry is devoted
to this problem. Can you build a rich culture with the human
equivalent of broadband communication in an online
environment? The answer so far seems to be, "Maybe, but if so
it's really, really hard." Yet, if Adam's professor is correct (and I
think he is), then the rewards of cracking this problem are huge.
If you can create a virtual Silicon Valley, you will become rich
beyond imagination (not to mention the fact that you will vastly
accelerate knowledge growth for all humanity by essentially
defeating the knowledge equivalent of Moore's Law.)
There are technological challenges that are part of the
groupware conundrum (e.g., creating strong realtime
communications channels, being able to capture and categorize
knowledge-sharing conversations with minimal required human
intervention, etc.) but a lot of the challenge is really about
interface in the deepest sense. It's about, shock of shocks, data
model plus page flow. It's about how we naturally organize the
knowledge in our heads (i.e., data model) and how we naturally
want to access that knowledge (i.e., page flow, although it's
obviously a bit more than page flow as well).
One of the reasons that I am hopeful that an Open Source
solution can crack this problem is that I think the business
process that goes into producing this software is more friendly to
this sort of problem that the closed source development cycle.
The "shape" of a groupware "space" is largely determined by the
needs of participants in the conversation. This is why in the
non-virtual world people who set up meetings, conferences, and
classes pay a lot of attention to the room size, the way the tables
and chairs are set up, the seating charts, the kinds of tools
available in the room (flipcharts, blackboards, overhead
projectors, etc.), and so on. You might choose two different
rooms to have conversations with the same people about
different topics (e.g., a science lab for a chemistry class, a music
room for a music class, a room with sink for an art class, etc.).
Likewise, you might choose different rooms for discussing the
same content with different people. If you have a business group
that has a good collaborative relationship, you might choose a
room with a round table and lots of white boards all around the
room. On the other hand, if you have a strong
command-and-control mentality, you might care more about
giving the discussion leader a lectern and a good LCD projector.
The point is that these configurations--and, more importantly,
*innovations* to these configurations--come from the user base
at the time of use and spread through exposure. Somebody
sees a speaker brainstorming by tacking up flipchart sheets all
around the room and thinks, "Hey, that's cool. I'm going to try that
in my next meeting." Open Source development (potentially) lets
this kind of process fold innovation back into the software
quickly, while, closed source, for-profit development cycles
generally need to rely on focus groups to help define the
next-generation feature set, which is settled (usually) by a
top-down decision.
So I do think there still are places where OpenACS can boldly go
where no-one has gone before. But in order to do so, we have to
learn how to scratch the itch of somebody besides the
programmer. We have to include vertical markets of end users
within the Open Source community conversation.
It's the process that makes the software special. Excellent code
is the end result of that process, but innovations in process are
what drive the rate of innovation in code. It's all about people.