当前位置: 首页 > news >正文

Rust社区引发舆论危机,问题到底出在哪儿?

围绕开源的法律问题,讨论焦点往往集中在开源许可证、软件著作权等方面,商标的讨论却极少引人关注。事实上,关于开源软件以及开源软件的衍生产品的商标使用情况往往处于某种灰色地带。
最近,Rust基金会正在就更新的商标政策征求反馈意见,没想到却在Rust社区引发了极大争议。
在这里插入图片描述
事实上,关于开源软件以及开源软件的衍生产品的商标使用情况往往处于某种灰色地带。最近,Rust基金会正在就更新的商标政策征求反馈意见,没想到却在Rust社区引发了极大争议。尤其是新版草案中,禁止在Rust 相关工具或用 Rust 编写的软件的名字中使用 Rust,甚至在域名或子域名的部分也有针对性的限制。对此,有人直言,“希望基金会倾听社区意见,放弃这项政策,这将损害社区的善意和Rust语言的发展”。

1、事件追踪限制商标使用,社区反对者直言荒谬

Rust基金会成立之初,Mozilla就将Rust商标的所有权转移给了这一新建的基金会。自2022年8月开始,这一组织就开始起草Rust商标的最新政策。今年4月7日,Rust基金会发布了新政策草案,并通过谷歌文档征求意见,到4月16日截止。待表格关闭,Rust基金会工作人员在查看所有反馈后会展开后续更新计划。草案内容指出,Rust基金会的商标政策是为了保护Rust项目和Rust社区的工作,并确保Rust语言不会因为不实陈述或政策侵权而被贬值、稀释或合用。但是,社区的多数人对此并不买账。根据新政策草案,商标涵盖的范围包括:“文字商标”Rust、Cargo and Clippy,Rust徽标以及“我们网站和包装的独特样式”。这里的Clippy指的是Rust linting工具。相较于现有的商标政策,新草案对于Rust商标的限制要严苛得多。比如,引起争议颇多的第4.3.1条规定:在Rust工具链中使用的工具名称、用Rust语言编写的软件程序或与Rust软件兼容的软件程序,很可能需要许可证,但可以使用“RS”缩写代替。另外,未经特别许可被视为侵权的其他商标使用行为包括活动和会议、域名和子域名。reddit论坛上,有开发者在相关话题下表示,某些规定完全“有悖现实”。在这里插入图片描述
这一评论获得了众多支持。很多网友对这些饱含争议的条款表示不解。正如有人提到的,“Rust基金会必须首先以Rust社区为导向。我看不出这些规则除了限制正常的社区活动之外还有什么作用。”

2、基金会回应:对于Rust是否应该成为商标,我们的回答是‘yes’

在众多开发者要求限制基金会权力,避免滥用商标政策时,Rust基金会也给予了回应。他们在4月12日在官方博客上发布了《关于商标政策草案的说明》。在这里插入图片描述
对于制定新商标政策的目的和方式,Rust基金会进行了澄清。
“自从草案宣布以来,我们注意到一个普遍的印象,即这个政策完全是由基金会制定的,并且正在强加给 Rust 项目和社区。事实并非如此。”政策草案的目的并不是要威胁或在不适当的地方强加一种巨大的限制感,而是在于阐明现有政策,纳入社区反馈,并面向未来维护 Rust 品牌。“基金会不能也没有兴趣在没有项目主管同意和参与的情况下单方面采取这样的政策。”不过,Rust基金会也表达了不妥协的立场。“对于 Rust 是否应该成为商标的问题,我们的回答是‘是’,就像 Rust 1.0 之前一样。此外,我们的目标是制定一个尽可能宽松的政策,而不会实质性地放弃我们定义 Rust 是什么和未来不是什么的权利。”

3、昔日商标之争Debian侵权Rust事件背后

Rust基金会的表态并非无的放矢。早在去年7月,Debian就因侵犯Rust的商标权引起轩然大波。事件起始于一封名为《Debian错误报告记录》的邮件。这封由Debian Rust维护者发布的邮件提到:Debian违反了 Rust 的商标政策,这将导致严重后果。彼时,Mozilla为了让商标成为品质和安全的保证,对于Rust的商标政策做了这样的规定:“在分发补丁之前必须征得我们明确的许可”。也就是说,在分发Rust或Cargo的补丁,并将其称为Rust或Cargo之前,获得Rust核心团队明确书面许可是必要前提。而Debian有几十个这样的补丁,都没有由Rust授予的许可。

