开源软件开发导论第一次作业——关于“开源”的疑问

开源软件开发导论第一次作业——关于“开源”的疑问

这个作业的要求是: https://bbs.csdn.net/topics/607938212

什么是开源?

百度上得到关于开源的定义如下:

开源用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。

维基百科上对于开源的定义如下:

Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product.

简言之,“开源”指的是对大众开放源代码。

对“开源”存在的疑问

  1. “开源”模式如何得到合适且有效的盈利?

    在[《2022中国开源发展蓝皮书》](【热点动态】《2022中国开源发展蓝皮书》正式发布 (qq.com))中有下面这么一段话:

    开源正以“开放、共享、协同+商业模式”的新型生产方式,以“自由”的传播形式,成为全球信息技术发展的强大推动力。

    开源的商业模式是一个宏大的概念,蓝皮书中也没有对开源的盈利模式作介绍。但是一个持续发展的开源软件/硬件,应当建立在一定的经济基础之上。开源如何获取相应的经济收益?这是我比较关心的问题。

    在[《开源告急?》]((36条消息) 开源告急?!_CSDN资讯的博客-CSDN博客)这篇文章中,列举了一些开源软件的盈利模式:

    • 专业服务
    • 区分版本
    • 基金会
    • 企业赞助
    • 赏金
    • 众筹

    36氪的文章也提到了一种新的盈利模式:开源+云。

    现如今,对于大型的企业而言,开发和推广一款开源产品并不是什么难题——大型企业能够对新开发的产品进行技术人员和经济支持,并且有足够大的用户基础进行推广。待开源产品发展成熟,便可形成自身的盈利;对于足够优秀且前沿的开源产品——如近年来异军突起的 Vue.js ,乘前端框架发展的风以及中文社区用户的推广,Vue.js 得到了很大的发展。如今 Vue.js 有企业捐赠作为经济支持,使得 Vue.js 有稳定的技术支持形成正反馈。

    但是对于个人以及中小型企业的小型开源产品,它们是如何进行盈利的呢?或者说,当我成为一个开源项目的主要创建者,并且这个项目仅有我或者少数几人在个人时间进行开发,当该项目有了一定规模,我应该采取何种手段进行盈利?(虽然谈论盈利在开源社区中并不是一件令人喜欢的事情)

  2. 个人如何开始开源的路?

    文章[1]和文章2中都讲述了开发者走上开源之路的经历。但是可以发现,一位是在进行公司面试后才开始进行开源,而另一位则是在博士期间开始进行开源。他们都较晚,至少相对于仍在念书的大学生而言,才开始参与到项目开源之中。

    issue,对于当时的我,其实是相当陌生的一个名词。在那以前,我在github上其实并不活跃,更多的时候,可能是需要下载某个开源工具。尽管当时的我,在自己的仓库里也提交过一些乱七八糟的项目。

    开源对个人而言是一个正反馈过程,参与项目的开源对个人的发展帮助是毋庸置疑的。在技术知识尚浅的学生时期,如何能够进行有效率的开源参与?

  3. 开源项目的自由度该如何把握?

    《To be or Not to be》)中谈到 Linux 社区对美国明尼苏达大学下了禁令,不再欢迎该大学进行开源项目参与;[《一个补丁迭代了16个版本后被撤,我的 Linux内核之旅!》]((36条消息) 一个补丁迭代了16个版本后被撤,我的 Linux内核之旅!_《新程序员》编辑部的博客-CSDN博客)讲述了吴峰光博士与 Linux 开源的命运纠缠。这两篇文章都体现了 Linux 社区对于开源参与者提交代码的高度审查。为了维护项目的发展,严格审查是十分有必要的。

    对于此,我有两个方面的问题:假如我是一名开源项目的主导者,我如何评判一份开源贡献代码?如果审查过于严苛,那么会挫伤参与者的积极性;如果审查过于放松,那么可能会危害整个项目。假如我是开源项目的参与者,我应该从哪些方面约束我个人的代码,保证我所贡献的代码能够有效率地提交。

  4. 开源项目如何保证自身的安全性?

    《To be or Not to be》中,Linux 社区对于提交的代码会进行严格的审核。

    科技的进步需要试验,这种试验一般由三方组成:科研人员、社会大环境以及受试者。科研的初衷自然是希望对大家都有益,但怎么才算“有益”,不能仅凭这三方中的任何一方之言;而且由于科研的专业性,使得科学试验在科研-社会-受试个人之间存在信息不平衡,因此就需要有个比较可靠的群体,能够对每一项试验进行审核,以确保最大限度平衡不同利益方以及社会的短期/长期利益。

    对于个人而言,并没有办法建立起一个如此庞大且专业的审核社区,那么是否有较为完善的机制或流程保障开源项目的安全性?

  5. 个人如何推广开源项目?

    对我们来说,这意味着难以解决的客户获得渠道。如果是在一个肥沃的B2B市场中创业,则必须联系一百个潜在客户才能获得十个机会,并最终完成一个销售任务。而对于一个开发工具的初创公司来说,机会增加了10倍。你可以接触到很多高质量的潜在客户,很多人正在下载你的产品并与你交流,但你必须花大量的时间精力才能得到一个订单。

    开源项目的发展,必然离不开用户。

    对于企业而言,项目能否得到好的推广,甚至会关系到企业的生死存亡。

    对于个人的小项目而言,使用量并不会对项目造成很好或者很坏的影响。但这并不是说躲进小楼成一统,如果有一个好的项目,那么对于人的未来发展是十分有益的。那么如何推广一个开源项目呢?或者如果未来我想要建设及推广个人开源项目,可以积累哪方面的资源呢?

你可能感兴趣的:(开源软件,开源)