[Topic DIscussion] 开源软件的两大误解
Tofloor
poster avatar
银丝糖
deepin
2024-10-24 06:59
Author

代码经过全世界程序员的审查,最为严格,漏洞很容易被发现,修复也很快,最安全。

代码可以随意使用,无法限制,否则拉分支单干。

这里引用知乎两个答案,刷新三观。

某些人认为,一旦谷歌作恶,对应的开源代码就能快速取代

然而,成千上百个bug,有多少是巧合,有多少是失误,有多少是刻意为之,分的清吗?况且这些漏洞也不是谷歌提交的,只不过谷歌"审核员能力有限,看不出来"罢了。Linuxbug事件,教授恶意提交了100多个bug,要不是写论文承认自己故意的,也只是被当成一般菜鸡团队而已。

Linux的审核老哥放了那么多bug进去,过了很久才反应过来,也没人批判他菜,不是吗?445接口那么明显的漏洞,微软就是默认打开,你现在怀疑微软有别的想法,你能坐实吗?其次,谷歌早就参与棱镜门+作恶了,也并没有导致用户大量放弃gms。

开源软件给人造成的最大误解,就是因为软件开源了,所以有什么问题早就会被人发现

OpenSSL 曾经有个心血漏洞,可以允许恶意程序窥探别的应用的数据,而OpenSSL是个年的老牌开源程序,在被专业安全研究机构发现前没有人知道这个漏洞

阿里的antdesign是个著名的前端开源库,在某年的圣诞节所有的图标都可爱的戴上了一个圣诞帽,网络上为此炸开了锅,我记得有个程序员抱怨自己为某军工项目写的代码被用户各种批。

JDK 的hashset 在某个特定的尺寸下会抛异常,发现它的是某个研究机构测试正规测试方法。

比特币没有使用美国标准的加密方案,因为设计者怀疑NSA在算法本身埋了漏洞,虽然他从未能在数学上证明这一点。

实际上,开源软件埋了什么东西,几乎不可能通过审阅代码来发现,例如 antdesign 那个"彩蛋",没有什么复杂的加密,就是判断了下日期,而像心血漏洞和 jdk 的bug,也只能使用极其繁琐特殊的测试才能测出来,想来看代码发现什么问题,那都是高估了人类自身的智商。

不爽我自己干。

AOSP的代码并不是完全都◇google贡献的◇它是不同的人不同的厂商共同协作贡献的结果.但我需要阐明一个事实,这里我引用刚刚一个匿名回答中的答案:

AOSP是100%由谷歌领导,100%由谷歌主导,100%由谷歌决策,100%由谷歌控制,表面上开源开放,其实本质是谷歌用来控制手机生态的最终手段。

是!aosp就是google的后花园,哪怕它使用的是再宽松的开源协议,哪怕它再如何宣传它是全人类 的智慧结晶.我知道说完这个,我知道肯定有人开始不服了,不过在骂我之前,如果连git都没有用过,那么还是省省力气,因为再讲下去就是鸡同鸭讲,对牛弹琴.

在说说为什么之前,我们来明确几个基本概念.

1.AOSP是由谷歌发起的一个开源项目,谷歌维护着AOSP的主分支

2.你当然可以使用AOSP这个项目的源代码,当然你也可以修改它定制它,就像国内大多数定制系统所做的一样,但你修改的项目只能算AOSP的一个次分支.

3.你当然可以贡献代码到主分支当中,但如果你想修改(增删改)主分支的代码,你的代码必须提交到主分支,然后由主分支的维护人审计你的代码并最终决定是否将你的代码合并到主分支内,也就是说,google对AOSP的代码最终是怎么样的,有绝对的一票否决权.

4.AOSP发展到今天,甚至已经从一个系统变成了一套标准,你当然可以不陪标准一块玩,比如说你在AOSP上自己加的那些东西都是非标准的,但你认为如果别人以后要开发android他会更愿意从主分支中拉取标准的AOSP还是从你这个这里拉取一个非标准的AOSP.别傻了,使用非标准的AOSP代表你只能在这个非标准的系统上运行,谁不希望自己辛苦开发的app能够尽可能适配更多的平台,你说你不陪他们玩了觉得自己很有骨气,实际的结果是以后你就自己玩,没人陪你玩.

5.google对AOSP的任何修改,都是标准的,其它厂商对AOSP的任何修改,除非google点头说Ok,你这代码不错,可以变成标准﹣--﹣然后才能变为标准,否则永远是非标准的.

前段时间不有个很吃瓜的爷青回新闻,Linux 内核项目负责人 Linus Torvalds 删除了 AWS 工程师提交的一个补丁,他认为这将导致所有使用该补丁的 Linux 用户的 CPU 性能下降(无论他们是否使用英特尔CPU),删完代码还不够,linus还特意把他代码裱起来骂了个狗血淋头。

如果你是aws的工程师你怎么办,是的,除了无能狂怒你还能怎么办.

linux是全人类智慧的结晶﹣但不是你的后花园,你可以在外面随便看花园里花有多漂亮,但如果你想进去摘一朵,那抱歉,你得先问问后花园的主人答不答应,如果不答应,那么你就只能无能狂怒.说完那么多,如果我要写一个系统,想要兼容android所以我用了AOSP,然后我在这基础上开发了一大堆应用,同时我也宣称我的系统能够兼容android应用.

