热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

桌面Linux操作系统:闭源VS开源

桌面Linux操作系统:闭源VS开源--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
0:w(5(
【eNet硅谷动力专稿】大多数的IT人士在谈到Linux的时候,他们首先会生动地描述一个开源的操作系统内核,然后是一些运行在Linux平台上的其它软件,这些组合在一起就构成了了免费的并且开源的Linux服务器和桌面操作系统。对Linux的这种描述是相当准确的。毫无疑问,正是开源技术和社区合作使得Linux发展成为目前操系统领域的一股强大的力量。

  但是,到底什么时候我们可以接受---无论我们喜欢与否---闭源应用将最终被允许进入这个“开放”的世界里?毕竟,这么多年来,这种情况一直在发生,尽管Linux纯粹主义者一直强烈要求占据用户所有的时间。

  事实上,在Linux的世界里,闭源代码每天都在使用。一个比较有趣的事情是:我们大多数人从来就没有真正考虑过这件事情。

  Linux闭源---这不是一个新概念

  虽然桌面Linux操作系统的核心(不论是那个发行版)是由开源代码驱动的,但是,它们也经常与一些很少引起人们注意的代码一起使用---事实上,许多Linux纯粹主义者似乎忘记了闭源软件和驱动程序每天都被成千上万的用户用于Linux桌面操作系统。

  从某些Linux发行版添加的特定的固件(用于确保无线兼容性)到大家所熟悉的开源软件WINE(WINE允许用户在Linux环境下运行封源的Windows应用程序),专有代码在Linux桌面操作系统上占有自己的一席之地。

  此外,如果没有Windows专有无线驱动程序,那么大多数本来是为Windows设计的笔记本电脑初获取无线连接?闭源代码现在已经成为了---很可能永远都是---Linux桌面操作系统的一个重要组成部分。

  如果代码工作正常,那么保持下去。

  最近发生的一件事---著名显示芯片生产商NVIDIA未能提供它的基于Linux的显卡驱动程序的源代码,再次引发了开源和闭源用户之间的敌对情绪。然而,与ATI不同地是,我本人在使用NVIDIA的闭源驱动程序时从来没有遇到过一个问题。任何出现的问题都被NVIDIA自己以相当快的速度解决掉了。

  那么,为什么又再次产生问题了呢?

  在过去,Linux开发人员已经对于“不得不围绕这些NVIDIA提供的驱动程序进行工作”表示过自己的顾虑和担心。主要是因为他们提前想到了如果用户选择安装了NVIDIA显卡驱动可以会引发的一些问题。

  尽管Linux开发人员存在顾虑,我想指出地是,一直以来NVIDIA对于错误控制做得相当好,并且令人难以理解地是,尽管目前闭源NVIDIA 驱动程序许可存在一些问题,不过Linux人员已经能够让事情顺利地进行下去。

  虽然任何一个开发人员都受挫于NVIDIA驱动程序的许可问题,事实上这些年来NVIDIA提供闭源驱动程序一直运转得非常好,每一个用户都受益于此。

  不要误会我的意思,我也很愿意看到NVIDIA向其它开源厂商一样开发自己的显卡驱动程序的源代码。不过,看到Linux 纯粹主义者大声呼吁联合抵制NVIDIA这样一个事实上支持Linux平台的供应商,这只不过是乞求尚未浮出水面的未来效应。

  对于任何想要涉足Linux开发领域的闭源软件公司来说,上述事件反映出来的负面影响将会给他们呈现出更大的问题。鉴于大多数软件公司和硬件公司都使用闭源软件,闭源世界对NVIDIA的决定的反应将会严重影响那些想要致力于Linx兼容性研究的硬件厂商的发展方向。

  一个令人感到同情的事情是,很多硬件厂商会因此会尽可能地推迟开源技术的研发,因为Linux开发人员在很大程度上被闭源世界视为“异类”。
应用一致性,而不是源代码政治

  不管人们对于NVIDIA这样的公司的决定感觉如何,事实上,目前有一些闭源应用软件与被广泛用于Linux环境下。并且,令人感到难以解释地是,似乎没有人对这些闭源软件的开放性斤斤计较,事实上这些软件对于代码的有效性限制地非常严格。 Skype就是一个很好的例子。

  Skype应用程序为Linux用户以及其它比较流行的操作系统平台提供了一个非常好的的VoIP客户端。VoIP软件功能非常强大,电话通话清晰,视频播放流畅。因此,虽然市场上已经出现了不少与Skype功能类似的开源产品,比如Ekiga (可用于Linux和Windows两种环境),不过大多数人仍选择在家里的Linux电脑上安装一个Skype VoIP客户端。

  尽管名称古怪的Ekiga与Skype功能类似,并且很多Linux发行版上(比如Ubuntu)默认安装Ekiga,不过大多数希望使用VoIP的用户在每次选择产品的时候都首选Skype。他们中的很多人其实并不关心Skype是如何得到许可的。他们所知道地只是每个人都是用Skype。

  此外,Skype几乎能够运行在你想到的任何一个平台上。另一方面,Ekiga刚开始设计的时候是专门为Linux平台打造的,只是后来才被修改成能适用于Windows平台,而苹果的OS X操作系统用户则完全被Ekiga拒之门外。

  综上所述, 可以很清楚地看到Skype给用户提供了一系列的一致性,而理解这一点是很关键的。掌握了一点你就能更好地理解为什么更多的人将不去理会Skype的开源替代品Ekiga。Ekiga或许比Skype提供了更多的“选择权”,这是很多用户渴望得到的。比如,Ekiga支持SIP以及其它协议,而Skype只支持它自己的协议---Period。基于用户数,可能是由于市场营销的原因,Skype用户真的不关心他们的通信所使用的VoIP协议类型。
保持“开放路线”

  当你阅读本文的时候,一定要认识到这并不是对Linux或开源技术的抨击,这一点非常重要。而要将本文看作是唤醒大家关注软件可用性和实用性的暮鼓晨钟。

  如果可能地话,我很想看一看Linux平台所遇到的每一个挑战,以及开源软件是如何应对这一挑战的。然而,当你所生活的世界到处充斥着专利MP3、加密的DVD、三维加速驱动模块和闭源Windows无线驱动程序时,你很快就会认识到闭源仍然是非常真实的---不管你每天使用的操作系统平台是什么。

  当然这也会有摩擦。如果某一操作系统平台的闭源应拥程序能够带来足够的可以感觉到的价值,那么用户将会非常乐意为它付钱。

  也许用户为Linux操作系统购买闭源软件的一个最好的例子就是一个特定的视频编辑应用软件--- MainActor。MainActor现在已经停售,它曾经给Linux用户提供了极大的方便性,而和它功能类似的开源产品KDENLive则远远没有它做得好。

  对于一般的用户,MainActor是他们学习视频编缉最好的选择。因为它允许各个技术水平阶层的用户编辑视频,用户界面非常友好并且向导非常详细。因此,即使MainActor刚开始发布的时候,市面上已经又功能类似的开源产品了,但是这些开源产品要么没用户界面不够友好从而不能满足大多数Linux用户的需要,要么不稳定不适合专业人士使用。

  封源代码对于现在的Linux发行版是不是一个威胁呢?

  当思考Liux桌面操作系统的闭源问题是,需要时刻牢记的一件事就是Linux内核本身必须“保持纯洁”,不能遭到任何闭源技术的“攻击”。

  这意味着,专有代码不会突然开始出现在最高级别的Linux内核开发中,从而突然违反了我们长久以来一直熟知的Linux定律。Linux从来就没有真正受到威胁。

  组成操作系的最重要的代码块有一些安全保护措施以确保它不会使用那些未经开源许可授权的代码。这并不是说一些Linux发行版不采用Vanilla 内核或者不添加任何适合使用的新功能。但是这对于那些不使用这些Linux发行版的用户来说绝对没有任何影响。

  然而,封源代码在Linux中顽强的存活了下来,并且大有发展壮大之势。作为Linux用户来说,在一些基本的水平上这是我们日常生活的一部分。的确,闭源代码已经成为了现有的Linux桌面操作系统领域的一个相当大的组成部分,这是一个难以否认的事实。不过,每一个Linux用户对这一事实如何作出反应则他们自己思想斗争的结果。

[ 本帖最后由 zgzzhanzhan 于 2008-7-16 22:13 编辑 ]
推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
author-avatar
美美2012的小幸福
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有