Making The Case For Open Groupware
OldBen writes: "This arose out of a thread that bounced between the OpenOffice and Evolution mailing lists. Looks like the folks that brought us phpGroupWare are looking to establish an open standard for communication between groupware components. A site has been established at http://www.ogsproject.org. Right now it looks like it's nothing more than a mailing list, but this is a critical step in the development of products that can once and for all replace Exchange/Outlook/Project, and therefore MS Office." Maybe I'm boring and have accountant-style glasses, but OpenOffice and phpGroupWare are two of my favorite projects, because I can taunt the very nice IT guy at the Microsoft-heavy office I used to work in with some tempting, flexible answers to the "what about Outlook?" question.
I've been lurking here for a while, and just couldn't hold back from
.02 follows
joining in the discussion.
My
Dan Kuykendall wrote:
>
> Yes, most are all dead because they couldnt build a solid foundation to
> work from. Running the phpGroupWare project, along with being a
> GroupWise and then Exchange and now Notes admin has taught me a
> considerable amount about groupware systems. I feel like I can build a
> design with the help of a few others with experience writing and
> maintaing groupware systems. With this small group we can get something
> done faster and then can open up for public discussion/critisism.
>
I used to be an admin for this sort of thing. I was at one time a certified engineer and instructor for WP Office
(when it was an email product - before Novell bought it and turned it into GroupWise) so I understand something about
the architecture of a product like that. I was a Notes admin briefly, too, and managed to escape prior to having to implement Exchange.
Today I'm an exchange user - and a fairly hefty one at that. Exchange holds my corporate database - tasks, calendar and contacts as well as records my communications with others. I depend greatly on this database.
The key concept is the storage engine driving the groupware server - all of the messages and data need to be stored somewhere.
As I understand it, Microsoft is kicking themselves now for the Outlook/Exchange architecture - sync is a real hassle, and of course RPC
over NetBIOS over TCP/IP is a lousy solution anyway.
They are in the process of moving to a new infrastructure using http as the transport, XML as the data format, and relational DB technology on the client. Their ost and pst solutions are terrible at handling large qualtities of data!
If we can implement something similar to what MS is starting to build today - starting with the back end and progressing to having a service on the client providing sync and archive services, we'll have something worthy of competing with Domino and Exchange.
The primary consideration is determining the architecture and the engine that will drive the technology.
I'm no DB geek by any definition, but has anyone thinking about this considered what/how the database ought to work? Is it possible to
implement a solution built on top of MySQL or Postgres, or something else that might scale well?
Once we've defined the back end, it should be as simple as building a wrapper around the technology that we select. (I know that's a major
oversimplification.)
Realistically, whatever engine is selected will determine the architectural limits of the size of implementations. Ideally we could pick something that would scale at least to a mid-size business, and while data storage capacities will increase dramatically as we move forward, we need to consider user data sizes in excess of 2GB. While most users don't need that kind of capacity, many do.
We've seen talk on the evo list about scalability issues between maildir and mbox, and unless we account for that in terms of user data needs, the open solution will have real scalability problems.
Additionally I believe strongly that we should not re-invent the wheel on this one. The good news for us is that the base protocols are
already defined, and the problem is one of data organization rather than message flow. We can leverage open standards like http, ssl, xml in the process, and leverage open source engines to help read and write the data.
There are some things for which there are not open protocols - for example, tasks (AFAIK) - but that need not slow down the vision or early
versions.
What's it going to take to get others of you involved in this? To add some detail to the picture of a truly open groupware server platform?
Surely you have needs that aren't met by existing products....
> > I'm all for getting gung-ho and putting fingertips to the keyboard, but
> > it's wasted effort if you don't have a coherent concept. I'm not
> > advocating committee paralysis, just some simple discussion over what
> > will / will not be addressed in the project and setting some priorities.
>
> I agree we need the concepts first, and I fully plan to work that way.
> but I dont plan to have every tiny function decided before I start
> hacking.
>
Plan the work, work the plan.
Let's pick an attainable scope of features, determine minimum functional requirements for those features, and then get started. We need not
define a huge feature set initially, but we need to understand the architectural consequenses of decisions made when implementing those
features.
The scope of features for version, say 0.1 will tell us when that engine has everything that it needs, and the functional requirements define the minimal quality requirements for those features - the features are done when the quality requirements are met.
Thanks for letting me get this off my chest.
But Herr Heisenberg, how does the electron know when I'm looking?
Whenever groupware is discussed, the capabilites get tied to implementation specifics apps. I would be happy if we could just get some standard data exchange formats defined so that I can share appointment/contact/planning data between my PDA, desktop (linux/MS), web interface, etc. without hassling too much with data formats for application settings. Get that working, then start discussing more sophisticated group ware.
PS. iCAL and reefknot look like interesting projects
Free Software and OpenSource Software wouldn't be anywhere near where it is today were it not for the Internet. The only reason Linux progresses as it has, I believe, is because we've had the Internet. It just wouldn't work with people mailing each other back and forth.
I believe that the next big steps in communication will come through groupware, and that groupware is the #1 thing that we can invest our time and energy in to, to receive maximal payback in the form of OpenSource and Free Software.
It needs to be dirt simple for us to create and destroy projects, set up mailing lists, votes, build databases collaboratively, vote, instant message, chat, etc., etc. When it's fluid, we'll reach a new level of community building and communication, which will redouble our ability to work over the Internet with one another.
We need to be able to easily embed groupware into our standard applications. It needs to be easy for a user to look something up in the documentation, note a minor bug, (spelling error? incompleteness? technical error?) make the adjustement, have the adjustment sent and approved by a moderator, and then applied to the text. All software should be able to easily manage docs like this.
We need to be able to say, "I need help," after looking through the docs, flag our ICQ or IM or whatever as "I am someone who needs help using THIS tool," and someone from the dev mailing list for that tool who has the "I am someone who can help you with THIS tool" flag set put in contact with you. It needs to be seamless, it needs to be easy, and it needs to be ubiquitous.
Another breakthrough will arrive when we can seamlessly communicate with audio-video over the web, between countries, and hold group meetings over the web.
Whenever you want to learn something, someone will be ready to teach you, face to monitor to camera to face.
Again, I think that the best thing you could work on if you want to improve OpenSource and Free Software is GroupWare.
The major changes we've seen coming from Open Source and Free Software are just the tip of the iceberg, and I think it's something that we should all be excited about and proud of.
You've obviously never used Outlook. Outlook isn't about email. Outlook, when used in combination with Exchange, is GROUPWARE. It integrates (pretty well, in my opinion), email, calendar/scheduling/meeting schedules, contacts, task lists, basisc notes, newgroups (both public and private) and jounaling. Outlook + Exchange, when used correctly, is an integration of what most offices currently kludge together: email clients, various contact lists, meeting room and meeting schedules, Rolodexes, newsgroup clients, random phone calls, and lots and lots of Post-it notes. Outlook isn't jsut a bloated email client. It's a front end to Exchange.