Making the Right Choice: Open Source or Proprietary Barcode Reader SDKs?

7 Factors to Consider Before Choosing a Barcode Reader SDK

Barcode reader software development kits (SDKs) are essential tools for businesses that need to decode barcodes. However, choosing between open source and proprietary barcode reader SDKs can be a challenging decision. While open source libraries are free, they are inherently insecure. On the flip side, proprietary SDKs offer advanced features, security and technical support. In this blog, we will discuss seven factors that businesses should consider before selecting a barcode reader SDK.

1. Support for specific barcode formats

Some barcode formats may be more challenging for open source libraries to decode due to their complexity or lack of support. For example, 2D barcodes such as PDF417, Data Matrix, DotCode and Composite Codes require more advanced decoding algorithms and many open source libraries struggle to decode them accurately.

Additionally, newer barcode formats such as GS1 Databar and Aztec codes may be less well-supported by open source libraries, as they are not as widely used as other formats. It is important for businesses to evaluate their specific barcode decoding needs and ensure that the open source library they choose supports their required formats with a sufficient level of accuracy.

The table below shows various symbologies supported by different barcode scanning solutions.

Symbology Dynamsoft ZXing ZBar QuaggaJS
UPC-A Yes Yes Yes Yes
UPC-E Yes Yes Yes Yes
EAN-8 Yes Yes Yes Yes
EAN-13 Yes Yes Yes Yes
Code 39 Yes Yes Yes Yes
Code 93 Yes Yes Yes Yes
Code 128 Yes Yes Yes Yes
ITF Yes Yes Yes Yes
Codabar Yes Yes Yes Yes
QR Codes Yes Yes Yes No
PDF417 Yes Yes No No
Data Matrix Yes Yes No No
Aztec Code Yes Yes No No
MaxiCode Yes Yes No No
DotCode Yes No No No
GS1 DataBar Yes No No No
GS1 Composite Code Yes No No No
Pharmacode Yes No No No
Patch Code Yes No No No
USPS Intelligent Mail Yes No No No
Postnet Yes No No No
Planet Yes No No No
Australian Post Yes No No No
Royal Mail 4-State Customer Code Yes No No No

2. Accuracy

accuracy

Accuracy is crucial for businesses that rely on barcode scanning because it directly impacts productivity, efficiency, and profitability. Discrepancies in the barcode scanning process can lead to costly errors in inventory management, production monitoring, asset tracking and supply chain management.

Open-source libraries may not read consistently and accurately, leading to missed or misread barcodes. In contrast, proprietary SDKs offer better accuracy rates and minimize the risk of missed or misread barcodes.

Comparison of QR Code Reading Performance for Challenging Barcodes

This table compares the QR code reading performance of Dynamsoft with other Open source libraries under various conditions.

Reading rate = Detected QR codes / Total QR codes

The reading rate is recorded in percent in different categories:

Category Dynamsoft BoofCV ZXing ZBar OpenCV WeChat Commercial SDK A Commercial SDK B
blurred 66.15 38.46 21.54 35.38 46.15 33.85 36.92
brightness 81.18 78.82 52.94 50.59 23.53 52.94 51.76
bright_spots 43.3 27.84 20.62 19.59 24.74 8.25 29.9
close 95 100 5 12.5 67.5 22.5 25
curved 70 56.67 31.67 35 43.33 31.67 36.67
damaged * 51.16 16.28 20.93 25.58 30.23 27.91 27.91
glare 84.91 32.08 20.75 35.85 58.49 43.4 20.75
high_version * 97.3 40.54 5.41 27.03 18.92 78.38 35.14
lots * 100 99.76 82.86 18.1 0 14.52 97.14
monitor 100 82.35 0 0 94.12 11.76 5.88
nominal 93.59 89.74 53.85 66.67 71.79 64.1 65.38
noncompliant * 92.31 3.85 15.38 50 76.92 61.54 11.54
pathological * 95.65 43.48 34.78 65.22 91.3 0 78.26
perspective 62.86 80 37.14 42.86 42.86 65.71 34.29
rotations 99.25 96.24 42.11 48.87 32.33 99.25 69.17
shadows 100 85 65 90 60 90 95
total average 83.29 60.69 31.87 38.95 48.89 44.11 45.04

