[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU GLUE?
Re: GNU GLUE?
Tue, 30 Jan 2001 01:34:13 +0100
Sorry for not getting to you earlier. Many thanks for your e-mails.
I really appreciate your feedback and questions. You seem to
care about free groupware. This is definitely a good thing. ;-)
> Is Gnu Glue an abandoned project?
Not really. Since December, I've looked at the "FOX" cross-platform
GUI library, the "Ruby" programming language, and at the beginning
of January, I finally succeeded in convincing (or persuading? :-)
the author or "cURL" to rerelease his (originally MPL'ed) client-side
URL-handling library under an X11-style license such that it could be
used in the GNU GLUE project. I will probably have around 2h/day of
time to spend on GLUE for the next couple of weeks, and I intend
to produce something "runnable" during that time.
During the last two weeks, I've looked at the basics of programming
a text editor. I learned about "buffer gap" and "piece lists", and
I am currently thinking about how to use these techniques to create
a multiuser rich-text editor. I'm also considering to submit a paper
for the ECSCW 2001 conference (European conference on computer-supported
cooperative work), which will take place in Bonn (close to where I live
in Germany) in September. I'm not sure whether I'll be able to meet
the deadline for paper submission, though, which will be this Friday.
I'm also in the process of soliciting some basic EU (European Union)
funding for further development of GNU GLUE. Getting some funding would
make it much easier for me to spend more time on GNU GLUE. I still have
lots of ideas that I would like to see realized.
> I'd like very much to see open/free groupware. In particular, a
> pluggable middle component between the clients and data stores that
> allows the user to freely change client software, back-end database, or
> implementations of the groupware component independent of each other.
That's bound to become tough to implement, though. The more components you
make interchangeable, the more interfaces you need to define, and the more
administrative glueing code you need. One shouldn't lose sight of the real
goal of creating a groupware system. Also, if you allow e.g. more than 1-2
scripting languages, it will be hard for new users to learn to customize the
system, because they would essentially have to become wizards in several
The "Casbah" project died the first way; they initially wanted to create
a content management system, but got distracted and have since spent their
time mostly on creating a system that tries to abstract databases and
programming languages. AFAIK, they haven't come very far yet towards their
original goal of creating a content management system. The excellent "WML"
HTML generation system by Ralf S. Engelschall is problematic in the second
way - it uses multiple intermingled programming languages to process input
files and generate HTML, and few people will be fluent enough in all of these
languages to be able to write their own WML templates, or even just use WML
for their own websites.
I'd like to make it easy for people to customize GNU GLUE by means of
scripting. My current contenders for the GNU GLUE main scripting language
are Ruby (powerful), Lua (small+fast) and Python (easy to read). All of
these still have some problems, but Ruby and Lua especially look very
promising to me. (Python, unfortunately, seems to have become incompatible
with the GNU GPL license since CNRI attached their revised license terms
to Python 1.6.)
Regarding storage back-ends, I would indeed like to see a "pluggable"
architecture, that would scale from flat XML or ZIP files stored in
a local file system, a (slightly more advanced) Metakit-based local
storage mechanism, to SQL-based databases like MySQL, PostgreSQL or
even Oracle. Unfortunately, it's only clear at this time that GNU GLUE
will need something more flexible than a relational (SQL-based) database,
but the exact requirements for the storage back-end are still fuzzy.
Actually, I like Lotus Notes's approach of having a "fat" client that
is basically intelligent enough to do most forms of processing itself,
and an (optional) back-end server component that basically just handles
network storage, replication, and maybe simple workflows. Ideally, the
client and server parts would share lots of code, and there would be no
artificial division between the two - such that, for example, you could
launch a local stripped-down mini-server from inside your client GUI in
order to have a spontaneous private "peer-to-peer" session with another
GNU GLUE user. You should be able to act as a (stripped-down) server
yourself even if you aren't permanently connected to the Internet and
thus can't set up a "full-blown" groupware server. (IIRC, that's what
the "Magi" project does, and it appears to work.)
> I checked out the various groupware projects on SourceForge, and it
> seems that almost all failed to get off the ground. One admin, maybe a
> developer, and virtually no activity.
> Is it because the scope of such a task is so large? It seems a huge job
> for one or two unpaid developers.
Indeed. That's why I've been spending lots of time looking around for
existing components that I could re-use. I've since abandoned Tcl, Perl,
Python (cf. above), Tk, wxWindows, GTK, Fltk, and several other existing
technologies because they are (still) not up to the task at this time.
I feel that FOX+Ruby or FOX+Lua would be a viable choice at this time,
with OpenOffice being another contender (which hopefully will not go
Mozilla's way and drown in complexity and bloat). Unfortunately, some
important parts are still missing (such as good open-source client and
server implementations of Internet calendaring+scheduling). Yet, during
the last couple of weeks, I got confident that a sufficient amount of
high-quality cross-platform components is now available to finish the
"components evaluation" phase and proceed to a more detailed design
and initial implementation phase.
Maybe groupware systems are suffering a "bootstrapping" problem (just
like "to-do list"-type programs): they never get off the ground, let alone
finished, because you would already need them in order to implement them.
But maybe Sourceforge offers just enough "groupware-style" infrastructure to
get one or more of these groupware efforts running. It's still a huge task,
but I am conviced that "theoretically, it's doable" ;-), even for a small
team of 1-3 part-time developers. Whether GNU GLUE, in particular, will
succeed will depend on many things, probably mainly on the amount of time
that I'll be able to spend on it during the next 1-2 years.
BTW, It doesn't help that the W3C's XML-related standards are inconsistent
and bloated. Implementation of GNU GLUE will likely have to address some
(conceptually complex) misdirected XML-related standards (such as XML
XML schema definition, XML parsing overhead for WebDAV etc.), and incorporate
some standards that are still in flux, even after several years (such as the
"versioning" part of WebDAV, distributed calendaring + scheduling, etc.).
> Of the projects listed, GLUE seemed the most ambitious and well-defined.
> I wonder if the individuals that started their own groupware projects
> still have that spark of interest, and might be motivated to rally
> around a Gnu Glue -ish project?
Hmm... I think that most open-source groupware projects have taken approaches
that are very different from one another. I'd love to see different approaches
being tried out, in order to learn from their experiences. Also, I don't think
that any other project (except maybe Douglas Engelbart's OHS) has a scope that
is as broad as that of GNU GLUE. I believe that GNU GLUE will be able to attract
more developers as soon as a "basic" framework is implemented, and something
"runnable" becomes available for people to try out.
> A front-to-back groupware suite is a huge job for a couple unpaid
> developers - demoralizingly so. But maybe if those developers around a
> common project that is smaller in scope - but even more far-reaching in
> its potential - they would would have the sense that such a job is
> doable. The hope that your work will *enable* a number of open/free
> clients and add-on applications to fourish could be sustaining.
Well, there are numerous little open-source projects that try to
tackle parts of the "problem space". There are lots of independently
developed IRC servers, IRC clients, some projects involving audio-visual
conferencing, and many (though still too few :-) libraries that implement
RFC- and W3C-related standards. Also, OpenOffice will likely be extended
to incorporate some basic groupware functionality (such as WebDAV support),
and Mozilla will probably be extended to finally implement some missing
parts of Tim Berners-Lee's original concept of a "read-write web". None
of these will become real groupware systems (or "Open Hypermedia Systems",
as Douglas Engelbart would call it). However, many of these systems (such
as OpenOffice and Mozilla) are already at this time much too complex to
attract lots of volunteers.
I believe that in order to succeed, an open-source groupware system must
be conceptually as simple as possible, well-documented, easily customized,
and must offer some new features that can't be found elsewhere.
By the way, in case you were offering to help (with design, implementation,
documentation, or anything at all :-), I'm very much willing to share this
project with other people (after all, sharing is what groupware is about :-).
About a dozen people have e-mailed me over the years and offered to help,
but in the end apparently nobody cared enough to really get involved.
> Do you have any thoughts on this?
> Did you learn anything by going as far as you had with Gnu Glue, either
> about groupware or about the process? Are you aware of other similar
> projects, or individuals who have similar interests?
I've learned that overall, sadly, there appears to be relatively little
interest in groupware. It could be that I'm just not good at marketing,
but the fact that Doug Engelbart's original 1960's idea of groupware
using "networked personal computers" is still only partly implemented,
and that Tim Berners-Lee's idea of a "read-write web" got lost during
the web revolution,
Also, I don't think that it makes much sense to find lots of contributors
at this time - GNU GLUE will need to have an exceptionally well thought-out
design, and most popular open-source systems had one of these mythical
"single lead designers" (Linux, Emacs, gcc, Perl, Python, Ruby, wxWindows,
Fltk, etc.), or a small group of people that were able to meet each other
"in person" early (GIMP, KDE, Mosaic, etc.). I've made some efforts to build
a GLUE "core team", but so far, I've found nobody else to help with the
project. The Internet tends to bring together people with similar interests,
and the fact that I haven't found more contributors would seem to imply
that there are currently very few people availably world-wide that are
both interested in helping and capable of helping.
The project that is most similar to GNU GLUE in scope and approach is
probably Engelbart's OHS project. There's a link to the OHS project on
GLUE's web page at Sourceforge.
Markus B Fleck * address@hidden * GNU GLUE Internet Groupware project
- Re: GNU GLUE?,
Markus Fleck <=