什么原因才是阻碍Linux桌面发展的罪魁祸首
我大概2000年上大学在宿舍开始玩Linux,到现在20年了!也算是最早一批痴迷于Linux桌面用户啦!记得当时的毕业设计BBS论坛开发就是在Mandrake Linux(后改名Mandriva,一种继承自Redhat体系面向桌面的软件)上面完成的,为了下载三张700M的iso镜像,拿着硬盘跑到网吧玩通宵下载,现在想起来也很美妙!

最开始玩Linux粉们,都是极为期盼Linux的桌面化发展,我在当时也是Linuxsir的常客,还是个版主 ,还有Linuxfans,Linuxedeu,Linuxaid,不知道是否曾经热爱这片天空的Linux极客们能否看到!
言归正传吧!对于Linux桌面的发展是否因为类似鹅厂不积极开发Linux版上的QQ,阻碍了Linux发展,讲真,有影响,但是夸大了!
当年的清华Luma QQ作者的封版告别信,就能判断出当时的商业化公司是多么与开源社区格格不入。但是Linux的桌面端发展到现在不是好好的吗,没有从历史的长河消失啊,而且桌面越来越成熟。另一面的服务器端发展基本上已经一统天下了!
想要理解Linux的发展要从他的原始初衷看,而不能去怪罪一个做应用的厂商。 首先Linux只是一个内核,正好当时GNU开源组织缺乏一个好的内核,就与Linux联手了,拥有GUN庞大的操作系统软件库支持,Linux发行版很快就火了起来,可惜当年Freebsd正和Unix大厂因为版权打官司改代码,耽搁了几年,否则还不知道如今花落谁家!
其次Linux既然联手GNU,就必须遵循GPL协议,GPL协议具备极强源代码开放传染性,首先被传染的一定是驱动厂商,驱动是必须开源的,这是很多年阻碍Linux发展最大的罪魁祸首,其实驱动厂商,它们不是不愿意研发Linux官方驱动,而是因为这会开放厂商的驱动设计,影响到市场竞争,因此导致大量的PC机无法正常使用Linux。
所以说Android的Google就干了一件对于开源社区是不光彩的事情,但对于世界是伟大的事情,那就是Android基于Linux系统,但绕过了GPL协议,驱动厂商就能放心支持Android。
最后就是商业模式问题了,这个其实是比较阻碍Linux桌面的发展。服务端的开源软件已经开始走上非常成熟的阶段,像Redhat百亿身价卖给IBM,而做桌面Linux发行商却还有很长的路要走。桌面端不如服务端,因为服务器端的运营可以控制发行版及版本的碎片化,也不需要过多的外部生态依赖,就能安安生生的干事情。
但桌面端不行,一个KDE、Gnome根本不够,只要用了Linux桌面,一定就是先找Linux下的类似Win应用软件都有什么,这就不只是找QQ一个软件那么简单了,关键即便是找到了Linux版能用的应用软件,还要出现一堆应用问题,例如:字体发不发虚,界面是不是有乱码,内容格式是不是匹配等等,这其实才是最熬人的事情。
其实这些问题都是Linux发行版太多,而且各个库版本迭代频率太快导致的,这就很容易出现底层库更新了版本,上层桌面应用匹配不上,就安装不上用不了的问题。那么这种状态下,Linux用户量一定是上不去的,那么Linux桌面的商业化就很难做。越难做就越吸引不了高热度的应用入驻,反之又成为一种用户数量的制约。
即便在如此境地,Linux桌面依然在前进着,而且还好好的,其实这才是最应该讨论的问题,因为这不符合正常逻辑,看看黑莓、诺基亚、微软,在没有了应用生态支持,移动OS都一个个消亡了,但Linux桌面没有,还依然走着自己的路,这就是Linux的强大和伟大之处,就好像它是一座山,一直就在你面前,只是你有时候没有看见它而已,而怀着各种想法的人们需不需要来上山,那也是人们自己的一厢情愿而已。
Linux的桌面怎么走,这个我真不清楚,但是我看到的是微软,曾经开源社区的敌人,都已经开始拥抱Linux了,不仅仅是服务端,整套.net桌面开发环境都开始支持Linux了,甚至自己的操作系统都想换成Linux,那么来自基础平台商的如此坚定支持,我觉得大概率其他商业厂商的支持是迟早的事情。操作系统的Unix家族体系归一化,这个真的不是通过什么策略,而是趋势。
我们是“读字节”技术专家团队,感谢您的关注! 读字节官网
什么原因才是阻碍Linux桌面发展的罪魁祸首的更多相关文章
- Linux 桌面玩家指南:13. 使用 Git 及其和 Eclipse 的集成
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Linux 桌面玩家指南:04. Linux 桌面系统字体配置要略
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- 计算机与linux操作系统的发展
一.计算机 (一)计算机的概念 1.概念:计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速 ...
- Linux 桌面美化那点事儿
各个 Linux 桌面发行版刚拿到手的时候,或多或少都有点儿不满意,对它们进行一些改造是必须的.网上不乏各种 Linux 桌面美化的教程和经验贴,对我们这些 Linux 爱好者来说都是很好的参考资料. ...
- Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Linux 桌面玩家指南:15. 深度学习可以这样玩
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Linux 桌面玩家指南:14. 数值计算和符号计算
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Linux 桌面玩家指南:09. X Window 的奥秘
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
随机推荐
- Codeforces Round #649 (Div. 2)
Codeforces Round #649 (Div. 2) -- WKL \(\mathcal{A}\)题: \(\mathrm{XXXXX}\) Greedy implementation *12 ...
- 用了很多年Dubbo,连Dubbo线程池监控都不知道,觉得自己很厉害?
前言 micrometer中自带了很多其他框架的指标信息,可以很方便的通过prometheus进行采集和监控,常用的有JVM的信息,Http请求的信息,Tomcat线程的信息等. 对于一些比较活跃的框 ...
- 无所不能的Embedding6 - 跨入Transformer时代~模型详解&代码实现
上一章我们聊了聊quick-thought通过干掉decoder加快训练, CNN-LSTM用CNN作为Encoder并行计算来提速等方法,这一章看看抛开CNN和RNN,transformer是如何只 ...
- HTTP笔记4--HTTP 状态码
状态码作用.组成 HTTP 状态码负责表示客户端 HTTP 请求的返回结果.标记服务器端的处理是否正常.通知出现的错误等工作.状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果. 状态码如 ...
- 1.配置gitblit
作者 微信:tangy8080 电子邮箱:914661180@qq.com 更新时间:2019-06-21 14:38:43 星期五 欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程 ...
- 操作系统 part2
一.程序的内存结构 references: newcoder 运行时,程序分为:text段.data段.BSS段(2个合称数据段).堆.栈. text段:代码段,静态分配内存,只读. data段:初始 ...
- spring-cloud-netflix-eureka-server
一.构建springcloud父pom工程,管理版本 pom.xml <?xml version="1.0" encoding="UTF-8"?> ...
- 关于st表的推导
#include <bits/stdc++.h> using namespace std; const int maxn=1e6+7; int st[maxn][32]; int a[ma ...
- Lenet车牌号字符识别+保存模型
# 部分函数请参考前一篇或后一篇文章 import tensorflow as tf import tfrecords2array import numpy as np import matplotl ...
- SQL All In One
SQL All In One Structured Query Language SQL is an ANSI (American National Standards Institute) stan ...