We conducted a benchmark using real images with multiple barcodes (over 2). The final dataset contained 95 images (257 barcodes) from sources like packages and scanned documents. Dynamsoft Barcode Reader consistently achieves the top rank across most categories.

blurred-qr-code

Reading Rates with Multiple Barcodes

The following table showcases the results of reading rates in percentage while reading multiple barcodes: Dynamsoft vs. Open source solutions.

Engine Result
Dynamsoft 96.5%
ZBar 62.65%
ZXing 6.61%

3. Performance

The performance of barcode reader SDKs is another critical factor to consider. Open source libraries may offer acceptable read rates for internal operations but not for externally facing apps. Proprietary SDKs have optimized algorithms that provide faster and more reliable performance, ensuring that businesses can quickly process barcodes.

QR Code Reading Speed Comparison

This table shows the QR code reading speed (runtime) of Dynamsoft compared to other Open source libraries in milliseconds.

Engine Runtime Result
Dynamsoft 195.01
ZXing 179.57
ZBar 157.31
BoofCV 104.95
OpenCV Wechat 757.71

Multiple Barcode Reading Speed Comparison

Here’s a quick comparison of multiple barcodes reading runtime per image recorded in milliseconds.

Engine Result
Dynamsoft 1171.34 ms
ZBar 740.63 ms
ZXing 217.73 ms

4. Security

Open source libraries are community-driven development, which means that anyone can contribute to the code. This inherent vulnerability can expose the SDKs to malicious actors, making them more susceptible to security breaches. Proprietary SDKs provide better security measures, including encryption and secure transmission protocols, to protect sensitive data.

The Open Source Security Foundation (OpenSSF) reported that time it takes to fix vulnerabilities in open source projects has steadily increased, more than doubling from 49 days in 2018 to 110 days in 2021.

OpenSSF also found that the average application in development contains 49 vulnerabilities and that 51% of organizations don’t have a security policy for open source development or usage.

In the 2024 Open Source Security and Risk Analysis Report, 84% of the 936 open source codebases assessed contained vulnerabilities and 74% were classified as high severity.

5. Maintenance and Support

Maintenance and support are essential factors to consider when choosing between open source and proprietary barcode reader SDKs. Open source libraries may not keep up with the latest development platforms, browsers, or operating systems. This can result in compatibility issues, bugs, and unsupported code. If the software is forked for your business, then any changes by the original developers must be manually incorporated.

Proprietary SDKs provide regular feature upgrades, enhancements, and knowledgeable technical support, ensuring that businesses can quickly resolve any issues and stay up-to-date.

6. Time to Market

The time cost of using open source barcode reader SDKs can be significant. Businesses may need to spend time figuring out compatibility issues, ongoing maintenance, and self-guided troubleshooting. This can result in slower time-to-market, delaying the launch of critical applications. Proprietary SDKs offer a faster route to market, with just a few lines of code needed to integrate barcode scanning into an application.

7. Ongoing Costs

While open source libraries may seem initially cheaper, businesses need to factor in labor costs for problem-solving, configuring, de-bugging, and figuring out compatibility issues. Proprietary SDKs offer predictable ongoing costs and provide businesses with the assurance that they will continue to receive regular feature upgrades and enhancements.

In conclusion, choosing between open source and proprietary barcode reader SDKs requires careful consideration of several factors. While open source libraries are free, they may not provide the same level of support, accuracy, and security as proprietary SDKs. Proprietary SDKs, such as Dynamsoft Barcode Reader, offer comprehensive support for various barcode formats, better accuracy rates, faster performance, and regular feature upgrades and enhancements. By evaluating these factors, businesses can make the right choice and select a barcode reader SDK that meets their needs for the long term.

Online Demo of Dynamsoft Barcode Reader

Explore Our Developer Hub for Guides, API References, and More

Sources

ZXing

https://zxing.org/w/decode.jspx https://zxing.github.io/zxing/apidocs/com/google/zxing/BarcodeFormat.html
https://github.com/zxing/zxing

ZBar

https://zbar.sourceforge.net/iphone/index.html
https://github.com/ZBar/ZBar

QuaggaJS

https://github.com/serratus/quaggaJS