大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

Richard Stallman 谈软件专利对开发社区的影响

  • 2012-11-10
  • 本文字数:2234 字

    阅读完需:约 7 分钟

自由软件基金会(Free Software Foundation)主席 Richard Stallman 最近在杂志上撰文分析了软件专利对开发社区的影响,批评了专利体系的弊端,同时呼吁限制软件专利的效力。

软件专利的官司在今年愈发频繁,最受人关注的莫过于 Oracle 与 Google 走上法庭

Oracle 收购 Sun Microsystems 的一个目的就是控制 Java 语言,而更为重要的则是其专利。在众多的大公司中,Oracle 的一个眼中钉就是 Google,其针对 Android(及其 Dalvik VM)的类 Java 编程语言导致其被 Oracle 指控,控告其违背了 Oracle 的专利与版权,甚至发现 Oracle 测试套件中的测试代码出现在了 Google 的仓库中。这场争论由来已久,从最开始的 132 个声明降到了 3 个,接下来又进一步降到了仅仅 2 个专利,其中一个专利将于今年 12 月到期。

法官 Paul Grewal让这两家公司尝试通过协商来解决问题。如果Oracle 能够证明Google 侵犯了其专利,那么Google 将会支付280 万美金。然而Oracle 拒绝了,认为Google 支付的太少。这个数字是根据到今年底( RE38104 到期日)Android 收益的 0.5% 及到 2018 年 4 月(专利 6061520 的到期日)Android 收益的 0.015% 计算出来的。值得注意的是,USPTO 已经判定 RE38104无效,但 Oracle 还会继续上诉。

最后一个专利(6061520)被 USPTO 判定为有效。由于这两家公司无法达成和解,因此 Oracle 期望证明 Android 违背了该专利,如果证实确实如此,那么 Oracle 会要求法庭确定赔偿额。该专利涉及到静态数组初始化的性能改进:该专利表示了对传统的静态数组初始化的改进,这是通过减少虚拟机执行的代码量以静态地初始化数组来实现的。为了实现代码量的减少,在联合类文件时,预加载器会识别出所有方法并执行这些方法以确定他们所执行的静态初始化。接下来,预加载器会创建出一个表达式以标明方法所执行的静态初始化并将该表达式存储到.mclass 文件中,然后替换掉该方法。这样,该方法的代码(包含了很多指令)就会被一个单独的表达式所替代,该表达式会指示虚拟机执行静态初始化,这样就会节省大量内存。虚拟机会被修改以识别出该表达式并对数组执行恰当的静态初始化。

Richard Stallman 首先指出某些软件专利并不是针对特定的应用程序,而是描述的一些想法、创意:

专利威胁着每一位软件开发人员,如你所见,我们担心已久的专利战争已经爆发。不论是软件开发人员还是软件用户都应该让软件不受专利约束。

威胁我们的专利称为“软件专利”(software patents),但是这个词会让人误解。实际上,这种专利不是针对某一个具体的应用程序,而是描述了一些想法和创意,如果有人未经授权使用了该创意,那么就会被起诉。所以,比较清楚地叫法应该是“计算性想法专利”。

美国的专利体系没有说明哪些是软件专利,哪些不是。软件开发社区应该区分对我们不利的专利,如果有一些物理方面或者化学方面的专利,那么不会威胁到软件领域,但是如果是描述的计算思想,那么可能会影响到开发社区。

Richard Stallman 引用了公共专利基金会 Dan Ravicher 对 Linux 系统的研究数据指出,一个程序不经意间会涉及到大量的专利威胁:

Dan Ravicher 在研究 Linux 时发现,该程序源代码中涉及到的计算思想涉及到 283 项美国专利,而估计 Linux 只占整个 GNU/Linux 系统的 0.25%,所以由此可以看出问题的严重性,该系统收到大约 10 万项专利的威胁。即使其中有半数专利被取消,情况也不会发生根本好转,无论是 10 万还是 5 万,都是噩梦。

他认为应该从整体解决这个问题:

我们需要从根本上解决这个问题。通常的建议是修改专利标准,比如,禁止颁发计算方法和系统方面的专利。但这种方式有两大缺点。
首先,专利律师非常擅长重新描述专利,使其适合任何标准的规定。他们将限制专利实质的任何尝试变成仅仅是形式的需要。例如,许多美国计算想法专利描述了一种执行特定计算的系统,它包括一个算术单元、一个指令顺序器、一个存储器加上一些控制组件。这是一种描述计算机的特殊方式,该计算机运行执行特定计算的软件。它设计成使专利申请符合美国专利系统的标准。
其次,美国已经拥有数千种计算想法专利,修改标准避免颁发更多专利解决不了现有专利的问题。我们需要等近 20 年,直到这些专利过期后才能完全解决这一问题。立法废除现有专利可能违反宪法。

