Wednesday, January 29, 2014

Tableau Server - Open Source Software Usage

Spoiler Alert: if you would like to skip my light-hearted rant against your pedantic desire to obsess about open source components, scroll down to see the actual list of components that can be found inside of Tableau Server.

From time to time I get asked a series of unfortunate questions about Tableau Server. Actually these are more like petulant demands from an IT manager more than actual questions ... Things like "what open source software does Tableau use?", "How do they test for open source vulnerabilities", or "we require an exhaustive list of all open source brands as well as their exact versions!", or even worse, "we want to swap out open source components with our own versions!"

Let's clear up some of this totes cray cray talk (translated: very crazy talk), shall we?

  • First things first: any respectable software vendor has zero obligation to tell you what kinds of software they use underneath the hood. In fact, doing so can be seen as a security flaw on their part. The less you know about their components, the less malicious people know about them as well. Security through Obfuscation. "Oh but now you're just using the NSA excuse," you may respond, "We are Edward Snowden, and we want answers!". Yeah, right. Tableau Server is not the NSA. You get to choose to use the software, and you get to choose to not use the software. Nice try...

  • Second... have you not downloaded Tableau Server and installed it? I bet you're one of those people who over think things. Download and install the software! These questions about components are largely irrelevant to actually using the software.

  • Third, don't ask if you can swap out the components inside of Tableau Server. This isn't a honda civic that is all souped up with aftermarket tail fins and other useless junk. It's an enterprise class analytics platform. Asking to change components is just rude...

  • Lastly, there's a dirty little secret - when if you stop to think about, is not really a secret and makes sense - which is that all software is open source software. At some point in the past, some genius invented some type of software doohicky that does some kind of awesome thing - and then that person shared it with the world. Ever use email? Does your computer send TCP packets? Yeah... that.

OK, so now that I am mostly done ranting :), let's take a look at an actual installation of Tableau Server and see what we can find.

  • First location to look at is the bin directory. On my laptop this is "C:\Program Files\Tableau\Tableau Server\8.1\bin".

  • Right away, I can tell that Tableau Server is framed out with an Apache/Tomcat installation. Great! What version? Who cares! Tableau manages this for us - have you not been reading? (OK just kidding, the version is 7.0.41 and the release notes are located here: C:\Program Files\Tableau\Tableau Server\8.1\tomcat)

  • Wait, Apache? What's that? It's a web server. It's open source and is included with Tableau. The version notes are located here: C:\Program Files\Tableau\Tableau Server\8.1\apache

  • It's very clear from an initial glance at the files that Java is the predominant language for Tableau functionality. War files, jar files, and so forth. Massive amounts of evidence. What version you ask? Who cares. (OK just kidding, java info is located here: C:\Program Files\Tableau\Tableau Server\8.1\repository\jre)

  • back in the bin directory, we can also see some other open source items. fbclient.dll for example is a Firebird Database Client. Anything with QT in it is QT Code. Duh...

  • There's clearly a database - I mean, all web based enterprise software has to store info somwhere, right? In Tableau Server's case check out this location: C:\Program Files\Tableau\Tableau Server\8.1\pgsql

Not enough? You think I might have missed something? I bet I did. So in that case, download and install Tableau Server, and then read this RTF document at the top level of the installation:

C:\Program Files\Tableau\Tableau Server\8.1\COPYRIGHTS.rtf

This file contains a reference - for legal purposes - to every single case where Tableau Server uses third party software. Click on that, IT nerds...

No comments: