Windows/Linux 代码共享,开发者称此举使Linux有了更差的结局
英特尔近期披露了 Linux 图形驱动程序相关的一些细节并指出,英特尔的图形驱动程序现在已在 Windows/Linux 之间共享约 60% 的代码库,90~100% 的性能。
针对此事,红帽公司的高级工程师、Linux 内核开发者、Mesa 图形项目的贡献者 Dave Airlie 则发布警告称,Chipzilla 的代码共享开发模式并不总是好的。并表示,这会对基于 Linux 的发行版和在图形领域的开源开发模式产生不良影响。

Airlie 认为,开源发布的项目与开源开发的项目之间存在很大差异,从“可持续性和社区”的角度来看,前者并非完全健康。
小编推荐一个学C语言/C++的学习裙【 712,284,705】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
Airlie 以 Linux 内核和他所参与的 Mesa 项目为例,指出两者都是在开放的环境下开发的,采用了完全开放源代码的供应商不可知的做法。并指出,这两个项目都没有供应商控制,其目标都是最大限度地实现所有供应商的驱动程序共享代码和共享流程/编码标准。

"这种跨厂商的协同作用对于 Linux 图形栈这个生态系统的运作非常重要。该栈在某些地方也依赖于 LLVM 项目,但 LLVM 上游仍然与供应商无关,是开源开发的。"
然而存在一个潜在的问题是,供应商可能更热衷于看到投资回报,每隔几个开发周期就把内部开发的代码放到一个开源的 repo 中,而不是围绕项目建立一个社区。Airlie 称,供应商更多的是从自己的利益出发才搞出共享 Windows/Linux 栈这样的事情,而不是为了 Linux 社区的利益。
Airlie 以 AMDVLK vs radv 为例论证了自己的观点。他表示,自己之所以开始 radv 这个项目是因为,AMD 一直向世界承诺为 Linux 提供一个开源的 Vulkan 驱动,与他们的 Windows 栈共享。然而,Airlie 却发现,社区根本就没有参与驱动程序发展的渠道。 “外部贡献者永远不会与 AMD 员工处于同一立场,甚至不同团队的 AMD 员工也不会处于同一立场”。相比较而言, 他认为 Mesa 的 radv 项目最后的效果远比 AMD 的厂商共享代码要好。

事实上,引起 Airlie 不满的点主要在于英特尔图形编译器(IGC)。这是一个英特尔内部的项目,关于项目方向、如何参与或社区在哪里的信息都很少。且该项目似乎没有什么公开的审查,补丁也好像被 igcbot 合并到了公共 repo 中,这可能意味着它们是从某个内部 repo 中镜像出来的。Airlie 将 IGC approach 与 Mesa 内的 NIR 后端的开发进行了对比称,在 NIR 后端中,大量的变化都会被审查,并试图最大限度地共享共同的代码,以便所有的供应商都能从代码中获益。
不过,他对 AMD 及其内核中的显示代码还是有较好的评价,并称赞该团队的社区参与。尽管他也表示 "代码仍然相当糟糕,在 Linux 上并不是真正的最佳状态"。

最后,Airlie 表示,给任何希望操作系统之间有更多供应商代码共享的人一个警告,此举通常不会以 Linux 更好的结局而结束,而是以 Linux 更分散、更难支持和长期不可持续的结局而结束。
本文转自OSCHINA

