Blog: CEO’s Corner

agsdix-fas fa-home

Blog: Home

agsdix-fas fa-pen-fancy

Blog: CEO's Corner

agsdix-fas fa-code

Blog: Tech Talk

Blog: Product Releases

Blog: Conversion

arrow left circle icon Blog: CEO’s Corner

The Myths of Open Source Software

by | Nov 12, 2017

In our line of business, document formats like PDF, DOCX, TIFF, and JPEG are critical to our customers. Often customers, even engineers, don’t appreciate the amount of effort that these highly complex documents and images require to be manipulated and rendered for display and other functions. Companies like Snowbound have been developing products to handle these files for decades in order to achieve the quality and reliability their customers need.

There is a belief out there that Open Source Software (OSS) is a panacea with regards to highly technical but necessary algorithms and processing programs. Somehow students and noble individuals devote their blood, sweat and tears to create software for the benefit of all mankind and all they want in return is acknowledgement.

Some of these scenarios do occur, particularly with the less complex components that can be created and published in the time of a semester by a bored student. But I’ve always had a hard time believing that these bored students who might become bored adults can devote energy and time to supporting high end software when they have rent or student loans to pay.

Let me pick one example close to our field. Snowbound writes all its own document format code. PDF and Office are key technologies for us. When we heard that pdf.js (an open source PDF rendering engine written in Javascript and free to anyone) is supported by 242 contributors (all working for free), we almost closed up shop. How could we compete? We can’t afford to pay 242 engineers to work on our PDF. Well, it turns out neither can anyone else.

Sure, at the beginning there were 242 registered developers on the project. But anyone who knows software—particularly highly complex algorithmic software—knows you can’t manage that many contributors in a code base. Not all are knowledgeable, not all have good coding practices, not all spend the time to understand the code that isn’t theirs, and not all stick around. It is also probable that with that many developers, you’d never be done. All software has bugs that can absorb large amounts of development time. (Though, by the way, with PDF, you are never done. You not only have to support the spec but also all those rushed, poorly researched products that output bad PDFs.)

For the record, there were 200 pdf.js contributors in 2011. From 2015, there have been only three significant contributors and they all worked full-time, but not on pdf.js. And because the industry isn’t static, the product falls behind without significant and continuous effort. Operating systems are updated, browsers are regularly modified, and new products that output incorrect PDF files continue to be created.

Don’t buy the dream without looking under the covers.