不能否认的是,在开源圈,商标问题的确会引发一些治理方面的纠纷甚至诉讼。所以部分开源许可证也会对此做较为简单的规定。
比如,BSD-3-Clause许可证规定没有事先书面同意的前提下,著作权人和贡献者的名称不能被用来推广或为衍生软件的产品背书。简言之,通过明确限制接收方使用软件商标(名称)为自己站台的权利,防止利用贡献者的相关商标“搭便车”的行为。就像Rust基金会顾问Amanda Brock在面对外媒提问时表示:“这种加强政策的必要性对我们所有开源人员都是一个教训——任何希望建立开源项目或业务的人。商标是有意不被开源许可所涵盖的,在某些情况下,商标是从许可中剥离出来的。商标的目的是保护原来的品牌,并通过使用来创造事实上的‘认证’。”

综合来看,如果开源基金会等组织持有商标,并根据协议保护权利无可厚非,但也要尊重社区开发者的意愿,避免商标政策的滥用导致的不便;如果是企业开源并持有商标使用权,那么就需要警惕“伪开源”的陷阱,审查其软件许可证是否经过OSI认证、是否由强大的社区支持而不是由单一公司驱动,从而避免进退两难的境地。

相关文章:

Rust社区引发舆论危机,问题到底出在哪儿?

围绕开源的法律问题,讨论焦点往往集中在开源许可证、软件著作权等方面,商标的讨论却极少引人关注。事实上,关于开源软件以及开源软件的衍生产品的商标使用情况往往处于某种灰色地带。 最近,Rust基金会正在就更新的商标政策征求反馈…...

C++算法恢复训练之归并排序

归并排序(Merge Sort)是一种基于分治思想的排序算法,它将待排序数组分成两个子数组,然后对这两个子数组分别进行排序,最后将两个已排序的子数组合并成一个有序数组。归并排序是一种稳定的排序算法,具体体现…...

使用Process Explorer和Clumsy工具定位软件高CPU占用问题

目录 1、问题描述 2、使用Process Explorer初步找到CPU占用高的原因 3、使用Clumsy工具在公司内网环境复现了问题...

为何巴菲特和马斯克站在了一起?

股神巴菲特虽然非常传奇,但是马斯克对其并不感冒。马斯克曾经在一档电视节目中表示,实业才是王道,埋怨金融业抢走太多人才和精英,暗指巴菲特为年轻人做了错误示范。当然,巴菲特的投资非常厉害,但也有失手的…...

企业数字化转型全是坑?这几篇数字化转型成功案例,减少70%损失

这篇给大家整理了200企业数字化转型案例合集,涵盖了制造、建筑、教育、零售、互联网等10行业的大中小型企业数字化转型思路,希望对大家有所帮助。 案例全部整合在这篇文章中,点击即可查看>>数字化干货资料合集! 01 首先&…...

13.Java面向对象----嵌套类

Java面向对象—嵌套类、内部类、匿名类 一、static静态 在《Java编程思想》有这样一段话:   “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来…...

Redis数据迁移过程,使用jedis客户端发送命令,需要注意string和byte类型的命令,如果使用的转换字符编码不一致,会导致丢数据

1.了解String与byte之间存在的字符编码映射规则(java为例) string与byte来回转换,需要指定一样字符编码规则 详细原因请参考:关于Java中bytes到String的转换-阿里云开发者社区 简单来说 (1)string和by…...

第六章 IA-32指令类型

IA-32指令类型1、传送指令1.1、常用传送指令1.1.1、通用数据传送指令1.2、传送指令执行过程2、定点算术运算指令2.1、常用定点运算指令2.2、加法运算的底层实现举例2.3、加法指令和乘法指令举例3、按位运算指令3.1、逻辑运算和移位运算3.2、按位运算指令举例4、控制转移指令4.1…...

基于BenchmarkSQL的Oracle数据库tpcc性能测试

