Possible error in documentation of ugly plugins

I see what appears to me might be a “serious” error in the documentation of “ugly plugins.” I admit up front that I am new to gstreamer: so the error might be mine; and even if i am correct, perhaps it should be reported elsewhere. I would certainly appreciate quick feedback no matter which of the three possibilities is correct:).

This page contains the basic overview of the various types of plugins.
In particular, the “Lowdown” (summary) sections contains this sentence about good plugsin:

People writing elements should base their code on these elements

While the analogous sentence about bad plugins is this:

People writing elements should base their code on these elements

That is: the same sentence. The main difference between “good” and “ugly” concerns patents and licensiing, as I understand things. So I would have expected this sentence to be:

"People writing elements are advised to AVOID basing their code on these elements.”
Or at the very least, most conservative:
“People should consider carefully the patent/licensing implications of basing their code on these elements.”

That’s it. Not a technical problem, but if I’m right, it is a potentially more dangerous problem for a newbie. In any case, an error is an error, and I would appreciate knowing if indeed my concern is legitimate.

Thanks!

I think you intermixed “bad” and “ugly” here, but the point is probably the same.

The intent appears that where there are known patent issues, it probably won’t be in “good”. However that often doesn’t impact the quality of the plugin, and the plugin itself isn’t usually the part that is patented - that problem is usually in a dependency library (e.g. the x264enc doesn’t include anything patented, although the x264 dependency potentially does).

Another way to say this: using something from “good” as the basis for a different element, and modifying that to depend on an encoder library that has patents isn’t going to be any better than starting with something from “ugly”.

(Note that the good/bad/ugly distinction no longer really holds, and nothing is likely to move around because its so disruptive to packagers and downstream users).

Tangentially, as a newbie, I’d suggest starting in Rust (e.g. gst-plugins-rs). Safer, and Rust is the future