A component is a Free / Libre / Open Source software (FLOSS) project which is selected to be part of WikiSuite. Please see: Software Components. While it's subjective to pick a component, here are some general guidelines that are thought to be a good fit. If you have some ideas, please do share them.
The premiere place to evaluate and compare FLOSS projects is Black Duck Open Hub (formerly known as Ohloh.net). Other great sources include
And for libraries to be included in apps (in our case, mostly PHP / JavaScript)
As described at use cases
As we want to reduce the number (complexity) of interaction between components, it's best that they are handled within each app. So "suite mentality" is preferred. Having all the desired sub-functionality which complements the other elements of the WikiSuite is of course important. However, this is a long term project and if a feature is missing, we can just add later on as we complete the puzzle.
Let's avoid fragmentation of efforts.
The Tiki Model has permitted it to become the Free / Libre / Open Source Web Application with the most built-in features
This should be obvious but just to be sure! Preferred license is LGPL v2 because that is what Tiki uses.
Any OSI license is fine. Be wary of situations where the license could be closed up or the FLOSS / "community edition" abandoned, like MindTouch or Socialtext
Number of commits and number of contributors reported by Open Hub. See Black Duck Open Hub.
WikiSuite is a long-term project and many many organizations will depend on it. Thus, a project should ideally already have a history.
Projects with good leadership and good community vibe. No one wants to be stuck in a non-fun place!
Projects with larger/vibrant communities have more to gain from and more to contribute to WikiSuite. And the diversity of the community is a definite strength. Diversity leads to different ways to approach a challenge and improves the solution.
Where is the project headed? What is the plan/vision?
There should be frequent and / or scheduled releases. Ex: Tiki has a major release every 8 months, which has all kinds of benefits. Ideally, the project has scheduled releases so we can have a good cadence.
Ideally, people can use with little or no training and documentation is available. If the features are there but are not easy enough to use, this is something that we can improve together. As an example: Manticore Search not only has great documentation but also interactive courses to learn Manticore Search without any downloads or configuration.
There should be a commitment to being as interoperable as reasonably possible to projects outside the WikiSuite, by using (and enhancing if need be) open standards and protocols.
Is it easy to install & upgrade?
Especially client side, we have to assume organizations will have eclectic hardware, including mobile devices.
WikiSuite is (mostly) a server solution so users will be able to do the vast majority with a modern browser. However, there are some times where the browser is not (yet) ideal, and client software should be recommended. Ideally, this client software is
The project must be open to contributions. Project should be happy to add these new features ideally, in the core of the official next release and not a third-party add-on that needs to be maintained separately.
If a project has a non FLOSS component, it could be reticent to accept the inclusion of a feature which is an alternative. Please see: Open Core software debate.
Being backed or managed by a foundation/association is preferred. Vendor lock-in is to be avoided.
WikiSuite is resolutely "Upstream First", and has contributed massively to Tiki Wiki CMS Groupware and Openfire.
Projects should have an online presence, where it's easy for new users to ask questions, get support, join the community, etc.
We expect that a good number of future users will enjoy the flexibility and avoidance vendor lock-in. Yet, they still want to hire someone else to host and maintain it. Encouraging SAAS is part of the project.
Similar to SAAS, future users will want to be able to hire WikiSuite expertise for support, training, customizations, feature development, etc. Encouraging this is an inherent part of the project.
Should be based on sufficiently popular technology so it has long-term viability. However, it doesn't have to be the most popular. PHP / MySQL / Smarty / jQuery / Zend Framework / Bootstrap is preferred because it's the technology Tiki uses (and pretty much all components need to interoperate with Tiki). However, it's clear that we'll need some other technologies that are better suited (ex.: to desktop apps).
The higher the switching cost, the more prudent we are about the selection.
P2P stuff like XMPP & Email is much more protocol & standards-based because they are inherently designed to communicate to another node. Inherent switching cost is lower. So if Thunderbird is eventually dropped, changing to another mail client is not too hard.
Anything with data or that shapes your processes can have a high switching costs. Tiki has a huge switching cost, not because it doesn't respect standards (it does), and not because it tried to lock you in (it doesn't), but simply because it manages so many different types of data and processes.
As much as possible, let's encourage all components to move to Bootstrap to make it easier to have a common look and feel.
Does the project re-use code in a smart way? Are fixes upstreamed? Are they keeping up to date with the upstream project?
Please see
http://blog.versioneye.com/2014/02/18/why-your-software-project-will-slowly-die-without-continuous-updating/
http://blog.codinghorror.com/the-broken-window-theory/
Should have (or be ready to add) a process to collaborate on translations.
The project should be willing to promote the WikiSuite to its community (ex.: with a page explaining the project and an announcement). Ideally, each project of the suite will Dogfood at least part of it. Realistically, migrating existing data is not easy, but for new needs/projects.... Project should be eager to increase interoperability with other components.
Upstreaming fixes, discouraging license proliferation, etc.
Such as
etc.
Also see the SWOT analysis for Tiki: https://tiki.org/SWOT.
"QSOS is a method conceived to qualify, select and compare free and open source software in an objective, traceable and argued way"
http://www.qsos.org/?page_id=3
Some projects just have a little something special which makes you want to be part of them .