Loading...
 

Click here to generate a nice PDF of this page (including embedded article)

To do: add sections about

  • addition of Unified Index, which has been a revolution for performance
  • profiles to deal with 1000+ prefs
  • External authentication like OpenID, SAML, OpenIDConnect etc.


Can be interesting to send along EvoluData Expertise Level https://doc.tiki.org/External-Authentication

A Process That Is Not: A Decade Later

Who should read this article?

Anyone making technology choices for organizations, and wondering how to make the best long term choice, and to avoid issues such as vendor lock-in, ending up with yet more systems that don't adapt to emerging needs and become legacy systems, etc.


In 2009, the IEEE Computer Society published an editorial entitled "A Process That is Not" on the software development model/process of Tiki Wiki CMS Groupware. A copy of the article is shown below, along with follow-up comments and an update on how the project has fared since the article was written.

What is the IEEE Computer Society?

"The IEEE Computer Society is the premier source for information, inspiration, and collaboration in computer science and engineering. Connecting members worldwide, the Computer Society empowers the people who advance technology by delivering tools for individuals at all stages of their professional careers. Our trusted resources include international conferences, peer-reviewed publications, a robust digital library, globally recognized standards, and continuous learning opportunities." The website is at Computer.org.

What is Tiki Wiki CMS Groupware?

Tiki Wiki CMS Groupware (also known as TikiWiki or Tiki) is an Open Source web application that has been developed by a worldwide community of contributors since 2002. Tiki is the Free/Libre/Open Source Web Application with the most built-in features: https://tiki.org/FLOSS-Web-Application-with-the-most-built-in-features.

Why was this article originally written?

The IEEE Computer Society strives to understand what works and what doesn't work. They were trying to comprehend how a community Open Source project could be so successful without having a more centralized structure and the deep pockets of a large corporation or a government.

Why are we following up a decade later?

The article concludes wondering "how much longer its purely organic philosophy is sustainable". The evolution of the project provides clear answers to this question. Please read the article keeping in mind it was written in 2009, over a decade ago. And after reading the article, please proceed to our follow-up notes.


The article above is from 2009. And it concludes wondering "how much longer its purely organic philosophy is sustainable".

Tiki in numbers

What Stat Reference
Number of code commits 79625 as of 2022-01-30 https://sourceforge.net/p/tikiwiki/code/79625/
Number of software code committers As of 2019-09-04, 368 individuals from multiple organizations https://sourceforge.net/p/tikiwiki/code/70835/tree/trunk/copyright.txt
"Cost to develop" (value, according to Open Hub) Over USD$15 million https://www.openhub.net/p/tikiwiki/estimated_cost
Number of messages on the developer's mailing list Over 50,000 https://sourceforge.net/p/tikiwiki/mailman/tikiwiki-devel/
Number of wiki pages of documentation Over 2000 https://doc.tiki.org/tiki-listpages.php
Verifiable downloads Over 1.3 million https://sourceforge.net/projects/tikiwiki/files/stats/timeline?dates=2002-10-07+to+2022-01-30
Also note that, nowadays, users download .zip files less often, and more frequently get Tiki using installers, source code, Docker, etc., which are not counted in the stats from SourceForge.net.
Registered users on tiki.org Over 25 000 https://tiki.org/Community

See the list of new features and releases since 2009. LTS means "Long Term Support".

Beyond adding and improving features, Tiki has proceeded with major architectural enhancements to progressively take advantage of modern technology.

Back in 2002, Tiki used CVS, the popular software of the day for source control management, and then moved to SVN, and later Git.

Internet Explorer peaked during 2002 and 2003, with about 95% share. Its first notable competitor after beating Netscape was Firefox from Mozilla, which itself was an offshoot from Netscape.


For a sense of history, we saw the rise and fall of Flash and Java Applets. In 2020, Chrome and Firefox:

  • have a combined market share of over 75%
  • are collaborating openly to improve browser standards
  • offer a new major version every 6 to 8 weeks (IE 7 was released in 2006, after IE 6 in 2001)

