How do we change the API?
Martin Senger has proposed the following procedure for making changes to the API:
- Anybody can make a suggestion to make a change in API (we can call it RFP - request for proposal, or RFC - request for comments, or whatever). An example of such thing are the proposals from Oswaldo and his collegues (even though I would not expect to have it always so perfectly written :-)). Important is that it must *say* this is a RFP/RFC, not just a wish in email. We will keep a place for it (bugzilla has wishlists?).
- Then a calendar (deadline) must be attached to it. It can be suggested already by the author of the RFP/RFC, or a default value is attached. We need to say what is a default value.
- The RFP can be considered only if the change is back-uped by two (three?) other developers. They do not need to fully agree with all details, their role is just to prevent overhelming number of small changes coming fast.
- It is also considered only if somebody has resources to really implement the change. This should be also a part of the clendar ("when it can be done").
- Discussion on RFC, changes re-distributed, etc. In charge is the author of the original RFC. Deadline can be extended - don't be too formal here.
- Now the tricky part: I think taht there should be only few people (major developers) who can vote on it. This is called an "Architecture Board" at OMG and guarantees that the changes are hopefully not breaking other things.
- Then comes implementation, documenttaion etc.