My own "fuzzy system" in development. In many respects, Interlude is first and foremost a PHP framework. But, unlike a typical framework, releases will have different "builds" that aim to meet specific needs in different communities. As a framework, the core will perform only core functions--those related to user management and permissions, as well as session handling and securing input and output. In this vein, Interlude will be able to perform any function with little overhead, as well as act as a bridge between users.
Besides the core framework, Interlude will have various parts: plugins, components, extensions, etc. Here is how I define each. A component is, for all practical purposes, a really big plugin with multiple parts (e.g. forums). These provide the most basic areas of content management and interaction. These will be self-contained and easily updated/removed/installed/etc. A plugin is a lot smaller in scale and extends the features of a single component (e.g. a rating system for the forums). An extension does what it implies: extends the features (e.g., a comprehensive rating system that extends from the user object instead of the forums) of the entire system and can be considered, for practical purposes, a large plugin. In other words, if a plugin works for multiple components and/or the core system, it is an extension. If it creates a whole new aspect of interaction, it is a component. All of these addons will be required to work through the requirements system in order that they can be used only when all of its requirements are met. In other words, for example, if one wants the rating system for the forums, one must have the forums installed before using the rating system. The requirements protocol will allow developers to indicate the necessary parts before running a plugin. One main concept being considered, yet not implemented, is the usage of an automatic update/install/remove tool in the core system. The main obstacle to this is securing its interaction to prevent hijacking.
Interlude also conforms to a few standards. First of all, we are developing with the future in mind, so things like Object Oriented Code and Database Abstraction are a must. Secondly, we are designing Interlude to work on any standards-compliant browser on any system that runs PHP 5 (or greater) and an up-to-date SQL database. Third, Interlude adheres to an MVC-style programming. In other words, the PHP code should remain completely separate from how the output (whatever it may be) is generated. While the template that ships with Interlude will be XHTML compliant, other templates can be made (or modified) without messing with the PHP code. Furthermore, the Interlude standard will be to separate html from css so that changing color schemes is the matter of changing a css file without having to modify the html.
A few of the inspirations for the coding can be found in projects such as Wordpress (the hook system, plugin system) and phpBB2/Categories Hierarchy (plugin system, object-oriented design, security).