||
先声明,我主要研究基础软件,对于开源认知正在建立,观点不成熟,说话也欠前前后后的考虑,仅代表个人现阶段不成熟观点。发表在这里也是为了抛砖引玉,欢迎讨论批评指正,不要上纲上线。
一、我对开源的浅显理解
说在前面:读书时用过一些开源代码,有的质量很高,但多为解决点状问题,发出来让大家用并提意见的,毕竟硕博士的研究领域都很小,需要大家来参与讨论,贡献idea。
开源的初衷:集众志实现软件的快速开发、摊平单个主体(个人、企业)的开发成本,减少重复造轮子,鼓励站在巨人肩膀上,迭代提升,共享开发成果。
开源的内涵:开源是一个代码学习的知识库或软件开发的“菜市场”,免费(没有商业产品成熟,是萝卜但不是有机,也没有洗泥)、面向大众(货品有好有坏,多少能用,得好好挑拣,去去烂菜叶)。
开源的影响力:开源软件成为现代企业开发的主要开发模式,因为其可以极大地提高了企业的开发速度,降低开发成本。据Gartner调查显示,90%的企业或组织在其 IT系统中使用了开源组件。又如,Synopsys2018开源安全风险分析软件Black Duck对1100多个商业代码库进行了扫描,发现96%的商业应用中都融入了开源组件,平均每个应用有257个开源组件。开源代码库的平均百分比从2017年的36%上升至57%。
开源的本质:免费,但不便宜。对于企业用户来说,对于边缘产品而言,免费等同于产品可用,但不一定好用,和便宜没好货类似。对于核心产品而言,免费等同于有问题无人来解决。选择有运维服务生态的开源,意味着或被开源社区、云厂商等主导方收割,购买“只此一家”的垄断服务,和买保险不舍得,因病返贫一个道理。
开源的内容:尚不符合商业的投资回报率的早期产品,要不过于基础,早有成熟的珠玉在前,不必购买,年轻人学学原理、练练手。要不过于前沿,没有明确的商业场景可落地变现,那就在让子弹飞一会,韭菜长一茬,成熟后自然把核心环节闭源成为商业版本。总之是付出成本无法覆盖商业价值的一些产品居多,稍有价值的可能就会升级到闭源的商业版本,或是下一代产品中。
二、关于开源的讨论焦点:
1、开源也会被停服断供,参考乌克兰危机,美西方科技企业有办法收拾你。
我认为代码一经公开就不存在断供风险,但是停服及技术升级被阻断是有可能的,例如近期的红帽CentOS Stream作为唯一来源,早期的CentOS7、MySQL5.7宣布停服等。开源软件的迭代速度是很快的,很多企业使用陈旧的版本,需要同开源社区的最新版本同步,当然,技术升级过程中的风险也需要综合考虑。产品停服意味着正在学习的好学生没有了最新的教材和案例,产品研发学习就只能基于此前的教材了,也不是不能考出好成绩,让人多少有点担心出了什么新题型就是了。
2、开源是养懒汉的,妖魔鬼怪不用修炼穿个马甲就出来扮演菩萨了?
供给方对于开源的应用可能分为两种,“好学生”是学习思路,为我所用,挑挑拣拣,找点思路。“坏学生”是拿来就用,可以交作业就行,然后自己去吹牛跑马圈地,养出了不学无术的懒汉。前者在闷声用,完善自己的商业产品,后者在发大财,不提自己的技术投入。
这里的争议点:到底是大厂仗着名气大、实力强,不思进取,跑出来抢中小企业市场,不给活路,吃相难看等;还是中小企业没本事、产品差,政府保护惯了,自己做不出来,别人一做出成绩还哭哭啼啼瞎嚷嚷。
3、开源没有责任人、普及度又高,一旦出现重大安全风险就影响这那安全。
关于开源漏洞,据NVD数据统计,全球开源软件相关的已知安全漏洞已超过18万个,这意味着企业的开源代码出现风险的概率很高,且一旦出现问题后果将十分严重。别有用心的人加入恶意代码,从“懒汉”通道进入核心系统,威胁网络安全。
4、开源不是随便用的,知识产权、许可证合规,我们都在像法盲一样乱用。
开源软件需要在许可证规定的条件下使用,需要遵从知识产权及相关法律限制。如果企业忽略了开源许可要求,可能会带来知识产权合规的风险。此外,核心开源模式也存在闭源风险,比如谷歌限制华为使用GMS,从而鸿蒙紧急上线。
关于开源许可证及开源风险:开源计划(OSS,Open Source lnitiative)是一个提倡开源的非营利组织,已批准80多个开源许可证,每个许可证都有单独的规则和要求,使用OSS的企业必须遵守相应许可证的规则和要求。尽管开源是免费的,但也会有很多附加信息。例如,有的许可证要求开发人员共享他们对开源代码的更改,有的要求专利代码不允许更改,有的限制开源软件对于商业产品的应用等等。此外,在产品中使用多个OSS的开发人员会发现一个开源代码组件的许可条款与另一个与之相关联的开源组件许可条款之间互相矛盾。此外,很多开源软件的许可条款表达并不明确,不读不行,读了也不一定能读明白,企业遵循时也会出现很多问题。
三、一些思考
我国对于开源尚处于学习消化阶段,现在想要自己开店建厂,我总觉得有点消化不良的地方。
一是商业模式上:开源主导软件付费向服务付费的模式迁移(先恋爱再结婚)。与我国的软件采购模式(先结婚后恋爱)格格不入,与我国软件企业的商业模式(好不容易研发出来产品准备卖软件了,媳妇熬成婆又要让我先恋爱再结婚)也格格不入。
二是主导力量上:我国的成长阶段和开源的开展阶段不吻合:我国的基础软件发展处于后发劣势,对于技术能力的积累还有待学习和成长。让我们开源可以开,开了也是拉亲戚朋友自导自演自弹自唱,不是真的很有吸引力。有的有点自主积累的,不舍得开源,作为小萝卜头里的大个儿,一开就彻底没了“核心竞争力”。
三是路线选择上:押国外(逐步掌握话语权),国外的技术基础好,但是有停服断供的可能性,而且政府视角考量总有些不信任,市场考量就是离得远、技术好、短期不会吃点我,白捡的便宜不占王八蛋,多多益善。押国内(总要培育自己的产品),国内的更自主安全,但是底子差、大厂的小九九让彼此心怀芥蒂,让中小站队难,此外,语言壁垒导致难以打开国际市场,不全球化总感觉没有走向主流世界,小打小闹。两头都押,那就是资源消耗。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-21 22:23
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社