最近升级下系统,然后安装一个运行在之前版本Linux的闭源软件,运行果断地报出了segmentation fault。然后我向开发者报告,想请他重新编译下,他说他要“把时间放在享受生活上”,不搞了。于是又没有源代码,只好尝试从旧系统上把依赖都整过来,但是各种依赖包层层叠叠,非常复杂,花了很长时间仍然是报错。
于是我就想啊,Linux的闭源软件,如果自带全部依赖可能还好的,如果不是自带全部依赖的话,那么兼容性岂不是非常糟糕?毕竟Windows还有兼容模式啥的。
一直以来一提到windows升级,就感觉会有软件不兼容。Linux托开源软件的福,大家可以在不同平台上自己编译软件,让人觉得兼容性挺好,但是对于闭源软件可能就不会这样了,兼容性可能很差呀,稍微升级下系统版本就嗝屁了。
1
loading 2015-07-29 10:33:30 +08:00 via Android
linux 版本差异碎片化带来问题必然比windows严重!
加上是闭源的,自己都无法修改适应发行版。 |
2
scys 2015-07-29 10:35:16 +08:00
详细对比啊,依赖严重的闭源,应该做到静态编译
|
3
yakczh 2015-07-29 10:38:17 +08:00
freebsd为什么没有流行起来?
|
4
xujif 2015-07-29 10:42:15 +08:00
windows兼容不好?君不见win98 的16位软件还在win8里运行的好好的
|
5
loading 2015-07-29 10:42:48 +08:00 via Android
依赖不是问题,linux联网都好搞定,就是怕依赖版本太高…
windows依赖都是手动装,更麻烦。 |
7
breeswish 2015-07-29 10:47:03 +08:00
Windows 兼容性不是挺好的嘛……
@loading 感觉那些要手动装依赖的软件都是最初设计为运行在 *nix 上那种,最初的设计哲学就是模块化,不打包,这种直接放到 Windows 上必然痛苦.. |
8
echo1937 2015-07-29 10:53:39 +08:00
面对闭源的软件,如果你需要在一段较长时间内保持对它的正常使用,那么请选择一个更严谨保守,且最好存在商业支持的发行版。
微软的Windows有着业界第一的向下兼容性,但是也带来了巨大的历史包袱和维护成本,但这是它能有现今优势地位的重要原因。 Linux社区没有如此大的精力和财力执行这样兼容策略,业界做得最好的红帽,选择锁定某个内核分支,然后将安全补丁和需要的内核新feature以Backport的方式提供支持,因此你才可以用古老的2.6.32的内核支持目前最新的cpu等硬件产品,目前的周期是10年。 如果你的闭源软件开发者不做静态链接式依赖,不愿意重新编译,你也不愿意选择一个保守严谨的发行版,那么结果是显而易见的。 |
9
Gandum OP @echo1937 我确实很想选择一个保守严谨的发行版,但问题是现在用的这个发行版都已经过了官方支持两年多了,而且这台机器还要联网使用,很蛋疼啊
|
14
Arthur2e5 2015-07-29 13:29:43 +08:00
闭源软件不跟着 LSB 走谁都保不了他。
跟一下至少还可以甩锅。 |
15
visonme 2015-07-29 13:33:24 +08:00
这点我很赞成,对于linux开发者用户来说基本很多东西都是自己编译的,而对于闭源的应用有时候就显得很被动了
|
16
nekoyaki 2015-07-29 18:01:30 +08:00
经典例子: 英伟达显卡驱动。
|