Forum OpenACS Q&A: Re: Reuse in the large is an unsolved problem !?

Posted by martin hebrank on
I wasn't really going to respond to anything directly here because just before Lars' posting I had decided to start a series of articles of the problems OpenACS has. But, I suppose a little shameless self promotion won't hurt much:

Anyway, the real reason I decided to post is that I do not agree with any statements about "reuse at large being an unsolved problem". Why? well, if it were true, we would be writing new operating systems, graphical user interface, and apps EVERY time we installed a new computer. And a new set of networking protocols everytime we put in a network. We don't. It clearly works. But, it must be done right.

I think OpenACS is busy failing to do that. And there's a particular line of thinking that seems to exemplify the problem. Caroline says "The value OpenACS delivers through reuse is larger the closer the next use is to the previous use." Well, yes, if you design all your apps to work this way, then it will work out that reuse at large doesn't work. Note that the old electronic word processors, which were designed as having a close use to the previous use, have all disappeared in favor of the far more general personal computer. On the other hand, if you keep actual reuse in mind while designing and coding your apps, it should be fairly simple to end up with a system that can be widely deployed with very little work.

I intend on outlining my ideas and suggestions for OpenACS improvement and growth in a series of (bi)weekly articles on the above listed blog over the next month or so.

** Martin

Posted by Simon at TCB on
I read Lars blog too...

I think the re-use thing is a big red herring :). It sounded much more to me like he's found a new language he likes (which is of course a perfectly good reason to switch).

OpenACS is re-usable alright, the problem I think the community has it that its too focussed on websites.

Now, that might seem a pretty daft statement, but in fact I think its the 'website' centricity thats holding back the product. I've always thought of OpenACS an architectural piece, a platform, an application server... pick your own jargon. Once you get beyond websites the OpenACS is a superb enterprise tool. The very fact that in five years of using it I've never built a 'website' as such only goes to re-enforce that.

Its perfect for
- Agile (XP style) development projects
- Web services (in the enterprise context)
- Service Oriented Architectures
- Data management/migration
- Test driven development (its a perfect enterprise test platform
- Integration engine
- Provisioning system
- Messaging exchange platform (SMS, WAP, Gateways etc)
- Product lifecycle management.

and on and on....

I think Martin's analogy with the operating system is a good one. OpenACS for us has always been about an infrastructure on which we can build almost anything. It just happens to do websites as well. For me its always been an 80%er, and thats just how I like it. The kinds of problems I solve are new, custom and agile. I need a strong basis on which to build, not a finished product to re-use.

The problem OpenACS is having is that Forums, Chat, File -storage and so on are simply not very challenging. They've been done to death, and largely for a customer its all about tweaks and cosmetics.

OpenACS is a sophisticated, re-usable architecture. Unfortunately website are not challenging enough for it.

My suggestion would be to broaden the perceived use of OpenACS into something approximating a development framework. It could undoubtedly prosper in the enterprise environment where heavy-weight Java mush passes itself off as lightweight development...

In doing so this will attract a wider variety of contributors and enhancements.

Well, thats how I'd like to see it going..

Can I be the first in this thread to say.. TCL is an incredible language. Why is TCL always included in the 'what wrong with OpenACS'.. I've never understood that... TCL is a bit like the English language itself. Rich, expressive, eccentric, sometimes counter-intuitive, but ultimately poetic! Anyone who thinks differently is frankly talking ___. ;) I can think of no alternative I;d even remotely consider..