Windows/Linux 代码共享,开发者称此举使Linux有了更差的结局的更多相关文章
- Linux代码的重用与强行卸载Linux驱动
(一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...
- Linux微信web开发者工具
Linux微信web开发者工具 https://github.com/cytle/wechat_web_devtools Linux微信web开发者工具, 可在 linux 桌面环境跑起 微信开发者工 ...
- Linux与Windows的桥梁--共享目录
1.关闭防火墙和selinux # service iptables stop # chkconfig --level 2345 iptables off ...
- 设置共享,实现Linux和Windows之间的共享
设置共享,实现Linux和Windows之间的共享 前提: 安装虚拟机.可以参考:在Windows上安装虚拟机详细图文教程 安装Linux.可以参考:在VMware Workstation里的Linu ...
- Linux主机共享目录给Windows主机的方法
Linux主机共享目录可以通过samba来实现 首先,来看下百科上关于samba的介绍: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Ser ...
- Linux在Hyper-V中实现与Windows的宽带共享上网
相信不少读者都会做(或者曾经做过)这么一项活动——把一个Linux系统安装到Windows系统下的虚拟机软件中,然后在Windows这个大环境中对Linux进行学习或者一些实验操作.在进行这么一项活动 ...
- Linux访问Windows磁盘实现共享
业务需求说明:公司在部署hadoop集群和DB server与SAN存储,公司的想法是前端通过DB Server能够将非结构化的数据能放进SAN存储当中,而hadoop集群也能够访问这个SAN存储.因 ...
- 通过VMware Tools 将主机windows的目录共享给linux虚拟机
之前有写过 本地虚拟机挂载windows共享目录搭建开发环境 这篇,里面讲通过使用samba来实现网络共享 最近发现其实完全不用这么麻烦,VMware tools就可以帮助我们轻松的共享文件夹 这里引 ...
- 将Linux代码移植到Windows的简单方法
一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如果想要使用完整的代码,就要做移植工作.因为C/C ...
随机推荐
- 【问题记录】—.NetCore 编译问题
最近在协助验证Jenkins自动编译发布时,对一些.Net Core编译问题进行了解决:特记录一下 一.编译生成netcoreapp目录问题 问题现象 .net core项目编译输出目录总是包含在[n ...
- Spring Cloud 学习笔记 (一)-- Eureka 服务器
开局一张图,截取了本人学习资料中的一张图,很好地展示了Eureka的架构. Eureka服务器 管理服务的作用.细分为服务注册,服务发现. 所有的客户端在Eureka服务器上注册服务,再从Eureka ...
- 设计模式 | 职责链模式(Chain of responsibility)
定义: 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这个对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. 结构:(书中图,侵删) 一个抽象的处理者 若干 ...
- vue-main.js中new vue()的解析
在main.js中,代码如下 import Vue from 'vue' import App from './App.vue' new Vue({ router, render: h => h ...
- TypeScript魔法堂:函数类型声明其实很复杂
前言 江湖有传"动态类型一时爽,代码重构火葬场",由于动态类型语言在开发时不受数据类型的约束,因此非常适合在项目原型阶段和初期进行快速迭代开发使用,这意味着项目未来将通过重写而非重 ...
- OpenCascade拓扑对象之:拓扑对象的层次结构
@font-face { font-family: "Times New Roman" } @font-face { font-family: "宋体" } @ ...
- 你说一下对Java中的volatile的理解吧
前言 volatile相关的知识其实自己一直都是有掌握的,能大概讲出一些知识,例如:它可以保证可见性:禁止指令重排.这两个特性张口就来,但要再往深了问,具体是如何实现这两个特性的,以及在什么场景下使用 ...
- DCL单例模式中的缺陷及单例模式的其他实现
DCL:Double Check Lock ,意为双重检查锁.在单例模式中懒汉式中可以使用DCL来保证程序执行的效率. 1 public class SingletonDemo { 2 private ...
- mac下docker安装php链接使用国产数据库驱动
docker下配置php macos系统无法使用神通数据库,所以使用docker来安装php 第一步先安装php docker search php docker pull php:7.1-fpm d ...
- 常用简单电脑bai快捷键大全
Ctrl+C 复制.duCtrl+X 剪切.Ctrl+V粘贴.Ctrl+Z撤销.Ctrl+A全选所有文件.zhiDelete删除.daoShift+Delete避开回收站直接永久删除(不可找回).F3 ...