>>>>> "Stefan" == Stefan Seefeld <[EMAIL PROTECTED]> writes:
Stefan> Akim Demaille wrote: Thomas> "internals" should be used in its correct sense: describing Thomas> things that a user cannot see >> Sorry, I'm doing free software, and therefore there are no >> internals >> according to your definition. I prefer a useful definition. >> Consider it `private' if you prefer. Stefan> May be I'm missing the context here, but what has free Stefan> software to do with this discussion ? The sources are available, so defining private as ``things that a user cannot see'' is moot. Stefan> We are talking about a public interface (an 'API') as opposed Stefan> to implementation. One reason to encapsulate things is to be Stefan> able to change it without creating incompatibilities, Stefan> i.e. without affecting the API. Of course! Stefan> The failure here is that there doesn't seem to be at least a Stefan> naming convention that marks non-public macros/variables such Stefan> as AC_DIVISION_INIT (AC_PRIVATE_DIVISION_INIT may be ?), which Stefan> would have avoided its (mis-)use. Agreed. I'm convinced about that. Stefan> Now people are using it, and you just tell them to rewrite Stefan> their build system in order to be able to use the new version. Stefan> That's bad practice. OK, I'll submit another scenario to you. People use a tool which is becoming much bigger than what envisioned at its inception. It was originally used only by a set of hackers who keep in touch with the author of that tool. They know each other, they participate to the development, read the mailing lists, know the conventions, the unwritten things etc. Then the tool has an unexpected success. A world wide success. People use it more and more, come with more and more demands. The tool grows, and becomes fat. So fat actually, that it's sick. Its internals are stretched so much, that it finally becomes necessary to do major surgery in its guts, to keep it alive. But some guy comes and says ``Hey, no way! Don't touch that organ, I use it as is! I never came on the lists and asked if it was moral and sane to use it, but I'm the All Mighty User, and I know better than you what I need, which turns out to be necessarily what needs the tool''. Convinced, the original maintainer continues building his cathedral on rotten foundations. Of course the tool becomes crippled with bugs, and a couple of years later, it is simply not usable any longer. I think that's bad practice.