Tiki went from a basic PHP 4 application to leveraging possibilities from successive versions of PHP. And we are now moving to PHP 8.0, and soon PHP 8.1.

From HTML 4 to 5, to a living standard. From home-grown CSS to CSS pre-processors, with Bootstrap 3 and then Bootstrap 4 (mobile-first front-end framework). And soon Bootstrap 5.

For the database encoding: From Latin1 to UTF-8 to utf8mb4.

From barely any JavaScript to rich interactivity with the addition of jQuery in 2009 and Vue.js in 2020.

In 2002, dial-up was still very much a thing!

As of the end of March 2003, 31% of home Internet users had a high-speed connection at home.

Tiki went from having a mobile version for WAP phones (in 2003) to jQuery Mobile (an alternative output), to today's responsive technologies. See the evolution at https://doc.tiki.org/Mobile.

In 2020, Tiki added PWA support.

A progressive web application (PWA) is a type of application software delivered through the web, built using common web technologies including HTML, CSS and JavaScript. It is intended to work on any platform that uses a standards-compliant browser. Functionality includes working offline, push notifications, and device hardware access, enabling creating user experiences similar to native applications on desktop and mobile devices.


Tiki has always prioritized code re-use. And its dependency management has evolved from CVS modules to svn:externals to the current 125+ projects via Composer: https://doc.tiki.org/Composer. And then, in 2021 to Composer v2.

From only end-user testing to continuous integration and an array of various tests via GitLab pipelines: https://gitlab.com/tikiwiki/tiki/pipelines, https://gitlab.com/tikiwiki/tiki/-/blob/master/.gitlab-ci.yml.

In 2002, installing and managing Tiki instances was a very manual operation. Then, in 2008, Tiki Remote Instance Manager was born, as a combination of shell and PHP scripts to install, update, backup, restore and monitor (check security of) a large number of Tiki installations (instances). Along with system configuration features added in 2011, this has facilitated more complex projects which require multiple environments (ex.: development, testing, acceptance, production, fail-over, etc.). Later, a web interface was added. In 2018, the script was revamped/modernized to be fully in PHP (making it more portable to different operating systems) using The Symfony Console Component. And the script was renamed to "Tiki Manager".

Most of the *.tiki.org sites (powered by Tiki, of course) are automatically updated daily from a stable branch, and a test upgrade to the latest code (trunk/master) is done daily, permitting the testing of upcoming enhancements with realistic data, and the detection of regressions. As the developers use the Tiki software itself to communicate, collaborate, track issues and so forth, the software is tested and improved as it is used (this is sometimes referred to as "eating our dogfood" — making not just for others, but to use in the development process, which is also an indicator of enthusiasm).

In 2021, Tiki moved to the PSR-12 Extended Coding Style standard, to be more in line with the global PHP community.

In 2022, we'll be adding native support for Markdown (CommonMark), which has now become a de facto standard for text-based syntax.

So the world has massively changed since Tiki's first release in 2002. And Tiki has evolved, relentlessly pursuing the goal of being the best possible Open Source Web Application. The Tiki development model has proven its efficiency and adaptability. During this period, thousands of web application projects have been born, and most do not survive past a few years. For those that do survive, very few enjoy a comparable level of sustainable success. So the question is why?

Tiki contributors will argue that it has a more efficient development model than any comparable web application. This is detailed at https://pluginproblems.com/.

Trackers are the "database" component of Tiki. Using Trackers, you can create forms and manage data. Combining with advanced wiki usage provides a no-code/low-code platform which permits to cover various use cases with a common code base: https://tikitrackers.org/Database-Web-App-Builder.

Another key point of Tiki's success is the time-based, "Release early, Release often" approach with Long Term Support (LTS) versions, to balance the needs of stability and innovation: https://tiki.org/Versions. This is especially important for the public sector and the enterprise.

Other applications that have a similarly large feature coverage (Odoo, Drupal, etc.) all have one or many major risks associated:

  1. Not Open Source
  2. VC funding
  3. Fragmented ecosystem