基于BenchmarkSQL的Oracle数据库tpcc性能测试安装BenchmarkSQL及其依赖安装软件依赖编译BenchmarkSQLBenchmarkSQL props文件配置数据库用户配置BenchmarkSQL压测装载测试数据TPC-C压测(固定事务数量)TPC-C压测(固定时长)生成测试…...

Dapr和Rainbond集成,实现云原生BaaS和模块化微服务开发

背景 Dapr 是一个开源的分布式应用运行时,帮助开发者构建松耦合的分布式应用程序,具有良好的可扩展性和可维护性。Rainbond 是一款企业级的云原生应用管理平台,提供了丰富的功能和工具,方便开发者管理和部署应用。Rainbond 和 Da…...

全国青少年信息素养大赛2023年python·选做题模拟五卷

目录 下载打印文档做题: 全国青少年电子信息智能创新大赛 python选做题模拟五卷 一、单选题 1. 对于数列3,8,11,15,17,19,25,30,44,采用“二分查找”法查找8,需要查找多少次?( ) A、5...

itop-3568开发板驱动学习笔记(18)tasklet 机制

《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记 文章目录tasklet 简介tasklet 结构体tasklet 初始化使能 tasklet失能 tasklettasklet 调度函数tasklet 取消调度函数tasklet 实验tasklet 简介 Tasklets 机制是linux中断处理机制中的软中断延迟机制。在linux中存在着…...

全国青少年电子信息智能创新大赛(复赛)python·模拟二卷

目录 编程题一 答案解析: 打印题目下载做题: 全国青少年电子信息智能创新大赛(复赛)python模拟二卷 编程题一 第一题:描述 输入两个整数,比较它们的大小。 输入 一行,包含两个整数x和y,中间用单个空格隔开。 0<= x<2^32,-2^31 <= y<2^31。 输出...

对标ChatGPT的开源中文方案

目录 前言 一、Meta发布大语言模型LLaMA 二、斯坦福基于 Meta 的 LLaMA 7B 模型微调出Alpaca 三、基于TencentPretrain训练中文LLaMA大规模语言模型 四、基于斯坦福Alpaca训练中文对话大模型BELLE 五、 清华开源项目ChatGLM中文对话模型 六、基于LLaMA的开源中文语言模型…...

9.Java面向对象----封装

Java面向对象—封装 面向对象简称 OO&#xff08;Object Oriented&#xff09;&#xff0c;20 世纪 80 年代以后&#xff0c;有了面向对象分析&#xff08;OOA&#xff09;、 面向对象设计&#xff08;OOD&#xff09;、面向对象程序设计&#xff08;OOP&#xff09;等新的系统…...

【react 全家桶】组合组件

本人大二学生一枚&#xff0c;热爱前端&#xff0c;欢迎来交流学习哦&#xff0c;一起来学习吧。 <专栏推荐> &#x1f525;&#xff1a;js专栏 &#x1f525;&#xff1a;vue专栏 &#x1f525;&#xff1a;react专栏 文章目录09 【组合组件】1.包含关系2.特例关系问题…...

VUE_学习笔记

一、 xx 二、模板语法 1.模板语法之差值语法 &#xff1a;{{ }} 主要研究&#xff1a;{{ 这里可以写什么}} 在data中声明的变量、函数等都可以。常量只要是合法的javascript表达式&#xff0c;都可以。模板表达式都被放在沙盒中&#xff0c;只能访问全局变量的一个白名单&a…...

【分布式事务AT模式 SpringCloud集成Seata框架】分布式事务框架Seata详细讲解

前言 上篇文章我们讲述了如何启动seata的本地服务&#xff0c;并且注册到nacos使用&#xff0c;这篇文章将在SpringCloud中整合Seata框架 上篇文章传送门&#xff1a;https://blog.csdn.net/Syals/article/details/130102851?spm1001.2014.3001.5501 本篇主要内容&#xff…...

系统集成项目管理工程师软考第三章习题(每天更新)

第一章指路&#xff1a;系统集成项目管理工程师软考第一章习题&#xff08;已完结&#xff09;_程序猿幼苗的博客-CSDN博客 第二章指路&#xff1a;系统集成项目管理工程师软考第二章习题&#xff08;已完结&#xff09;_程序猿幼苗的博客-CSDN博客 第3章信息系统集成专业技术…...

FIFO的工作原理及其设计

