Background

This document highlights research that began with spike OLMIS-1513.


Summary

Commercial reporting options are expensive.  The very least that TIBCO’s paid offering would cost is $4,100 per year – and that’s for a wholly unsupported product. Tableau, meanwhile, would likely involve an outlay of over $10,000 for the first year. Although costs vary significantly by licensing scheme, they seem prohibitive in most cases. Even if VillageReach could afford them with our current grant, they seem likely to curtail OpenLMIS’ appeal for use with other endowments. They also inherently conflict with the goals and expectations of most open source projects. 

The Community Edition of JasperReports Server meets our project’s most basic reporting needs free of cost. It’s customizable, capable, and has the benefit of being based on technology already used in previous versions of OpenLMIS. It would thus offer an easy upgrade path to organizations interested in using preexisting OpenLMIS reports within version 3. Furthermore, its use doesn’t preclude later migration to a commercial edition of JasperReports if and when need be. For these reasons, adopting JasperReports Server Community Edition seems like the best option for now.


Details - JasperReports

At the behest of OLMIS-1513, I thoroughly explored JasperReports’ Commercial versions. They’re what TIBCO publishes as an AMI, and what they showcase during demos. They’re feature rich and support everything we could possibly want. Unfortunately, they’re also expensive. The following cost/feature breakdown of various JasperReports options focuses on the features most relevant to OpenLMIS. Costs are approximate and take our non-profit status into account where applicable. Estimated hosting costs assume an annually reserved m3.medium paid for in advance.


Community Edition (Free license; $380/year for hosting)


Hourly AWS AMI ($4,100 / year for both license and hosting)

The software includes everything in the Community Edition plus:

Note that this option is largely unsupported by TIBO. Their site says to “contact Jaspersoft’s sales team for the discounted annual subscription of the hourly offering.” The page includes broken links, though, and seems dated. The sales engineer I spoke with had almost no information about the hourly AMIs, and said they can’t currently be discounted. It was very clear that this isn’t an option he’d promote or help with.

This option has no user limit and may be run using a range of EC2 instances. This is more attractive that TIBCO’s supported AWS offerings, listed below, which are licensed for specific types of EC2 instances.

This page implies that ETL comes standard with the BYOL (Bring Your Own License) option. In fact, however, the licenses discussed below do not include ETL support.


Professional Edition ($13,000 / year license + $380 hosting)

This option includes everything in the Community Edition plus:

* Standard TIBCO support with 12 calls per year.

This is the least expensive option that the sales engineer would meaningfully discuss with me. It allows for as many users as an m3.large can accommodate. Depending on the use case, the sales engineer estimated this at 25 - 50 concurrent users. Running JasperServer Professional Edition on an EC2 instance larger than an m3.large would require a new license agreement with TIBCO.


Enterprise Edition ($20,000 / year license + $380 hosting)

Includes everything in the Professional Edition plus:


Enterprise Edition Premium ($30,000 / year + $380 hosting)

Includes everything in the Enterprise Edition plus:


What we may miss most by using of the Community Edition:

Details – Tableau

After beginning to explore TIBCO’s commercial offerings, I quickly turned my attention to Tableau’s. After all, through the purchase of several Tableau Desktop licenses, we’ve already invested in their ecosystem.

Tableau has a lot to offer. It gives end users the ability to build beautiful and highly interactive charts without the need for relying on developers. Their ecosystem isn’t as mature as TIBCO’s, but feels significantly more modern and refined. It seems to do a better job of offering the features we care about, with the following exceptions:

The following breakdown of their options focuses on the features most relevant to OpenLMIS. Costs are approximate and take into account our non-profit status.
 

Tableau Public (Free)

This seems fully featured. I didn’t seriously consider the option, however, because it publically exposes all of its hosted reports. This would be a major source of concern and criticism for OpenLMIS.


Tableau Online ($500 per user per year)

Both report authors as well as consumers require licenses. Leveraging a single account to embed reports within third-party webpages simultaneously accessed by multiple users violates Tableau’s EULA. By limiting the number of OpenLMIS users who have access to reports, either within Tableau Online or OpenLMIS, implementers can likely make this an affordable option. I think it would still expose OpenLMIS, however, to severe criticism.


Tableau Server ($10,247 for the first year… details below)

Tableau Server is licensed either by user or per CPU-core. Only the former could possibly make sense for us – the later costs hundreds of thousands of dollars and is intended for a larger user base. Meanwhile, the per-user license scheme requires the purchase of at least ten user licenses. Afterward, licenses can be bought in increments of one.

A ten-user license of Tableau Server would cost us $7,500 for the first year. Optional support and upgrades would cost $1,500 for subsequent years. In either case, additional users would be $750 apiece.

The above costs don’t factor in hosting costs. Unfortunately, Tableau Server only runs on Windows. Given its hardware requirements, we’d likely want at least a t2.2xlarge that, if paid for upfront, would cost about $2,747 per year.

For ten users, Tableau Server would thus cost about $10,247 for the first year.

It’s possible that typical implementations wouldn’t need ten licenses. Implementers could then use Tableau Server’s multi-tenancy feature to share their instance of the service among their implementations. I think that advocating such an approach, though, would needlessly raise OpenLMIS’ barrier to entry. 


Note about ETL

 TIBCO has an ETL related product, but doesn’t include it in the plans discussed above. Meanwhile, Tableau’s ETL support is minimal. I think that this is functionality we can implement on our own, though. It thus needn’t be a deciding factor when weighing reporting solutions.