继几个月前steem(github代码仓库)底层区块链代码开源后,今天steemit官方团队宣布steemit.com网站源代码开源 (github代码仓库),并且基于相当宽松MIT许可证协议。
MIT License
MIT是和BSD一样宽松的许可协议,作者只想保留版权,而无任何其他了限制。也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。
* 你可以使用,复制和修改软件
* 你可以免费使用软件或出售
* 唯一的限制是,它是必须附有MIT授权协议
这无疑是一个好消息。但是也有些用户困惑,为什么要开源,源代码公开了,那么复制、抄袭不是零成本了,那如何才能保证官方的权威性和竞争力呢?下面就谈一些开源软件的一些不可比拟的优势。
首先我们要了解,steem和steemit的关系,steem是一个点对点去中心化的区块链网络,steemit.com本质上是一个steem区块链浏览器,是在steem平台上的一个应用,即对存在于steem网络上数据的一种视图呈现,它做成了普通人易于理解和接受的类似reddit网站的形式,其他的很多第三方开发者开发的网站,比如steemstream.com, steemstats.com等等,都是对同一steem网络数据的不同视图呈现,侧重点和解读角度不同而已。关于steemit.com和steem的关系,请参见 The relationship between Steem network and Steemit, and others
steem 及 steemit.com 开放源码带来的好处
奥巴马曾经要求 Sun 公司主席 Scott McNealy 提供一份开源软件带给美利坚合众国政府好处的报告,McNealy 毫不讳言地向奥巴马建议:
“一眼就可以看出,开源软件要比专有软件更经济、更有效、生产力更高....政府应当安装在开源基础上生产的开源软件以提高安全性,降低费用,获得更高品质、可信度更高以及更低价....而所有的上述好处都来自开源软件。”
1. 去中心化的开发 Decentralized Development
所谓三个臭皮匠,抵得上一个诸葛亮。一个由少数开发者组成的团队和一个成百上千的开发者的团队,哪一个团队更可能呈现高质量的代码?源码开放后,各路神仙,广大开发者均可以学习研究源代码,对系统的运作有更深的了解,并且能够方便的提交bug,提供补丁,讨论未来的软件特性,这样大大提升软件的开发效率和质量。有研究表明,当一个开发者感知自己的代码将被其他开发者审视时,他的代码规范、文档等等指标会大幅提升。
更多开发者的参与,也往往能使开源软件的实现接近行业最佳实现,提升软件实现质量。
除了开发者能够参与,广大的普通用户也有了更直接简便地与开发者沟通的渠道,发现bug了?对某些用户体验有更好的建议,都能直接提交到代码仓库,当开发者接受你的意见,提供反馈或者修正补丁时,你的感觉是不是很好呢?
2. 安全性 Security
软件都是有bug的, 关键是你找到并且修正了多少。steem仍处于beta测试阶段,出现bug概率上几乎是100%的。仅靠一个小团队来进行安全审计显然是不够高效和彻底的。由广大社区成员一起审查、测试代码,往往能更快更多的发现和修正代码。所以,steemit.com 开源的同时推出来安全审计悬赏计划是合适的。
Linus Torvalds(Linux软件发明者)的著名Linux Law:
Given enough eyeballs, all bugs are shallow.
给予足够的眼球,所有的错误都是肤浅的。
另外,由于加密数字货币项目的特性,用户的身份、财产都是由私钥控制的。虽然说加密学从数学上保证了私钥不可破解,用户拥有自己的私钥即拥有自己的权利。但是,在你登录网站的那一刻,你如何知道网站中没有恶意代码偷窃你的私钥呢?开源意味着人人可以审查代码,了解软件的开发实施是否像其声称的那样符合安全标准,即使你不懂如何读代码也没有关系,社区发展起来后,总是会有合格的开发人员在发现潜在风险时站出来。
而在闭源软件中,就只能是无条件完全信任开发者了。
3. 去中心化的运营 Decentralized Operation
一个多样化的生态环境更容易实现。比如,我相信今后会有很多基于地域、功能创新的社交网站在steem的网络平台上诞生。目前steemit.com上是英语占主导地位,这会使很多非英语国家的用户感到不适应。比如出现 steemit.cn,或者 newsocialplatform.kr 这类面向本国语言的社交网站,他们可以在steemit.com的开源代码上进行少量修改,比如过滤只显示cn标签的内容,并在网站用户发帖内容上默认加上cn标签,即实现了一个针对中文社区的社交网站,而同时保留了大量已有现成的代码及算法实现。
比如,国人无法访问facebook,那么中国运营团队就可以在fork的基础上,增加微信登录或者其他中国流行的社交媒体登录方式。而不需要依赖国外团队的开发。所谓一言不合就fork就是这个意思。
甚至有时候在当地法律法规的限制下,要求对特定内容进行屏蔽和审查,就可以比较容易实现了。即底层是反审查技术(censorship resistence),但在视图呈现角度具有灵活性。毕竟我们不是生活在一个大一同的世界里,不过国家的法律法规不尽相同,有时候甚至是互相排斥的,那就需要能够适应。
而对于闭源软件而言,有时候企业业务的发展受制于强大的软件供应商。比如国内绝大部分券商使用恒生电子提供的软件及接口,一些小小的更改报价很高,周期很长,但是你没有办法只能无奈接受。
所以,这种去中心化的运营可能将大大增加steem的生态多样性,百花齐放,从而吸引各种人群的加入。
4. 网络效应 Network Effect
那别人抄袭一下不就篡夺了你的劳动成果了么?这里就是网络效应要发挥作用了。我们看看比特币,从一开始就是开源的,此后各种山寨币、竞争币无数。但是市值最大,并且遥遥领先后来者的还是比特币。这是因为代码复制很容易,但是用户社区、经济体系是无法复制的,由此带来的网络效应是steem的最大优势和竞争壁垒。是的,steem不只是一个社交媒体,更是一个独特的经济体系,后面几天有时间我还想讨论一下steem的经济体系。
一个成功的网络型产品最屌最屌的特征就是它的网络效应。网络效应最典型的现象就是:加入网络的节点数量越多,网络的价值就越高。比如说,你在微信上有0个朋友,10个朋友和100个朋友的用户体验是完全不同的。有100个朋友的用户,可能会同时有5-10个群聊不同的话题。这个用户使用微信的频率很有可能比只有10个朋友的用户要高。
结尾
拥抱开源软件,steem生态中越多项目开源,越能推动生态整体快速发展。欢迎更多的企业家加入。
此帖威武,借火爆的 Steemit 向非 IT 行业的大众(Steemit 吸引来的这些人)介绍了什么是开源软件,什么是开源精神!!!
@boombastic
牛!!! : )
区块链对于普通大众来说门槛还是太高,而区块浏览器则是对大众友好的界面。区块链技术的发展模式(应用落地推广)必须是“底层区块链 + 可视化呈现”,区块链越是底层(终端用户看不见)可视化程度越高,用户门槛就越低越容易被大众所接受。Steemit 就是锁定一个“社交”功能,赋予打赏的特性,就吸引了如此多的眼球,而且用户大多是非加密货币社区的人!就是因为Steemit 门槛够低——注册、发帖、顶帖/踩帖、自动领赏!
I really think that I need to learn Chinese :)
never too late :)
謝謝分享
写的很好,我的很多想法也跟你一样,将来不会只有一个steemit.com,就像facebook一样 将来Steem会变成一种基础设施,什么网站都可以用。到那时候STEEM DOALLAR就会变成硬通货,价格肯定也就 ta da moon了。
所以赶紧囤币吧!
是的,等到上面百花齐放的时候,真是不得了了。
写得非常好,这里需要更多的像这样的扫盲贴.
我有计划写一些类似的文章,让新来的同学了解快些。
全力支持。
谢谢扫盲~~~
谢谢你的解释。 你说STEEMIT.COM属于区块连浏览器, 那STEEMSTATS.COM 这些可以理解为浏览器插件吗? 接下来,我也想知道到底开源, 对使用者会不会也有危害? 例如出现恶意插件??
steemstates.com也是区块链浏览器的一种,不算是浏览器插件。如果它没有要求你输入私钥/密码的话,你是安全的。如果要的话,使用起来就有点担心了,除非它进行了开源。但即使如此,你依然无法确定网站上部署的代码是否与开源的代码是否一直。这也是@xeroc 的piston.web 开源项目的价值所在。每个用户可以下载代码在自己的计算机上运行。
安全和便利从来都是矛盾的,追求高级别的安全救势必牺牲一些便利性。使用官方网站算是在安全和便捷性这件的一种妥协权衡吧。
Steem提供了高级的安全机制,高价值账户从来都应该保护好owner key,只使用post key登录网址,那样即使发生安全问题,你总是能恢复。这个话题要讲清楚就要展开了,回头写一篇相关的文章吧。
至于浏览器插件,比如chrome的插件,相对还是安全的,脚本的隔离做得还是很好。但是一些流氓厂商开发的具有特殊国情的浏览器,还是莫要碰的为好。
开源自然也会为黑客研究漏洞提供便利,但是好人比坏人多,能被发现并修复的漏洞也会更多,而且官方也提供了漏洞奖励计划,所以利远大于弊的。
讲的太棒了,我的安全意识又增加了一层~
写的不错,期待下一篇:steem的经济体系
一个成功的网络型产品最屌最屌的特征就是它的网络效应。网络效应最典型的现象就是:加入网络的节点数量越多,网络的价值就越高。比如说,你在微信上有0个朋友,10个朋友和100个朋友的用户体验是完全不同的。有100个朋友的用户,可能会同时有5-10个群聊不同的话题。这个用户使用微信的频率很有可能比只有10个朋友的用户要高。“
说得好棒!
拥抱开源、拥抱变化