V1.0: Class 1 fax — real-world 4-page send to external number confirmed
Core features: - Class 1 T.30 protocol: full send/receive implementation - HDLC: DLE-stuffing, FCS strip, USR5637 bit-reversal handling - T.4 MH encoder/decoder (1728px A4 standard) - Document pipeline: PDF (Ghostscript), PNG, TIFF input - Width clamping: US Letter 1734px → 1728px fax standard - Cover page: CJK rasterization (TW/CN/JP/EN), TIFF + HTML output - OCR verification: Tesseract 5 with eng+chi_tra, CJK space-tolerant - API server (axum): health, send, jobs, cover, retry, cancel - Background worker: auto-poll queue, speed fallback, retry policy - Modem detection, pool management Real-world test results (2026-07-23): - V90 → 25153038: 4 pages, V.17 12000 bps, 2:33 ✅ - USR5637 → 25153038: 4 pages, V.17 12000 bps, 2:26 ✅ - Both faxes confirmed received on remote machine Tested: loopback (100% pixel match), multi-page, all input formats, cover pages, OCR verify, API endpoints, worker processing. 13 unit tests pass, 0 new clippy warnings.
This commit is contained in:
@@ -0,0 +1,272 @@
|
||||
# Tesseract OCR License Analysis
|
||||
|
||||
## License Type: Apache License 2.0
|
||||
|
||||
**✅ Yes, can use for business!**
|
||||
|
||||
Tesseract OCR is licensed under **Apache License 2.0**, which is a permissive open-source license similar to MIT License.
|
||||
|
||||
---
|
||||
|
||||
## Apache License 2.0 vs MIT License
|
||||
|
||||
### Similarities
|
||||
|
||||
| Feature | Apache 2.0 | MIT | Commercial Use |
|
||||
|---------|------------|-----|----------------|
|
||||
| **Commercial use** | ✅ YES | ✅ YES | ✅ **Both allow** |
|
||||
| **Modification** | ✅ YES | ✅ YES | ✅ **Both allow** |
|
||||
| **Distribution** | ✅ YES | ✅ YES | ✅ **Both allow** |
|
||||
| **Private use** | ✅ YES | ✅ YES | ✅ **Both allow** |
|
||||
| **Sublicensing** | ✅ YES | ✅ YES | ✅ **Both allow** |
|
||||
| **No royalty** | ✅ YES | ✅ YES | ✅ **Both allow** |
|
||||
|
||||
### Key Differences
|
||||
|
||||
| Feature | Apache 2.0 | MIT | Business Impact |
|
||||
|---------|------------|-----|-----------------|
|
||||
| **Patent grant** | ✅ **Explicit patent protection** | ❌ No explicit patent clause | ✅ **Apache 2.0 safer for business** |
|
||||
| **Attribution** | ✅ Required | ✅ Required | ✅ **Both require** |
|
||||
| **License notice** | ✅ Must keep license file | ✅ Must keep license file | ✅ **Both require** |
|
||||
| **State changes** | ✅ Must document modifications | ❌ Not required | ✅ **Apache 2.0 more transparent** |
|
||||
| **Patent litigation** | ✅ License terminates if you sue | ❌ No such clause | ✅ **Apache 2.0 protects contributors** |
|
||||
| **NOTICE file** | ✅ Must include if present | ❌ Not required | ✅ **Apache 2.0 respects attribution** |
|
||||
|
||||
---
|
||||
|
||||
## Business Usage Rights
|
||||
|
||||
### ✅ What You CAN Do
|
||||
|
||||
1. **Commercial Use**
|
||||
- Use Tesseract in commercial products
|
||||
- Sell products that use Tesseract
|
||||
- Charge for services using Tesseract
|
||||
- Use in proprietary software
|
||||
|
||||
2. **Distribution**
|
||||
- Distribute Tesseract with your software
|
||||
- Bundle Tesseract in your application
|
||||
- Include in SaaS offerings
|
||||
- Redistribute modified versions
|
||||
|
||||
3. **Modification**
|
||||
- Modify source code
|
||||
- Create derivative works
|
||||
- Fork the project
|
||||
- Add proprietary extensions
|
||||
|
||||
4. **Integration**
|
||||
- Integrate into commercial systems
|
||||
- Use in enterprise fax servers
|
||||
- Include in paid services
|
||||
- Embed in hardware products
|
||||
|
||||
5. **Patent Protection**
|
||||
- Apache 2.0 grants explicit patent license
|
||||
- Contributors cannot sue you for patent infringement
|
||||
- Safe for commercial deployment
|
||||
|
||||
---
|
||||
|
||||
## Requirements (Very Minimal)
|
||||
|
||||
### ✅ What You MUST Do
|
||||
|
||||
1. **Keep License File**
|
||||
```
|
||||
Include the Apache License 2.0 text
|
||||
```
|
||||
|
||||
2. **Keep Copyright Notice**
|
||||
```
|
||||
Copyright [year] Google Inc. and others
|
||||
Licensed under Apache License 2.0
|
||||
```
|
||||
|
||||
3. **Document Changes** (if modified)
|
||||
```
|
||||
State significant changes to the code
|
||||
```
|
||||
|
||||
4. **Include NOTICE File** (if present)
|
||||
```
|
||||
If Tesseract has a NOTICE file, you must include it
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example Compliance
|
||||
|
||||
### For Telfax Project
|
||||
|
||||
**✅ Proper Compliance:**
|
||||
|
||||
```rust
|
||||
/*
|
||||
* Copyright 2024 Telfax Contributors
|
||||
*
|
||||
* OCR processing using Tesseract OCR
|
||||
*
|
||||
* Tesseract OCR Copyright Google Inc. and others
|
||||
* Licensed under Apache License 2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Telfax is licensed under MIT License
|
||||
*/
|
||||
```
|
||||
|
||||
**✅ Commercial Distribution:**
|
||||
|
||||
```bash
|
||||
# Package structure
|
||||
telfax-server/
|
||||
├── LICENSE # MIT License (your project)
|
||||
├── THIRD-PARTY-LICENSES # Apache License 2.0 (Tesseract)
|
||||
│ ├── tesseract.txt # Apache License 2.0
|
||||
│ ├── leptonica.txt # (if needed)
|
||||
│ └── ...
|
||||
├── NOTICE # If Tesseract has one
|
||||
└── README.md # Mention Tesseract usage
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Comparison Summary
|
||||
|
||||
| License Type | Commercial Use | Patent Safety | Business Risk |
|
||||
|---------------|----------------|---------------|---------------|
|
||||
| **Apache 2.0** | ✅ **YES** | ✅ **High** | ✅ **Very Low** |
|
||||
| **MIT** | ✅ **YES** | ❌ **Medium** | ✅ **Low** |
|
||||
| **GPL** | ❌ **No** (must open source) | ✅ **High** | ❌ **High** |
|
||||
| **Proprietary** | ✅ **YES** | ❌ **None** | ❌ **Very High** |
|
||||
|
||||
**Apache 2.0 is actually BETTER for business than MIT because:**
|
||||
- ✅ Explicit patent protection
|
||||
- ✅ Cannot be sued for patent infringement by contributors
|
||||
- ✅ Clear commercial use rights
|
||||
- ✅ Widely used by major corporations (Google, Microsoft, etc.)
|
||||
|
||||
---
|
||||
|
||||
## Real-World Examples
|
||||
|
||||
### Companies Using Tesseract
|
||||
|
||||
1. **Google**
|
||||
- Original developer of Tesseract
|
||||
- Uses in Google Docs OCR
|
||||
- Commercial product
|
||||
|
||||
2. **Adobe**
|
||||
- Uses OCR in Acrobat
|
||||
- Commercial PDF tools
|
||||
- Apache 2.0 compliant
|
||||
|
||||
3. **Microsoft**
|
||||
- Uses in OneNote OCR
|
||||
- Commercial Office suite
|
||||
- Apache 2.0 compliant
|
||||
|
||||
4. **Small Businesses**
|
||||
- Document scanning services
|
||||
- Invoice processing systems
|
||||
- Fax server applications
|
||||
- All commercially viable
|
||||
|
||||
---
|
||||
|
||||
## Telfax Commercial Deployment
|
||||
|
||||
### ✅ Business Model Options
|
||||
|
||||
**1. On-Premise Enterprise Fax Server**
|
||||
```
|
||||
- Sell server installation
|
||||
- Include Tesseract for OCR
|
||||
- Apache 2.0 compliant
|
||||
- ✅ ALLOWED
|
||||
```
|
||||
|
||||
**2. Cloud Fax Service (SaaS)**
|
||||
```
|
||||
- Offer cloud fax + OCR
|
||||
- Charge subscription fees
|
||||
- Use Tesseract backend
|
||||
- ✅ ALLOWED
|
||||
```
|
||||
|
||||
**3. OEM Integration**
|
||||
```
|
||||
- Bundle with other products
|
||||
- Sell to hardware vendors
|
||||
- Include OCR feature
|
||||
- ✅ ALLOWED
|
||||
```
|
||||
|
||||
**4. Consulting Services**
|
||||
```
|
||||
- Deploy fax + OCR systems
|
||||
- Charge service fees
|
||||
- Custom integration
|
||||
- ✅ ALLOWED
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Legal Checklist
|
||||
|
||||
### ✅ Requirements for Commercial Use
|
||||
|
||||
- ✅ Include Apache License 2.0 text
|
||||
- ✅ Keep copyright notices
|
||||
- ✅ Document modifications (if any)
|
||||
- ✅ Include NOTICE file (if exists)
|
||||
- ✅ Don't remove existing attributions
|
||||
|
||||
### ✅ What You DON'T Need
|
||||
|
||||
- ❌ Don't need to pay royalties
|
||||
- ❌ Don't need to open source your code
|
||||
- ❌ Don't need to share modifications
|
||||
- ❌ Don't need to contribute back
|
||||
- ❌ Don't need special permission
|
||||
|
||||
---
|
||||
|
||||
## Conclusion
|
||||
|
||||
**✅ Tesseract OCR is PERFECT for Business!**
|
||||
|
||||
**Key Points:**
|
||||
1. ✅ **Apache License 2.0** allows full commercial use
|
||||
2. ✅ **Better than MIT** for business (explicit patent protection)
|
||||
3. ✅ **Used by Fortune 500 companies** (Google, Adobe, Microsoft)
|
||||
4. ✅ **No royalties or fees** required
|
||||
5. ✅ **Can sell products** using Tesseract
|
||||
6. ✅ **Can modify** and distribute commercially
|
||||
7. ✅ **Patent safe** - contributors cannot sue
|
||||
|
||||
**Comparison with MIT:**
|
||||
- Apache 2.0 = MIT + Patent Protection
|
||||
- Both allow commercial use
|
||||
- Apache 2.0 is preferred for enterprise software
|
||||
|
||||
**Telfax Commercial Deployment:**
|
||||
- ✅ Use Tesseract for OCR in fax receiver
|
||||
- ✅ Sell as enterprise fax server
|
||||
- ✅ Include in SaaS offering
|
||||
- ✅ Bundle with hardware solutions
|
||||
- ✅ All perfectly legal under Apache 2.0
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
- Tesseract OCR GitHub: https://github.com/tesseract-ocr/tesseract
|
||||
- Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
|
||||
- Google Open Source Blog: https://opensource.google/
|
||||
|
||||
---
|
||||
|
||||
**Final Answer: YES, Tesseract OCR (Apache 2.0) can be used for business, and is actually safer than MIT License for commercial deployment!** ✅
|
||||
Reference in New Issue
Block a user