You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Jeremy Boynes <jb...@apache.org> on 2004/10/30 19:56:17 UTC

API stability

Recently the API for constructing GBeanInfo changed when the builder 
class was renamed from GBeanInfoFactory to GBeanInfoBuilder. I agree 
with the intent here but I would ask that in the future when we make 
such a large change we give more heads up to the community.

My concern here is that this class is fundamental enough that it is used 
in every GBean. Yes, the change fixed this for the project, but it will 
have been disruptive to any users out there who may have written their 
own GBeans. We broke their code for what is essentially a cosmetic 
change (a more fitting name for the class).

We cannot afford to gain the reputation that some projects' have: of 
changing APIs willy-nilly. People will end up writing code against 
Geronimo specific APIs and they need to have the confidence that there 
will be stability from one release to the next.

We are close enough to a final release now that we need to start 
considering this kind of impact during day-to-day development and use 
professional judgment on whether a change *should* be made and if so how.

For example, I believe this was a good change to make as it clarifies 
the purpose of that class. Given this is a fundamental API, it is of 
benefit to users to have this right in V1.0 so that we do not have a 
legacy issue forever. However, this is not a blocking issue and it is 
not critical enough that it needed to be made immediately and without 
notice.

Instead, I would have preferred if someone could have proposed this on 
the mailing list first and given users reasonable notice before actually 
making the change.

I realize that there could have been discussions of this privately or 
perhaps on IRC, but such discussions need to be mailed to the dev list 
so that the community as a whole gets involved.

--
Jeremy

Re: API stability

Posted by Lyndon Samson <sa...@dodo.net.au>.

I've often through it would be nice to have a 'redirecting'
classloader in these sort of circumstances.

Have some rules/conditions which map from one fully qualified
classname to another.

So a simple case might be

Requested -> Actual
x.y.z.A   -> x.y.z.B

Perhaps you can allready get similar functionality ( and more ) with
AOP frameworks?

Potentially confusing, but also useful I think.

Either that or stub and deprecate the old fully qualified classnames.

cheers
lyndon



Re: API stability

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
	+1

On Sat, 30 Oct 2004, Jeremy Boynes wrote:
> Recently the API for constructing GBeanInfo changed when the builder 
> class was renamed from GBeanInfoFactory to GBeanInfoBuilder. I agree 
> with the intent here but I would ask that in the future when we make 
> such a large change we give more heads up to the community.
> 
> My concern here is that this class is fundamental enough that it is used 
> in every GBean. Yes, the change fixed this for the project, but it will 
> have been disruptive to any users out there who may have written their 
> own GBeans. We broke their code for what is essentially a cosmetic 
> change (a more fitting name for the class).
> 
> We cannot afford to gain the reputation that some projects' have: of 
> changing APIs willy-nilly. People will end up writing code against 
> Geronimo specific APIs and they need to have the confidence that there 
> will be stability from one release to the next.
> 
> We are close enough to a final release now that we need to start 
> considering this kind of impact during day-to-day development and use 
> professional judgment on whether a change *should* be made and if so how.
> 
> For example, I believe this was a good change to make as it clarifies 
> the purpose of that class. Given this is a fundamental API, it is of 
> benefit to users to have this right in V1.0 so that we do not have a 
> legacy issue forever. However, this is not a blocking issue and it is 
> not critical enough that it needed to be made immediately and without 
> notice.
> 
> Instead, I would have preferred if someone could have proposed this on 
> the mailing list first and given users reasonable notice before actually 
> making the change.
> 
> I realize that there could have been discussions of this privately or 
> perhaps on IRC, but such discussions need to be mailed to the dev list 
> so that the community as a whole gets involved.
> 
> --
> Jeremy
>