Some people steal from you

#1
by johnlockejrr - opened

Check this: Keyven/g-ocr
https://github.com/Keyvanhardani/g-ocr
Not sure you care, but some people use your work without giving credits against Apache 2.0 license.

I quote my message to him before he removed the discussions.

Producer: GOCR ENGINE 0.1.0
Opset: [17]
Doc string: GOCR - German OCR foundation. (c) Keyvan Hardani / german-ocr.de
Metadata: author = Keyvan Hardani
Metadata: owner = GOCR ENGINE / german-ocr.de
Metadata: copyright = (c) 2026 Keyvan Hardani - GOCR ENGINE. Alle Rechte vorbehalten.
Metadata: homepage = https://german-ocr.de
Metadata: signature = GOCR-ENGINE-KEYVAN-HARDANI
Input: input ['batch_size', 3, 48, 'int_height'] tensor(float)
Output: output ['batch_size', 'Softmaxoutput_dim_1', 6625] tensor(float)
Constant 87
Conv 58
Mul 42
Add 40
Div 14
Erf 14
MatMul 13
Sigmoid 12
Unsqueeze 11
Shape 9
Transpose 9
Concat 8
Gather 7
Reshape 7
ReduceMean 6
Squeeze 6
Relu 5
LayerNormalization 5
Softmax 3
Slice 2
Split 2
AveragePool 1

charset.txt is a byte-for-byte identical copy of ppocr_keys_v1.txt β€” PaddleOCR's public Chinese/multilingual character dictionary from their GitHub repo (PaddlePaddle/PaddleOCR, release/2.6 branch). Same 6622 lines, same content, same order, zero differences.
So to put it all together:

The recognizer's output layer (6625 = 6622 dict entries + 3 special tokens) is wired to Baidu's stock Chinese dictionary, not a German one.
The model is marketed as a "German OCR" engine, but its character vocabulary is overwhelmingly Chinese ideographs (δ½ ηœ‹ the head/tail dump above is basically a Chinese radical list) β€” there's no way this recognizer is natively decoding German text against that head. Either there's an undisclosed post-processing/remapping layer, or the "German OCR" claim is essentially marketing dressed over an unmodified Paddle checkpoint.
Combined with the hand-edited ONNX metadata (no paddle2onnx producer trace) and the SVTR-family op graph, this is consistent with: take a stock PaddleOCR PP-OCRv3/v4 Chinese recognizer β†’ export with paddle2onnx β†’ manually scrub/overwrite the ModelProto metadata fields to remove Paddle attribution β†’ repackage and sell under their own brand, without retraining the recognizer's vocabulary for German at all.

PaddleOCR is Apache-2.0, so commercial reuse is allowed β€” but Apache-2.0 requires preserving attribution/copyright notices on redistribution. Scrubbing the producer metadata and re-signing it under their own name, if the weights are unmodified Paddle weights, would be a license-compliance problem regardless of whether it's "free" or "paid."

UPDATE. He just banned me on HF and github then changed the license.

image

PaddlePaddle org

Thank you so much for bringing this to our attention and for doing such a thorough investigation!

To be honest, as a small core team, we simply don't have the legal resources or bandwidth to actively pursue and enforce these license compliance issues. Our priority remains strictly focused on advancing the core technology.

That being said, we deeply value and rely on community-led oversight. It’s exactly this kind of independent exposure and self-regulation that keeps the open-source ecosystem healthy and transparent. Please feel free to keep calling out these bad practices!

yikes, that's pathetic

Sign up or log in to comment