递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 7439|回复: 8
打印 上一主题 下一主题

[其它] 【关于开源】规范开源,做良好的火山软件开发者!

[复制链接]

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40543
跳转到指定楼层
楼主
发表于 2021-6-11 22:20:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 创世魂 于 2021-6-11 23:16 编辑





规范开源,做良好的火山软件开发者!
开源是好事,但希望都能遵循基本规范开源


     本帖仅供探讨交流,规范开源并无任何恶意,也希望水淼JSON的作者能进来看看。
     
      开源!
     
     是一个很伟大的事情,往大了说能够造福社会,比如安卓的开源早就了如今的国产手机,华米OV等都是在安卓的开源下茁壮成长。
     
     甚至安卓系统的存在都是因为Linux开源贡献,才有了安卓系统,华为的鸿蒙也是基于安卓开源魔改而来,创造了自己的生态APP同时也兼容安卓APP,至于鸿蒙是否为安卓套壳这个不重要,毕竟安卓也是Linux套壳,探讨这些没有任何意义,毕竟鸿蒙敢于把“Android”从系统中移除也证明了鸿蒙已经脱力了谷歌的掌控,不再受谷歌的限制可以任意的修改系统源码。
     
     扯远了,回归正题。
      从上面的大案例可以看出,开源确实是很伟大很好的事情,哪怕你只是开源一个很小的工具集,对于很多人来说,可能如获至宝,可能会让很多小白从此走入软件开发者大门,创出一片天,掉更多的头发。
也可能会有很多大佬,基于这个开源的工具集进行扩展维护,创造了属于自己的工具集造福更多的开发者。
     总之,开源是一个很好的事情,造福社会,造福他们,也造福自己。

     开源是好事,这是一个很好的事情。但是开源也应当有开源精神,遵守基本的开源规范,就好像取GitHubgitee发布开源代码的时候,会请你选择开源协议一样。遵循开源协议,基本上不能说所有人吧,至少大多数人都还是很遵守开源协议的。
当然开源协议有很多吃相都挺难看的,比如那个什么GPL病毒协议(太过理想化的协议,病毒一样,强制别人也开源),让暴风、QQ影音等一些音频视频相关的软件都因为这个开源协议被钉在“耻--柱”上,甚至QQ影音直接下架停止更新数年,最近两年才重启项目。

     火山作为很小众的编程平台,也都在在很谨慎的遵循开源协议,尽管这个开源协议是没有法.律效力,如果对方想打官司,实际上打不赢的,法.律不认可这些协议的,但是也依然在遵守。
目前火山的类库封装人员已经发现了很多很多很有意义的类库,很好的库,但是就是因为开源协议这个门槛,让火山官方很难去封装这个库,虽然封装了并不会有什么法律风险,仅仅只是随大众的也遵循一下,毕竟火山也不想被钉在“耻..柱”上。

     当然这个开源协议这个是小事,重点也不是开源协议,开源内容,也同样重要。
