geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Boynes <>
Subject [HUMOR] Re: [POLL] API and Implementation serialization compatibility and upgrading
Date Sun, 15 May 2005 03:14:49 GMT
Oh, for Pete's sake, this poll is about as Fair and Balanced as Fox News.

How about:

   [ ] We, ${projectName}, didn't really mean it when we said something
       was Serializable and feel free to change our APIs and
       implementation at any time without telling you.

   [ ] We do our best to ensure our public APIs, but use of them is not
       supported by us. Good luck guys.

   [ ] I am a ${otherProject} user and quite like the incompatibilities
       between even minor dot releases - it gives my admins something to
       do. Please make sure ${projectName} behaves this way as well

   [ ] I believe the safest way to upgrade something is to wipe out
       everything that is there and start over every time. That way
       I don't get cooties from old software.


OK, so it probably isn't that funny but let's at least have a serious 
discussion about this.


David Blevins wrote:
> I really want to get some feedback from the developers, users, lurkers, other projects
and everyone on this subject.  It shouldn't be a taboo to talk about or considered a "can
of worms" or a "hot button."  It affects the project at pretty fundamental level, so I think
it would be good if we did our best to get feedback.
> The problem:
>   Upgrading apps between versions of Geronimo and it's integrated projects is not currently
possible without a redeploy.
> The facts:
>   - Our deploy system and storage of deployed apps is serialization based.
>   - At deploy time we build and Jetty web containers, Tomcat web containers, ActiveMQ
queues/topics, OpenEJB ejb containers, Axis webservices, TranQL connectors and more
>   - We serialize those objects which include not just what they consider to be their
public APIs but also the private implementations of those APIs.
> The tricky part:
>   - We, qualified in alphabetical order, ActiveMQ, Axis, Geronimo, Jetty, OpenEJB, Tomcat,
TranQL, et. al. cannot change our public API *or* private Implementation of our APIs and still
deserialize objects from a previous version.
>   - Unless we (the projecst above) agree not to bug fix, optimize, refactor, repackage,
or reorganize our code in a way that would break deserialization of objects created with a
previous versions of our code, it will not be possible to upgrade applications leveraging
these projects without a redeploy.
>   [ ]  We will do our best to ensure the implementations of our APIs are serialization
compatible to future versions of our code.
>   [ ]  We do our best to ensure our public APIs, but use of our implementations in such
a way is not supported by us.
>   [ ]  I do not mind redeploying my applications on each upgrade of Geronimo et. al.
>   [ ]  I do not want to start from scratch on each upgrade of Geronimo et. al.
> -David

View raw message