但某一天,我和google闹翻了,google气急败坏说不再给我推送aosp,我说好哇,你走你的阳光道我走我的独木桥,于是我clone了当前aosp的版本,然后做出了一个叫bndroid的系统,当然这个时候我的bndroid仍然能够兼容android应用,在你bnroid上运行的app也能够在android上使用,因为到目前为止我们仍然是同一套代码.

如果google和我没闹得那么翻,google是真君子,aosp正常更新,新版本出了个贼好用的api大家都爱用,但抱歉,因为你已经和android分道扬镳了,所以你bnroid上没有这个api library,使用新版本的api开发的android app你通通无法兼容,这个时候,要不然你只能老老实实的把广告中的兼容android改成兼容部分android,随着时间推移终将有一天变成不兼容android,要不然你就得跟在android的屁股后面,要么抄要么重新写过一遍这个同样的api,当然大概率情况下你得厚着脸皮继续适配新版本aosp毕竟开源协议放那你还是可以用,但你有没有被牵着鼻子走的一种非常不爽又无能为力的感觉?

如果google和我闹得实在是太翻了,google是个伪君子真小人,所以在下一个版本,他在aosp里加入了一堆代码,唯一作用就是拉黑了我所有应用的数字证书.然后随便找个借口比如说这个厂商的应用有安全漏洞或者会拖慢系统性能什么的(有没有一点flash player的味道),评论里有人说这个做法太绝太阴间善良的资本家不大可能做,让我们看看之前举的linux的栗子,google完全可以删除原本我们贡献在标准里的代码,比如专门针对我们设备进行性能优化的代码,于是在新的标准里,我们的设备不再有更多的优势,我们之前做的诸多努力全部泡汤,甚至你会发现所有bnroid的app都无法在新版本android上使用了你不得不重新适配.google甚至可以做的更绝一点,举个不太恰当的但你可以发挥想象的栗子比如在android studio中每一个编译结果代码中都带有这种针对你设备的检查,那么bnroid和android将彻底决裂,除非使用一些hack手段,不然你就得老老实实把兼容android应用从你的广告中删掉.这个时候,就算你哭爹喊娘想让google牵你鼻子都没 用!好了,各位看官看完了上面的科普,憋屈么

当然,你不是没有翻盘的机会﹣---﹣比如你的bnroid做着做着,比android好用一百倍,渐渐地,大家都用你bnroid不用android,现在你变成了标准.那这时,你是真独立自主了.

如果你做不到这点,那你还会觉得,如果我开发的系统使用了AOSP,这个系统还能叫独立自主么?

https://www.zhihu.com/question/596675442/answer/3033276454?utm_psn=1832681389474070528

https://www.zhihu.com/question/1719725295/answer/12310447247?utm_psn=1832681613001121792

Reply Favorite View the author
All Replies
2 / 2
To page
mozixun
deepin
2024-10-24 13:16
#21
银丝糖

在某些Linux党心里,有用户建议deepin换apt这套组件被认为是自绝与Debian生态,那是大逆不道,如果换了Linux内核,是不是就叛变革命了?要是支持,就是异教徒了。

鸿蒙并不在意使用了什么内核,因为它已经用了KAL屏蔽了底层内核差异,一切内核只要能和KAL于HDF对接就能启动

Reply View the author
mozixun
deepin
2024-10-24 13:19
#22

而鸿蒙要在其他设备上运行仍然用的是经过与鸿蒙HDF和KAL对接的Linux分支内核,鸿蒙自己的内核并没有开源也没有允许其他厂商使用。

而开源软件处理xz等漏洞的速度已经证明远远快于掩耳盗铃的windows,而且此次事件并不影响任何一个商业发行版,我们浙江高考刷身份证的机子运行的就是安卓7.0

谷歌对AOSP用绝对主导权是事实,但谷歌眼睁睁看着华为鸿蒙从1.0到现在一层层脱去AOSP,从完全的安卓到塞入OpenHarmony子系统进行生态平移,最终变成原生鸿蒙也是事实;同时正是因为AOSP暴露出对新设备尤其是物联网不适应的情况,所以华为捐赠的OpenHarmony才会有的放矢地去针对AOSP的问题进行改进,而打造下一代移动操作系统,而不是像Linux桌面端一样跟windows完全是两条研发线,AOSP即使完全掌控在谷歌手里,但是这让下一代操作系统能更好地有的放矢地进行研发而达到快速取代的作用

内核合并有没有进入主线不是重点,重点是你打造出来的产品是否符合市场需要,能否占取市场主流;谷歌的chromeOS和安卓就没用过Linux主线内核,一直用的是自己二改过的分支内核,即使如此Linus在讨论Linux内核研发仍然要第一个考虑"How about android?"。纠结于内核合并毫无意义,没有企业因为卖内核赚钱,都是因为有现成产品和服务赚钱;早期安卓内核离Linux内核十万八千里,但并不影响安卓仍然从远远落后于苹果到今天苹果没有从实力角度同AOSP谈判

Reply View the author
明月夜
deepin
2024-10-25 00:08
#23

支持沙发

Reply View the author
小小怪冲啊!
deepin
2024-10-28 00:57
#24

like

Reply View the author
2 / 2
To page