Forum OpenACS Improvement Proposals (TIPs): Re: Tip #26 (Proposed): Exchange acs-mail-lite

Collapse
Posted by Randy O'Meara on
I just thought I'd reiterate again...

PLEASE DON'T BREAK EXISTING CODE

Sorry for raising my voice, but there has to be a better way to migrate to a newer and better mail package than ripping the old one out (moving it to the obsolete packages graveyard) and plunking in a new one with the same name but a different API.

There are folks out there using the current packages and they will not follow along to new releases if it breaks their production code.

Or, maybe I misunderstood what is proposed?

Collapse
Posted by Tom Jackson on

Randy, I don't think you misunderstood at all.

You know HIV, the virus that causes AIDS, kills its host by constant mutation. Our amazing immune systems kill most of it over and over again, but a little bit that is slightly different remains to grow up again. API changes are like giving HIV to your Open Source project. Amazing, enthusiastic programmers do their best to keep up, but eventually succumb to these tiny changes.

But I'm also reminded of how, when I was a kid, I would find a typewriter or other complex mechanical device. Not having the tools or patience to take it apart, I'd just smash it on the ground and then collect the parts that fell off. Cool!

Collapse
Posted by Malte Sussdorff on
Sorry to contradict Tom here, but I'm not talking about breaking existing code. If the OCT wants to move my initial proposal of upgrade of acs-mail-lite to a overhaul of the mailsystem, that is up to them. I merely propose to use the contrib version of acs-mail-lite instead of the version that resides in packages, as the contrib version contains quite some *enhancements* that are *not* breaking any existing code.

So maybe we should stick with the *original* TIP and make a decision on this before we talk about changing the whole mailsystem. But again, this is up to the OCT.

One note on the API changes. If I'm not mistaken, mutation is welcome in the world of science, otherwise progress would not happen. What we just have to make sure is that the API does not break existing code (thereby not taking a darwinistic point of view). Which is really easy to accomplish, especially in this case.

Anyway, all I can do  is to mention that there is acs-mail-lite in contrib, that does not break existing code, is compatible to the version in packages and it's up to the OCT to come to a decision whether to use it for OpenACS or not. Anyone wanting to get bouncing and documentation can still take the contrib version after all.