近距离看开源是什么?有什么?

点击上方蓝字  关注我们

开源之道图书共读短评

开源之道点评

我们要尝试拒绝简单武断式的下结论,开放源代码能走到今天,背后是有着强大的力量支撑着的,而且这些力量来自四面八方,我们需要沉下心来,抽丝剥茧,将之一一的找出来。

软件工程

被世人所诟病的软件质量,始于《软件质量经济学》一书,该书的两位超过50年软件从业人员下的结论是:“软件质量低下一直是困扰在这个行业”,如此的描述,确实是让每一个人都心里哇凉哇凉的。该书的合著者之一 Capers Jones 在其新著的野心勃勃的《软件工程通史1920-2019》中对于软件工程做了如此的描述:

60年过去了,软件工程仍然没有像医疗、法律等领域一样,成为一个有认证、董事会和督导的专业,尽管编程语言、需求、设计和开发方法有所提升,但还是有相当大的提升空间。…… 只要应用软件仍然基于传统设计和逐行手工编码,软件就无法成为真正意义上的工程领域。更糟的是,它在将来也一直是人类历史上劳动力最密集的行业。现在,软件的构建与装配F1赛车或美洲杯帆船差不多,首先,经验丰富的设计师负责自定义设计,然后,熟练的程序员手工完成具体的编码。……. 现在创建的软件应用,算得上真正“新颖”的简直凤毛麟角,很多有应用是前人没有做过的,绝大多数现代软件是以前软件的新副本或只是对以前软件的增强版。现在真正算得上“全新”的软件可能不到10%,设计得相当新颖,类似的软件应用前所未有。这意味着可以从历史上最成功的软件提取模式并将其应用于设计和构造相似的新的应用成为可能。

软件工程的基本目的是减少成本,用自动化任务替换容易出错的人工任务,综合利用标准化模式和认证的可重用部件,可以使自动化任务成为可能。

只要软件仍然基于自定义设计和手工编码,都将是低效的,成本和风险都比较高的,并且容易出现严重的安全漏洞。自定义设计和手工编码的软件本质上都容易出错,而且目前还没有什么有效的方法,所以只能逐步改善。

接着 Capers 描述了他希望在2010~2020这个十年软件工程能够获得的改进,现在看来,Capers下面的这些描述可能要让他失望了,但是这十年,开源的崛起,可能会让他略有所慰藉。

软件生产力和质量将缓慢发展,有时甚至像酒鬼走路一样,有进也有退。软件工程想要取得重大的进展,还需要解决大量长期存在的问题。

  • 即使是在今天,软件生产力和质量度量也做得很差,通常也不精确,代码行和每个缺陷的成本都有违标准经济学的原则,虽然从经济学角度来讲功能点度量最精确,但它们很慢、很贵,在软件项目中的占比还不到10%。

  • 存储认证可重用组件需要成为主流。自定义设计和自定义代码,即使是用敏捷方法开发出来的,也低效。只有用认证可重用组件构建的代码才是高质高效的。成功重用是需要技术的,其中之一是完整的标准软件特征分类,软件的重用率还达不到理想的程度。可重用素材的认证几乎完全缺失,使用未经认证的素材可能是有害的。

  • 变更控制也做得不好。开发阶段,软件的月增长率在1%~4%之间,发布之后,软件年增长率超过7%。

  • 项目估算也有待提高。

  • 软件安全一直在警戒水平之下。

  • 软件行业已经有一些年头了,遗留软件的维护现在是软件工程的主要工作。在许多公司,65%以上的财务预算用来优化遗留软件,维持它们的运作。维护工作比新的开发更复杂,而且现在的研究工作还远远不够。维护方面的专业图书占比不到开发类新书的十分之一。现在需要更好的方法来更新和修补遗留软件,也需要更好的方法将历史数据移植到新的软件平台。

从直觉上讲,软件工程这门课程正在被大家所忽略和摒弃,大多数同学认为没有什么用,到实际的工作环境中现学现卖即可。那么问题来了,开放源代码式的开放方式是否是拯救软件工程的良方/p>

可持续性

说到可持续性,我们可能会想到环境保护,人类无限制的制造和生产,将大自然的空气、海洋、陆地不断的吞噬,世人一直都在思考可持续性。那么开源的可持续性怎么保障了呢临人类贪婪的本性,搭便车者无处不在,无论是被中国自古以来所压制的商人的理由角度,还是处于资本的性质,都要从另外的角度来保障可持续性,而吊诡之处却是仍然需要商业的支持,这中间该如何平衡/p>

这个问题吸引着很多仁人志士,进行相应的思考和行动。比如:

  • Linux 基金会旗下的 CommunityBridge

  • GitHub 的赞助者计划

  • Google 的暑期夏令营

  • 开源软件非营利基金会的崛起

  • 鹏城实验室