最后,Richard Stallman 提出,应该限制软件专利的效力来解决这个问题:

我的建议是修改专利的效力。我们应该立法规定,在通常使用的计算设备上开发、分发或运行应用程序不会构成专利侵权。这种方式有以下优点:

  • 它无需将专利申请分为“软件”或者“非软件”。
  • 它防止开发者和用户受到现有或未来可能出现的计算想法专利威胁。
  • 专利律师不能通过换种方式填写申请战胜预期效力。

这种方式不完全废除现有的计算想法专利,因此它们将继续适用于使用特定用途的硬件的实现。这是一大优点,因为它避免了该计划的合法性争议。几年前,美国出台了一部法律,保护外科医生遭遇法律诉讼。即便外科手术步骤已经申请专利,外科医生也是安全的。这为该解决方案提供了先例。

有 Oracle 和 Googl 的官司的最新进展可以查看 InfoQ 的相关新闻:

提到软件专利,有人就会想到另一个方面——开源,笔者推荐庄表伟在 InfoQ 中文站发表的文章《当我谈开源时,我谈些什么?》,相信会让读者有所收获。

2012-11-10 01:341571
用户头像

发布了 501 篇内容, 共 282.6 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

双目立体匹配之代价聚合

秃头小苏

7月月更

文盘Rust -- 给程序加个日志

TiDB 社区干货传送门

开发语言

麒麟v10上部署TiDBv5.1.2生产环境的最佳实践

TiDB 社区干货传送门

实践案例 安装 & 部署

MFC|自绘Static控件

中国好公民st

c++ 7月月更

面试突击64:了解 HTTP 协议吗?

王磊

Java 面试题

低代码实现探索(四十四)检查器待研究

零道云-混合式低代码平台

滴-EventBus快速使用介绍-新手考驾照

芝麻粒儿

android EventBus 7月月更

Python+JS逆向哪里多?必然是登录逻辑,投资界登录pwd参数解析

梦想橡皮擦

Python 7月月更

Spring Cloud源码分析之Eureka篇第八章:服务注册名称的来历

程序员欣宸

Java spring SpringCloud Eureka 7月月更

js对象的key到底加不加引号?

南极一块修炼千年的大冰块

7月月更

利用ECS服务器搭建安防视频监控平台

DS小龙哥

7月月更

CSS Houdini:用浏览器引擎实现高级CSS效果

vivo互联网技术

CSS 前端 引擎 css动画

CSS 中 ::before 和 ::after 伪元素的几个实际用途

南城FE

CSS 前端 伪元素 7月月更

作用域与作用域链

是乃德也是Ned

JavaScript 前端 7月月更

【C语言】进阶指针Four

謓泽

7月月更

百花齐放的家居行业联盟,三翼鸟率先撬动三个赛点

脑极体

iOS中的多态

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

更贴心、更好学的Python自动化办公教程!

博文视点Broadview

一站式 DevOps 平台,让开发大不同

飞算JavaAI开发助手

浅入浅出Mybatis(一)

ES_her0

7月月更

tidb-dm报警DM_sync_process_exists_with_error排查

TiDB 社区干货传送门

故障排查/诊断

Qt | 显示网络图片 QNetworkAccessManager

YOLO.

网络 图片 qt 7月月更

不习惯的Vue3起步三 の computed和watch

空城机

vue3.2 7月月更

羊城“论剑”!大湾区百家AI企业共话如何打牢人工智能“长链”的发展根基

极客天地

使用Gitlab Jenkins Docker建立CI部署方案

沃德

程序员 jenkins 7月月更

ORACLE进阶(十三)using实现简化连接查询

No Silver Bullet

oracle 7月月更 using

Python|数据可视化——超星学习通助手后台数据的可视化处理

AXYZdong

Python 7月月更

微服务项目中,Spring Security 比 Shiro 强在哪?

冉然学Java

编程 微服务架构 spring security Java’

Git .ignore 文件规则不生效

攻城狮杰森

git IDEA 协同开发 7月月更

打造“拉动式”企业培训管理方案,释放人才潜能

明道云

阿里云机器学习平台PAI与华东师范大学论文入选SIGIR 2022

阿里云大数据AI技术

Transformer 机器学习/深度学习

Richard Stallman谈软件专利对开发社区的影响_Oracle_崔康_InfoQ精选文章