1.简介 FIFO( First Input First Output)简单说就是指先进先出。FIFO存储器是一个先入先出的双口缓冲器&#xff0c;即第一个进入其内的数据第一个被移出&#xff0c;其中一个口是存储器的输入口&#xff0c;另一个口是存储器的输出口。 对于单片FIFO来说&#xff0c;主要有两种…...

「UG/NX」Block UI 通过浏览器选择文件File Selection with Browse

目录 控件说明界面效果公有属性对话框标题 DialogLabel(仅创建)控件灰显 Enable分组 Group(仅创建)控件显隐 Show控件标题 Label国籍文本 AllowInternationalTextInput(仅创建)显示密文 IsPassword(仅创建)本地化 Localize(仅创建)保存值 RetainValue属性界面代码实现…...

面试官:如何搭建Prometheus和Grafana对业务指标进行监控?

Prometheus和Grafana都是非常流行的开源监控工具&#xff0c;可以协同使用来实现对各种应用程序、系统、网络和服务器等的监视和分析。 下面对Prometheus和Grafana进行简要介绍&#xff1a; Prometheus Prometheus是一款开源、云原生的系统和服务监控工具&#xff0c;它采用p…...

SQL Server 创建登录账号、创建用户名并为数据库赋予db_owner权限

服务器级的固定角色及其权限 sysadminsysadmin 固定服务器角色成员可以在服务器执行任何操作serveradminserveradmin 固定服务器角色的成员可以更该服务器范围的配置选项和关闭服务器sercurityadmin sercurityadmin 固定服务器角色的成员管理登录名及其属性,他们可以grant、de…...

离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)

集合与函数2.1 集合 2.1.1 集合的基本概念 2.1.2 集合的表示方法 2.1.3 文氏图 2.1.4 证明集合相等 2.1.5 集合的大小 ——基 2.1.6 幂集 2.1.7 集族、指标集 2.1.8 笛卡尔积 2.1.9 容斥原理2.1 集合 2.1.1 集合的基本概念 定义1&#xff1a;集合 是不同对象的一个无序的聚…...

ChatGPT想干掉开发人员,做梦去吧

很多人都发现ChatGPT可以做一些代码相关的工作&#xff0c;不仅可以写一些基础的类似python、java、js的代码段&#xff0c;还可以做一定量的调优&#xff0c;于是就开始担忧起来&#xff0c;到哪天我的开发工作会不会被ChatGPT这个工具给取代了&#xff1f; 目录 1. ChatGPT…...

尚硅谷大数据技术Hadoop教程-笔记04【Hadoop-MapReduce】

视频地址&#xff1a;尚硅谷大数据Hadoop教程&#xff08;Hadoop 3.x安装搭建到集群调优&#xff09; 尚硅谷大数据技术Hadoop教程-笔记01【大数据概论】尚硅谷大数据技术Hadoop教程-笔记02【Hadoop-入门】尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】尚硅谷大数据技术Ha…...

Linux信号sigaction / signal

Linux信号sigaction / signal 文章目录Linux信号sigaction / signal目的函数原型struct sigaction信号枚举值ISO C99 signals.Historical signals specified by POSIX.New(er) POSIX signals (1003.1-2008, 1003.1-2013).Nonstandard signals found in all modern POSIX system…...

坦克大战第一阶段代码

package tanke.game;import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Vector;//为了监听键盘事件&#xff0c;实现keylistener public class mypanel extends JPanel implements KeyListener …...

博客系统前端实现

目录 1.预期效果 2.实现博客列表页 3.实现博客正文页 4.实现博客登录页 5.实现博客编辑页面 1.预期效果 对前端html,css,js有大致的了解后,现在我们实现了一个博客系统的前端页面.一共分为四个页面没分别是:登陆页面,博客列表页,博客正文页,博客编辑页 我们看下四个界面…...

ChatGPT技术原理、研究框架,应用实践及发展趋势(附166份报告)

​ 一、AI框架重要性日益突显&#xff0c;框架技术发展进入繁荣期&#xff0c;国内AI框架技术加速发展&#xff1a; 1、AI框架作为衔接数据和模型的重要桥梁&#xff0c;发展进入繁荣期&#xff0c;国内外框架功能及性能加速迭代&#xff1b; 2、Pytorch、Tensorflow占据AI框…...