1a) Not Open Source
They may be Open Core (like Odoo): So they play the Open Source card but in reality, the business model is mostly about getting users to buy a support contract and use the proprietary version.

For example, the "the open source version of Odoo does not support migrations from one major release to another. Instead, migrations are part of a support package sold by Odoo SA.", and thus, a community initiative has emerged to offer such scripts as Open Source.

From the Tiki point of view:

  • This is a waste of resources as two different teams are working on the same thing (The Odoo upgrade script used by the Odoo Sa company vs the OpenUpgrade script by the community initiative).
  • End users feel that if they don't get the paid script, it may well lead to lower quality (Will my upgrade be as good? Will my data be uncorrupted?)
  • It is unthinkable for organizations to have to send their data to one software vendor (and Odoo typically manages financial data!). In Tiki, all code related to upgrades is made available with the same free / libre / Open Source license as the rest of the software. We want to make it as easy as possible to upgrade so the community has access to the latest and greatest software.


1b) Some projects will require contributors to sign a Contributor License Agreement which permits to later change the license away from Open Source.

2- Venture capital (VC) funding is involved: VCs have expectations of high financial returns and this is in conflict with Open Source freedoms. And thus, there is pressure to find a way to lock users in somehow, to monetize value, and not have an open ecosystem. Ref.: https://www.inc.com/zoe-henry/peter-thiel-how-to-build-a-monopoly.html

3- Fragmented ecosystem: The core systems see themselves as a platform, and it leads to an ecosystem of thousands or tens of thousands of plugins/modules/extensions which have diverse and potentially competing business models. These plugins themselves may be Open Core and the Open Source version is demoware, encouraging users to purchase the proprietary / enterprise version.


In contrast,

  1. Tiki is fully Free/Libre/Open Source. And there is no Contributor License Agreement so Tiki is sure to always stay Free/Libre/Open Source.
  2. No VC funding is involved. There is an ecosystem of service providers, and a non-profit association owns the assets such as the Tiki trademarks: https://tiki.org/Tiki-Software-Community-Association
  3. Tiki also means "Tightly Integrated Knowledge Infrastructure", and is the Free/Libre/Open Source Web Application with the most built-in features: https://tiki.org/FLOSS-Web-Application-with-the-most-built-in-features.


Here is a video interview from 2010 where two very experienced Open Source contributors debate Marc Laporte, a major Tiki contributor: https://tiki.org/article319-Watch-Tiki-s-Marc-Laporte-on-FLOSS-Weekly
Simon Phipps (one of the interviewers) later became President of the Open Source Initiative (OSI).

The ongoing success of Wikipedia.org has demonstrated what can be created when many contributors collaborate together in a minimal and fairly flat structure. The Tiki project has applied this model to creating software itself, with developers encouraged to join in and freely add their code fixes and feature enhancements, and the more active members of the Tiki community monitoring the code commits of new participants.

Further pursuing this "Wiki Way" collaborative spirit, Tiki spawned WikiSuite, which was founded in 2011. By 2016, WikiSuite had become, and still is, the most comprehensive and integrated Open Source enterprise solution: https://wikisuite.org/The-most-comprehensive-and-integrated-Open-Source-enterprise-solution. WikiSuite's cost to develop is well over US$50 million: https://wikisuite.org/50-million

While Wikipedia is the broadest unified body of knowledge, WikiSuite is the most comprehensive and integrated Open Source enterprise solution. WikiSuite's mission is to "empower organizations to better manage, secure and use their information, to become data-driven, and achieve their optimal performance". The Tiki community succeeded by federating with other Open Source communities with complementary feature sets. Notably, Jitsi Meet for video-conferencing, Syncthing for file synchronization and backup, MeshCentral for remote computer management, Virtualmin for server administration and Xibo for Digital Signage. Each project remains fully independent, and the WikiSuite community facilitates innovation, interoperability and visibility.

Join the Open Source community and be in control of your data!