……

商业

先讲一个故事(内容来自《公正:该如何做是好第110页):

Spar 解释道,这种供应链的断开,推动了代孕市场的发展。是不是很奇怪的结论事实就是如此。

商业是个非常奇妙的事情,比如律师的存在:“一座城市通常无法养活一个律师,但可以养活两个。” 开放源代码是可以制造出非常优秀的软件的,而且协作模式和招募创新方面都有天然的优势,其商业化却是有违直觉的,因为有所有权、授权的模式在先,那么开放源代码本身就被有相当的误解。

那么这样的话,就会产生非常有趣有料的研究对象!开放源代码的商业正在崛起,而且越发的后发优势。

贡献开源的动机

人类是一个非常复杂的事情,尤其是人的心理世界,简直是微妙而神秘的宇宙世界。做一件事情需要理由吗要,而且要有充分的理由。

我们将视线先移开开源的领域,看看地球上其它的动机,促成人们完成伟大的事情。

  • 莱特兄弟,仅仅只是对于飞行有着执着的梦想,克服了无数的困难,而挑战了的飞机的发明。

  • 特斯拉发明的交流电,根本不在意什么专利权。

  • 2018年最佳纪录片:《徒手攀岩》,挑战肉体的极限。

……

在开源共同体中活动,无论是提升技能,赢得尊重,还是实现自我,交换认可,甚至是为了找一份合适的工作,都是人类众多动机中的一种,所以你最好不要去做厚此轻彼的错误判断,而是去拥有一个同理心,去尝试理解人们的内心深处,每个人都在寻找意义,因为生命本身足够的卑微。

法律

著名历史学者丹尼尔.布尔斯廷在其经典美国人三部曲之《民主的历程》当中是如此描述律师的崛起的:

任何一项改变美国人生活的新技术的重要性,大致上可以用它所花去律师们精力的多少来衡量。因此,内战后的那一个世纪虽然只出版了少数几种法律名著,产生了不多几个有名声的美国法官,但却产生了大批富有的著名的美国律师。

任何一项改变美国人生活的新技术的重要性,大致上可以用它所花去律师们精力的多少来衡量。因此,内战后的那一个世纪虽然只出版了少数几种法律名著,产生了不多几个有名声的美国法官,但却产生了大批富有的著名的美国律师。

开放源代码的诞生和发展,是基于知识产权、著作权、商标权等法律的基石之上的,如果不谈及法律,开源将不复存在,换句话说,在盗版(犯罪)活动猖獗的中国,是无法诞生开放源代码软件项目的,因为抄袭、盗窃、山寨将横扫所有的创新、买卖。

开源之道在这篇文章就法律而言想说的就一句话,信息产品的法律一日不普及,就无法谈开源。

共同体

Community 是颇难以解释的一个词汇,若想详细把这个词解释清楚了,这恐怕要耗上任何人的毕生精力,更何况它的外延一直都在发展,如果加上要澄清那些谬误的话,真是难以想象啊。据上世纪50年代中期的定义,已经超过了49种之多,而后来经过互联 的崛起,有了更多的涵义。不过还是有人希望能够以宽泛的形式综合这些定义:

一群客观上相互联系的团体或 络,能够产生相对持久的 会关系,除了超越眼前的家庭关系之外,且彼此能够定义出关系作为他们 会身份和 会实践的重要事项。

Community 在引进中国的过程中,也被曲解、重构,到开源进来中国的时候,已经扭曲到不知道该如何诠释了。但是就开源共同体而言的几篇论文,共同体是一个项目发展起来必要经历的重要阶段,这适应了从人到共同体,再到体系生态的生长过程。

而且研究开源共同体的发展过程,将对于本土建设和打造开源软件项目具有重要作用。这点也是开源之道未来一年的重要工作,所以关于共同体的内容,敬请期待。

人类的多样性也包含着个体的多样性;这些同样须被 会学的想象力所把握和理解。在此想象中,1850年的婆罗门与伊利诺伊州的拓荒者站在一起;18世纪的英国绅士和澳大利亚土著人比肩而立,同时在场的,还有一百年前的中国农民,当代玻利维亚的政治家,法国的封建骑士,参加1914年绝食抗议的英国女权运动者与一位好莱坞新星和古罗马贵族。写到“人类”,就不能不写到这些男男女女——既有不凡如歌德,也有平凡如邻家女孩。

哦,对了,还有一句话值得从 会的角度思考:

开源项目本质上不是一款软件,它是一个以向互联 输出软件为主的在线共同体(城市)。

——— 摘用 迈克尔.尼尔森 《Reinventing Discovery》中的经典语录

近距离看开源是什么?有什么?

点击阅读原文查看更多超链接…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月10日
下一篇 2019年11月10日

相关推荐

tml>