Loading...
 

History: Component criteria

Preview of version: 2

"Picking your team is 90 percent of the battle" — Stewart R. Levine


A component is a Free / Libre / Open Source software (FLOSS) project which is selected to be part of the Tiki Suite. While it's subjective to pick a component, here are some general guidelines that are thought to be a good fit with Tiki. For general info on how Tiki works, please see Tiki Model. 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)

Fits the use case

As described at Tiki Suite use cases

Multi-functional

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 Tiki Suite 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.

Free / Libre / Open Source software (FLOSS)

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

Activity level

Number of commits and number of contributors will be evaluated on Ohloh.net

Longevity

Tiki Suite is a long-term projects and many many organizations will depend on it. Thus, a project should ideally already have a history.

Leadership

Projects with good leadership and good community vibe. No one wants to be stuck in a non-fun place!

Community

Projects with larger/vibrant communities have more to gain from and more to contribute to Tiki Suite. And the diversity of the community is a definite strength. Diversity leads to different ways to approach a challenge and improves the solution.

Roadmap and frequent releases

Where is the project headed? What is the plan/vision?

Tiki has a major release every 6 months, which has all kinds of benefits. Ideally, the project has scheduled releases so we can have a good cadence.

Ease of use

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.

Interoperability

There should be a commitment to being as interoperable as reasonably possible to projects outside the Tiki Suite, by using (and enhancing if need be) open standards and protocols.

Deployment

Is it easy to install & upgrade?

Multi-platform

Especially client side, we have to assume organizations will have eclectic hardware, including mobile devices.
Tiki Suite 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

  • available in a portable mode, via Zero Install
    • This means there is no "installation". The user can just use a USB key/portable disk.
  • cross platform (Win / Mac / Lin and ideally Android as well)
  • can start up and log in when user boots up computer

Open development model

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 3rd 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 debate.

Being backed or managed by a foundation/association is preferred. Vendor lock-in is to be avoided.

Chat / Forums / Mailing List / Bug Tracker / Source Repository / Wiki

Projects should have an online presence, where it's easy for new users to ask questions, get support, join the community, etc.

  • Source code should be readily available via SVN, Git, etc.
    • We want all commits, not just snapshots
  • An IRC chat room or similar should exist, with regular presence of key people
  • Documentation and planning should be done with open processes, and tools like a bug tracker, mailing list/forums and wiki.

Available as a SAAS

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.

Availability of a services ecosystem

Similar to SAAS, future users will want to be able to hire Tiki Suite expertise for support, training, customizations, feature development, etc. Encouraging this is an inherent part of the project.

Technology

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. However, it's clear that we'll need some other technologies that are better suited (ex.: to desktop apps)

Switching cost

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.

Design

  • Tiki & ClearOS are moving to Bootstrap front-end framework and ideally, all web interfaces would do the same, to make it easier to have a common look & feel. JitMeet & Jitsi are currently analyzing this. It would be really good for Zarafa, but less important for FusionPBX and Piwik, because they are more admin panels. When Kaltura moves away from Flash to HTML5, it would make sense to use Bootstrap as well.

Code re-use and up-to-dateness

Does the project re-use code in a smart way? Are fixes upstreamed? Are they keeping up to date with the upstream project? https://www.versioneye.com/ is useful to check for up to date libraries

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/

Development practices

Multilingual

Should have (or be ready to add) a process to collaborate on translations.

Willingness to participate to the Tiki Suite

The project should be willing to promote the Tiki Suite 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.

A Good FLOSS Citizen

Upstreaming fixes, discouraging license proliferation, etc.

Active in FLOSS events and associations

Such as FOSDEM, OSCON, FISL, RMLL, FSF, OSI, etc.

The Open-By-Rule Benchmark

http://webmink.com/essays/open-by-rule/
http://blogs.oracle.com/webmink/entry/a_software_freedom_scorecard

Also see the SWOT analysis for Tiki: http://tiki.org/SWOT

QSOS

"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

The Openness Index

IndieWeb

Coolness

Some projects just have a little something special which makes you want to be part of it :-)

Non criteria


Related links

History

Advanced
Information Version
Marc Laporte 31
View
Marc Laporte Removing dependency on ClearOS as apps will be containers 30
View
Marc Laporte 29
View
Marc Laporte 28
View
Marc Laporte 27
View
Marc Laporte 26
View
Marc Laporte 25
View
gary.cunningham-lee Minor text edits. Replaced text-character smiley with icon. 24
View
Marc Laporte 23
View
Roberto Kirschbaum "project" word was mistakenly "projects" 22
View
Marc Laporte 21
View
Marc Laporte Zero Install is not super active (ex.: vs PortableApps) 20
View
Marc Laporte 19
View
Marc Laporte 18
View
Marc Laporte 17
View
Marc Laporte WikiSuite is resolutely "Upstream First" 16
View
Marc Laporte 15
View
Marc Laporte 14
View
Marc Laporte 11
View
Marc Laporte 10
View
Marc Laporte 9
View
Marc Laporte 8
View
Marc Laporte 7
View
Marc Laporte 6
View
Marc Laporte 5
View
Marc Laporte 4
View
Marc Laporte Updating text for Tiki Suite -> WikiSuite 3
View
Marc Laporte 2
View
Marc Laporte Moved from https://suite.tiki.org/Tiki+Suite+Component+criteria 1
View
Show PHP error messages