
Kvazaar HEVC/H.265 encoder released under GPLv2 - Fador
https://github.com/ultravideo/kvazaar
======
jwr
Unfortunately the GPLv2 license makes this an academic exercise. Mind you,
perhaps that was exactly the goal, so I'm not criticizing, just pointing out
some issues.

Quoting the GPLv2:

7\. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or otherwise)
that contradict the conditions of this License, they do not excuse you from
the conditions of this License. If you cannot distribute so as to satisfy
simultaneously your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the Program at all.
For example, if a patent license would not permit royalty-free redistribution
of the Program by all those who receive copies directly or indirectly through
you, then the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

What this basically means in the words of every legal advice I've gotten over
the years is that by distributing software that is under GPLv2 you run the
risk of having to stop distributing it. While this is fine in an academic
setting, if you actually build a product using this software, you are toast.

This section of the GPL is actually the major reason why many companies will
go to great lengths to avoid using GPLv2 software in their products. Many
people think it's the requirement to release the full source code — it's not.
Releasing sources is rarely a problem.

Please, if you reply to this, don't fight straw men: software authors can
choose any license they please and it is their decision to make. I'm not
criticizing that choice. I'm just pointing out some consequences which might
not be obvious to everyone, and which are particularly relevant in the case of
heavily patented video standards.

~~~
belorn
Please stop spreading FUD. Misleading advices like yours do nothing to help
people understand the legal climate of copyright and patents, and thus only
spread fear, uncertainty and doubt.

The license choice of this program do absolutely nothing to the fact that
infringing patent rights run the risk of forcing a company to stop
distributing a product. BSD, GPL, MIT, Apache, proprietary license, public
domain. It. Does. Not. Matter. Copyright law and patent law are two different
area of law.

That someone might come and impose condition on the distributor for "other
reasons", is quite irrelevant. Of course someone might go to Microsoft and use
a rubber hose to impose condition on then, but what the ... does that has to
do with copyright licenses? Someone can equally easy impose restriction that
prevent a company to comply with the BSD license.

Patent agreements are also not even covered by the GPLv2. This has been said
by the lawyers who made the license. If you do not trust that, then trust all
the lawyers who argued with Stallman to not include such provisions in the
GPLv3 draft, which include many of the largest software companies in the
world. So again, I call FUD on such claims. If your claim was true, GPLv3
would not be said to had adding it.

Last, companies such as blizzard included LGPLv2 software in their flagship
product called Starcraft 2. If companies would go for such great lengths to
avoid using GPL licenses (the LGPLv2 code itself is under same requirement as
GPLv2 except for the linking exception), then how come they couldn't spend the
few extra weeks to replace a small library? Or should we all expect that
blizzards lawyers are incompetent and this flagship product was just extremely
lucky to not been sent to the grave? again, I call FUD.

So Please, stop with the FUD. Why ruin more comment threads about interesting
software with it? Some people come here to discuss technology.

~~~
tzs
> Patent agreements are also not even covered by the GPLv2

What about section 7?

~~~
belorn
Section 7 grants the recipient the permission to use, modify and redistribute.
If the distributor is under contract which says he can not provide such
permission, then the result is quite expectable.

BSD license says _" Redistribution and use in source and binary forms, with or
without modification, are permitted"_. If the distributors is under contract
that forbids granting such permission, the result is again quite expectable.
The only option would be to add restriction on distribution on top of the BSD
license, making it proprietary licensed. I will grant jwr that GPL is
different from BSD in that aspect, since it do not allow proprietary
licensing.

Neither has anything to do with patent agreements, because it all focus on
permission for redistribution, use and modification. Patent agreements are one
company contractually promising not to sue the other company or their
customers over patents, and thus we have GPLv3. Since such promise are not
conditions placed on either company, section 7 _" if ... conditions are
imposed on you"_ do not get invoked. Microsoft-Novell agreement is likely an
example of this. See the wikipedia article for more details, including what
the lawyers said at the time.

