The interfaces have always existed. They were undocumented & scattered across files, but you can't have a distributed system without interfaces. What you've done is make them "less" internal, slightly better documented, and moved to a single set of files (and improved them). It's a commitment to a stable set of well-understood interfaces that makes extensibility possible (or more accurately... "cost-effective"). Whether they're in an I* file is mostly a matter of convenience.<br>
<br>BTW... this is not a complaint about the work that is being done. Or about the refactoring. This is good stuff. And a commitment to treating them like real, persistent interfaces is the next step.<br><br>--mic<br><br>
<br><div class="gmail_quote">On Wed, Jan 6, 2010 at 10:52 AM,  <span dir="ltr"><<a href="mailto:diva@metaverseink.com">diva@metaverseink.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Mic Bowman wrote:<br>
> In this case, one of the barriers we feel to productive public<br>
> discussion (and probably documentation) about long-term, stable<br>
> interfaces is a lack of belief that the discussion will matter in a<br>
> substantial way to what gets coded. That is, if we went off & built the<br>
> php/apache interfaces, we would have no influence over changes in the<br>
> core & would therefore be completely subject to any decisions core<br>
> makes. (Feels like taxation without representation or something like<br>
> that... :-)<br>
><br>
> So... You say that we can go off & build what we want... but that's only<br>
> cost-effective if we fork or freeze (or wait)...<br>
<br>
</div>Well, that's not exactly true that you don't have a say, since 2 core<br>
devs are your employees :)<br>
<br>
But wrt to stabilization, as I said, those interfaces are the main<br>
contract. Notice that these interfaces didn't exist, as such, before.<br>
Now they do. Before now, no one here could point to a piece of the code<br>
base and tell you "hey, here's the contract". Now we can. I'm hoping<br>
that, after some minor clean-ups (exception: IInventoryService needs a<br>
major cleanup) those interfaces will freeze. I'd be very surprised if<br>
those interfaces will go through major changes after 0.7. That's my word<br>
only, I don't speak for the entire project, but, really, I'd be *very*<br>
surprised.<br>
<div><div></div><div class="h5">_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>
</div></div></blockquote></div><br>