这里要说一下火山最近的开源贴“水淼JSON”模块很强,很好的开源项目,但是希望能够编辑一下帖子并注明,本模块仅供交流学习JSON格式解析,建议规范使用JOSN解析,遵循JSON基本规范。

      可能会有一些疑惑,接下来解答一下。

       问:为什么要添加这句话?
       答:JSON使用是有自己的规范标准的,自研JSON解析并无错,哪怕自研一个路径解析,或者自己通过算法提升解析效率都无任何错,但是水淼JSON的容错处理已经超出的JSON解析规范,容错处理的太多了,容易误导新手,让新手,注意是新手小白,他们会认为JSON就是这样的,或者说JSON就应该这样。

       这是一种极其不好的现象,虽然可能作者本人并没有意识到这一点,或者说觉得这个无所谓,毕竟火山还只是小众,终究只会影响少数人。
       但是这就错了,火山现在用户是少,但是未来呢?火山下个平台出H5跨平台会吸引更多人进入火山生态,一传十十传百,可能会有很多新人小白来使用你的模块,影响会越来越大。
       也可能吴总突然间开窍,下个平台开发鸿蒙插件,鸿蒙两个字,没准都能从华为那边吸引几十万的流量。
      
        蝴蝶效应都知道吧?
        我说的就是这个意思,虽然看上去没有影响,但是一旦影响起来也是非常大的。
        
        虽然编辑帖子贴上那句话,可能并不会改变什么,也可能让人会影响很多人,但是你贴上和不贴上是两个完全不同的概念。

       就好像我的无名模块里面永远帖子一条注释“开源提示:开源代码应遵循开源精神,请勿将本模块用于非法用途,否则后果自负,如转载模块源码请注明原作者.
       可能很多人不会遵循这个“规矩”但是你贴上就是表达了一种态度,别用模块搞坏事,如果搞了后果自负。
      
        做一个好榜样的同时也要学会如何规避一些潜在的风险。
       就比如这个JSON,既然起名叫JSON,就应当遵循JSON规范,容错处理可以有,但是不能过度,如果过度就会破坏JSON规范。
        举个例子说:官方库用的是jsoncpp,这个库其实也是有容错处理的,但是这也仅仅是针对要解析的文本中存在JSON规范格式,如果有JSON规范格式,则会剔除无效文本,将正确的JSON解析。
        这种程度的容错处理是可以被认可的,因为他并没有破坏内部的JSON格式解析,里面的键值解析是什么样子还是什么样,自然这种容错是可以被理解的,也可以被认可。

        总结,这并不是我一家之言,这确实是一个需要重视的事情,我不希望火山软件开发平台因为没有遵循JSON规范被钉在JSON规范的“耻..柱”上。
         自研解析算法并无任何错,但是必要的提示还是很重要的,恳请编辑帖子声明:规范使用JSON,本模块仅供交流学习JSON容错解析,以及如何自定义解析文本存储格式(因为水淼JSON容错解析的容错已经脱离了JSON的解析规范,不属于JSON解析,算是自定义存储格式解析。)


   





评分

参与人数 2金钱 +2 收起 理由
东子 + 1 火山的源代码在GitHub或Gitee上开源,这源.
米粒 + 1 有高度!

查看全部评分

安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

411

主题

2517

帖子

8298

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8298
沙发
发表于 2021-6-11 22:31:48 | 只看该作者
好的听从您的说法,我加上这句提示,哈哈
回复

使用道具 举报

87

主题

952

帖子

4899

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4899
板凳
发表于 2021-6-11 22:38:57 | 只看该作者
:噜阿噜我写的JSON解析也有容错,不过给了一个参数...是否容错模式..
回复

使用道具 举报

17

主题

792

帖子

2744

积分

金牌会员

Rank: 6Rank: 6

积分
2744
地板
发表于 2021-6-11 23:45:09 | 只看该作者
长见识...
回复

使用道具 举报

5

主题

19

帖子

117

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
117
5#
发表于 2021-6-12 07:12:06 | 只看该作者
魂魂老师,我会持续关注您的:噜阿噜
回复

使用道具 举报

9

主题

30

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
6#
发表于 2021-6-12 09:01:12 | 只看该作者
感谢科普!
回复

使用道具 举报

9

主题

371

帖子

3426

积分

贵宾

火山小白

Rank: 9Rank: 9Rank: 9

积分
3426
7#
发表于 2021-6-12 09:05:20 | 只看该作者
这个得注意
WX搜索:大强小屋【ID:daqiangstudio】
向火山进发!
回复

使用道具 举报

41

主题

246

帖子

3598

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3598
8#
发表于 2021-6-12 09:40:21 | 只看该作者
是的,如果不是标准的规范解析,可以做为模块的特色功能,在模块的介绍中特别说明一下!

免得小白不知所以然,一开始就以为本该如此,以后与人交流对接功能时,让其他人一头雾水。。。
回复

使用道具 举报

7

主题

173

帖子

580

积分

高级会员

Rank: 4

积分
580
9#
发表于 2021-6-16 12:02:10 | 只看该作者
吴总突然间开窍
-------------------------------
吴总急了: TM我看谁敢在我脑袋上面开窍.:噜阿噜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-25 12:11 , Processed in 0.102760 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表