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 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.
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