切片 CRC-32 实现的专利情况

Patent Situation around Slicing CRC-32 Implementations

大约在 2006 年,英特尔工程师提出了扩大 CRC-32 查找的想法 table 以便一次处理 4 或 8 个字节(也许最初的想法不是他们的,但是至少他们已经发布了一个源代码,其实现速度比以前的实现快 4 倍,只有 32 位的 256 个元素中的一个 table)。他们的代码在 SourceForge 上可用,位于 sourceforge.net/projects/slicing-by-8 ,称为 Slicing-by-8。您不知道 Slicing-by-8 等(Slicing-by-4、Slicing-by-16)是否受到专利保护? CRC 和 CRC32 的有效专利数量如此之多,而且它们是用一种很难理解的语言编写的。

你提供给sourceforge的link说明slice-by-8是BSD许可的,所以你可以自由使用它而不用担心专利侵权。

更新

从 link 和源代码本身来看,我很清楚您可以毫无问题地使用它,只需像他们说的那样包含版权信息: http://www.opensource.org/licenses/bsd-license.html

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

还有https://www.whitesourcesoftware.com/whitesource-blog/top-10-bsd-license-questions-answered/

  1. Do the BSD Licenses grant patent rights?

The BSD licenses don’t grant any patent rights. ... The BSD Licenses, on the other hand, just grant a copyright license. While licensing your component, you will have to take care of the patents yourself.

因此,英特尔在源代码中没有提及任何有关专利的内容,因此他们极不可能试图诱使人们使用他们的代码,他们在 public 域中免费提供这些代码。

最后,如果其他人的专利确实或确实涵盖了英特尔发布的内容,如果该专利是在 2004 年(版权的初始日期)之后发布的,那么该专利无论如何都对本代码无效;尽管可能需要律师来证明这一点。但日期纠纷通常很简单。

我没有对此进行过专利搜索,所以我不知道这个概念是否曾经申请过专利。但是我知道这个想法早于您提到的英特尔论文。我首先在 2003 年 3 月发布的 1.2.0 版 zlib 中实现了它。Rodney Brown 在 2002 年 4 月 19 日发给 gcc-patches@gcc.gnu.org 的电子邮件中向我建议了这种方法(没有提及或专利暗示)。不知道他什么时候最先想到的,也不知道是不是他或者其他人更早发表的