[https://en.wikipedia.org/wiki/Microsoft-
Novell_agreement#Agr...](https://en.wikipedia.org/wiki/Microsoft-
Novell_agreement#Agreement_with_Microsoft)

~~~
anon1385
>BSD license says "Redistribution and use in source and binary forms, with or
without modification, are permitted". If the distributors is under contract
that forbids granting such permission, the result is again quite expectable.

I think I see why you are confused here. That permission grant in the BSD
licence is granted by the copyright holder, and is not a condition of
redistribution by any intermediary (you don't own the copyright to the code so
you don't have the ability to grant that permission anyway). To redistribute
you must merely follow the 2/3 terms of the licence which boil down to keeping
the copyright notice and text of the licence (and for the 3 clause not using
the authors names to promote it).

You can distribute BSD licensed code in binary form as long as you have the
required patent licences. The original author does not need those licences (if
they never distribute the binaries) and neither do your customers (if they
never distribute the binaries).

That term at the start of the BSD licence is _not_ a condition of
redistribution.

~~~
belorn
> You can distribute BSD licensed code in binary form as long as you have the
> required patent licences.

You are confusing the steps. One is a person taking BSD work and adding an
additional license to the binary result (proprietary licensing).

The other way, is someone taking BSD work and redistribute it as BSD (under no
additional license).

If you attach the BSD license to the binary, you are giving permission to
redistribute further than the patent owner permitted. Thus the only allowed
scenario with a patent with restriction on distribution, is the first one
which is called proprietary licensing.

And BSD allow it, GPL do not. Thus one can summarize it as as: Some patent
licenses require proprietary licensing, which can only be added to a BSD/MIT
work. GPL do not allow proprietary licensing, and thus do not work with such
patent licenses.

However, that is not the message he made, which is why I called FUD on it. It
is also not very interesting statement since anyone who knows about GPL and
BSD knows about how they differ regarding proprietary licensing.

------
josteink
While I recognize the technical excellent qualities of H264 and expect H265 to
improve on that, at this point I'd rather not touch anything which involves
patents at all.

Let's _not_ give the Apples and similar patent-trolls of the future more
ammunition to shoot with than strictly necessary.

Give us free and open alternatives. Give us a future where we can focus on the
technology being delivered, not the lawyers which will need to get paid in
order to avoid takedown notices.

~~~
coob
That's an odd definition of patent troll. In my understanding, patent trolls
don't actually produce any products.

~~~
mindslight
Because as with every political issue, the definition has been twisted by the
well-advertised incumbents to transmute grassroots concern for change into
status quo preservation.

The actual issue is broad and vague patents on obvious things, where the
novelty is confined to their obfuscated wording.

Techniques that are commonly independently reinvented should not fall under
the patent system at all. But then some lawler figures out how to make a
tenuous connection with a completely lineage-unrelated patent and they go
_trolling_ for settlements, regardless of whether they're a small company that
does only this or staff counsel for a large company that also happens to
manufacture things.

But no shit large companies like IBM, Apple, Oracle, etc want to limit patent
reform to "non-practicing entities" and continue their general low-stakes
protection racket while screwing over the little guys (genuine patent holders
and patent victims alike).

~~~
seandougall
From what I've seen, there's a lot more trawling than trolling going on.
"Troll" as the creature who demands toll for a bridge he didn't build seems
the more fitting analogy.

------
Eduard
What about the patents in use within HEVC? Will an open source implementation
provider have to pay royalties for each download? (
[https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#S...](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Standardization)
)

~~~
ZeroGravitas
Only if they provide binaries, at that point it gets patent cooties, and
they'd be liable for $25 million per year.

~~~
dave1010uk
Is it as clear cut as binaries == license required; source code == no licence
required? Is this specific to the codec's patent pool or how patents work in
general? What about interpreted languages or bytecode?

~~~
dllthomas
You can study patents for free; that is part of the purported purpose of the
system. So if you copy the code purely to learn about it, that is arguably not
an infringement. Using the code is in violation without a license. This
applies whether source, interpreted, compiled, bytecode, or decompiled. It
will be harder to convince a judge that you were just studying it if you have
only a form that is conducive to running and not conducive to study, though,
_if_ you are found out and sued.

Of course, you'd better not plan on _using_ anything you learned from it until
you negotiate licenses for _your_ users (or the patent expires).

------
astrange
The comments on this article are not technically interesting and mostly seem
fear-based. An HEVC encoder is perfectly usable for home use, nobody will
break in and sue you.

I suppose not many people are qualified to comment on the program, though.

Anyway, this code is unusually clean and actually structured, which is rare
considering the horrors of most encoder codebases (libavcodec mpegvideo,
android, any commercial source…). That's probably because it's not optimized
for speed; most people act as if writing optimized code literally requires you
to leave out comments and make the program ten times longer.

But it is pretty much an academic codebase and doesn't really do much.
Following x265's progress would be better for the moment if you want to use
HEVC for anything.

