History: Constructive Cost Model COCOMO
Preview of version: 55
Constructive Cost Model (COCOMO)
WikiSuite is the most comprehensive and integrated Free/Libre/Open Source enterprise software suite ever developed, so you'd expect that it took a massive amount of work. But how much? As of 2019, WikiSuite's cost to develop is well over $US50 million.
Really? How is this calculated?
Yes, really: If you tried to re-code WikiSuite using proprietary models. Below are the reports for various WikiSuite components generated by Black Duck Open Hub. Here is one example: https://www.openhub.net/p/tikiwiki/estimated_cost, and it has this note: "COCOMO is meant to include the design, specification drafting, reviewing and management overhead that goes along with producing quality software." More info:
How can it be free and who paid for this?
Like Wikipedia, GNU/Linux and Firefox, WikiSuite is the result of massive collaboration.
How do you arrive at "well over $US50 million"? Are you including the cost of GNU/Linux?
No. Just the Linux Kernel would cost billions to redevelop.
The WikiSuite-specific code (mostly ClearOS installers):
This is intentionally as small as possible since we focus on upstreaming code to the various Software Components.
The main software components:
Tiki Wiki CMS Groupware
- Plus 125 external dependencies, managed by Composer
- Well over 1 million downloads
- 345 code committers
- Over 68,000 commits
- Over 48,000 messages on the developer's mailing list
- Tiki is the Tiki is the Free/Libre/Open Source Web Application with the most built-in features
Openfire
Jitsi Meet
ClearOS
Syncthing
Optional components
Elasticsearch
Kibana
Kimchi
We won't count KVM as we consider it as part of GNU/Linux
FusionPBX
FreeSWITCH
Xibo
Isn't the figure exaggerated?
In some cases, it's actually underestimated. COCOMO counts the number of lines of code. But a project like Tiki has been in active development for over 16 years, and there have been over 68,000 code commits. This battle-tested code costs more to develop than a younger application that would have the same number of lines of code.
As of February 4, 2019, Tiki's cost of development is estimated at $14,744,047, and the latest revision is #68960, which represents about $214 per commit. Given the work that goes into software development, and since "COCOMO is meant to include the design, specification drafting, reviewing and management overhead that goes along with producing quality software.", the cost is clearly not overestimated. And that doesn't even count the 125 external dependencies. Think about it. Each dependency represents a distinct community / code base / bug tracker / etc.
Ok, but is this for plugins / duplicated functionality?
No. There is minimal feature overlap / code duplication in WikiSuite because our philosophy is to avoid it as per our component criteria model. While it's true that some of WikiSuite's components have apps (ClearOS) or plugins (Openfire), it's mostly a deployment mechanism, and there is no mess (community fragmentation, etc.) as described at: http://pluginproblems.com/
Given this huge value, isn't it a high cost to maintain the apps?
Many of the software components are 10 to 15 years old, so they are quite mature. Maintaining a mature app, even with it undergoing occasional revamps, is a tiny fraction of the effort of rewriting it. And now, each of the applications has a community / ecosystem that uses it and is highly motivated to maintain and develop it.
If another suite has more lines of code (and thus a higher dollar amount), does it make it better?
No. The goal is to have all desired features with minimal complexity, and a sufficient community to sustain it. Some other suites are focused on facilitating self-hosting of many apps, including apps with identical functionality, but WikiSuite is very opinionated about the apps that compose it. We believe supporting more than one application for the same need adds unnecessary complexity and fragmentation. We believe WikiSuite's model is the best way to have the most features, with the least complexity. Please see: http://pluginproblems.com/
Ok, but I am not going to use all the features
That is true of all feature-rich software. But the economics of software development don't make it feasible to build software exclusively tailored for one use case. Community Free / Libre / Open Source software will necessarily want to cater to a wider community and get more users and contributors.
Conclusion
Even if we exclude dependencies (which is debatable), and not count all the components, we can see that the cost to develop is "well over US$50 million". This demonstrates the following:
- Software development is expensive.
- WikiSuite components are feature-rich as per component criteria.
- Free / Libre / Open Source development models are fantastic, even if they are not always well understood. Please see this analysis from 2009: https://www.computer.org/csdl/mags/so/2009/06/mso2009060004.pdf.
- Only organizations with very deep pockets can think of entering the enterprise suite space.