Ok, as far as I can tell, there are two groups of thought on API. I'm 
not seeing either group being particularly moved by the other side. I'm 
going to summarize what, I think, are roughly the two sets of positions. 
After that, frankly, I'm not sure what to do. I think more email dialog 
on this isn't really serving much purpose. I have a long rant about how 
modularity is good and so on, but I think I've tried to make my point 
clear and either I'm not expressing myself well or we just disagree. 
Either way, there seems little point in sending it. Here are the summaries:

Group 1:
All of our code amounts to an API
The GUI, the CLI, and the backend all live in the same gate so it's 
reasonable to check all changes made to all functions
The problem we've been having is essentially a social one which is best 
solved through better testing, diligence in code reviews and discipline 
when writing the code in the first place
By the time an adequate API is in place, it will duplicate the object 
structure of the back-end anyway
The solution is to (as Tom said) improve exception handling, move UI 
stuff, move logic into the back end, improve documentation

Group 2:
API's have a different level of stability and assurance than general code
Having a public API will improve our internal development as well as 
make it easier for people who aren't on the team to develop their own 
front-ends
If we have a public API, we need to use it
Modular  software design is good because it  makes development and 
testing easier
The problem is a social one, but the solution isn't, because the amount 
of contact and communication needed is large in order to enforce API 
discipline with the code as structured now
Giving a small number of methods/classes/objects API status and 
localizing them into a small number of locations makes it much easier to 
watch for changes to the API and provides a single location of 
documentation on appropriate use
Separating interface from implementation is a good thing
Giving people fewer ways to shoot themselves in the foot is a good thing

I've presented each group's position as best as I can. I hope everyone 
thinks I've presented their position fairly, that was my intent, but I'm 
sure I've made omissions on both sides, and I apologize for those.

Fundamentally, I think there's a disagreement on what makes good 
software design, and I don't think I'm going to change anyone's opinion 
on that in the next few days. So how do we go forward? This is important 
because a) we told the GUI team we'd have an API for them and if we want 
it being used by november, this needs to move quickly b) I thought this 
was a high priority item in terms making the code safe. Should we meet 
in person next week so that we can at least make a decision and move 
forward?


Brock
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to