这篇文章的目的之一是完成开源软件开发导论课程的作业,我的学号以7326结尾,这个作业的要求是: https://bbs.csdn.net/topics/607938212
1 什么样的软件适合开源?
在我之前了解到的开源软件中,小到某软件的插件或小工具,大到Linux内核和完善的工具类软件,似乎各种各样的软件都有,其中什么样的软件更适合开源呢?
什么样的软件适合开源? - 知乎知乎,中文互联网高质量的问答社区和创作者聚集的原创内容平台,于 2011 年 1 月正式上线,以「让人们更好的分享知识、经验和见解,找到自己的解答」为品牌使命。知乎凭借认真、专业、友善的社区氛围、独特的产品机制以及结构化和易获得的优质内容,聚集了中文互联网科技、商业、影视、时尚、文化等领域最具创造力的人群,已成为综合性、全品类、在诸多领域具有关键影响力的知识分享社区和创作者聚集的原创内容平台,建立起了以社区驱动的内容变现商业模式。https://www.zhihu.com/question/22881386阅读以上回答,结合个人经验,我认为无疑定制化的、面向特定客户的产品,特别是商业化的,是不适合开源的,而适用范围广的软件相比之下更适合开源;基于非商业用途的某些软件可能更适合开源;合作方较多的商业用途软件也适合开源;当然这样的描述不够具体,准确性也未知,我还想进一步地了解:适合开源的软件具备哪些特征?
2 如何保证开源软件的开发者从商业授权中获取的收益?
阅读以下文章,得知从开源项目中获得收益的方法包括:赞助费、服务费、咨询费、授权费,我认为其中授权费是较为可靠和易于量化的。开源项目如何获取收益? - 知乎对于开源项目的开发者来说, 如何通过开源项目获取到收益是一个十分重要的问题?有了物质的激励,开源项目就拥有了更多的资源进一步的发展下去。 在开始一个开源项目的时候,你可以先思考,如果你的开源项目真的成…https://zhuanlan.zhihu.com/p/85827699但我认为收取授权费用存在不可靠性,一些公司只要取得源代码,必要时进行一些小修改,随后便无视这一限制,之前听说过某开源软件开发者(细节已忘记)因无人支付授权费最后放弃开源、删掉仓库;
有的软件使用分个人版本和商业版本来避免这一问题,但存在企业采取其他手段获得源代码并获得利益的可能,如员工利用个人身份获取个人使用版本,并用于商业用途,类似的手段往往比起开源项目开发者提起诉讼的成本低廉得多,
在这样的情况下如何保证开源项目的权益?
3 为什么开源?
这篇文章的作者认为“开源工具市场是最糟糕的市场之一”,
RethinkDB开源项目为什么会失败?_钱曙光的博客-CSDN博客 原文:RethinkDB: why we failed 作者:Slava Akhmechet 翻译:雁惊寒摘要:本文分析总结了RethinkDB开源项目失败的几个原因。以下是译文。当我们宣布关闭RethinkDB项目时,我答应写一个事后总结报告。我花了一些时间来整理这段经历,现在可以清楚地写出来了。在HN讨论贴中,人们提出了很多关于RethinkDB为什么会失败的原因,从无法理...https://blog.csdn.net/qiansg123/article/details/80130851?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%2280130851%22%2C%22source%22%3A%22SoftwareTeacher%22%7D我基于实际体验和推测认为开源软件市场存在不规范性,下面这篇文章也指出了当前开源存在的一些问题,如不少开发者只将开源软件作为上升渠道、资源不足等,
基于此产生疑问:开源的主要社会意义是什么呢?当前公司或个人开发者选择参与或创建开源项目的动机主要是什么?换取知名度,寻求上升渠道,顺势而为,还是其他什么原因?
这篇文章作者说出了自己认为的开源软件对于社会、对于个人的意义:软件需要社会来做,个人因喜爱参与开源、因豁达而开源,
有一种豁达叫开源_advdbgger的博客-CSDN博客人们对软件的态度是经历过很多次变化的。在现代计算机研发初期,核心问题是硬件,寻找实现记忆的方式,建造庞大的机器。那时的大牛们都不太重视软件,把编程的事情交给女生去做,因为此,早期大型机上的...https://blog.csdn.net/advdbgger/article/details/122757841?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22122757841%22%2C%22source%22%3A%22SoftwareTeacher%22%7D虽然我认为开源软件市场必然发展壮大,但就目前了解到的而言我认为在开源软件市场中存在很多问题,如开源软件开发者承担了过多风险、并且有许多是本可以避免的风险,在这样的情况下“豁达”二字能够解释大多数的动机吗?
4 最初参与开源项目需要注意那些事情?
从吴峰光博士的经历看出,入门开发者需要从小的补丁开始,注意了解相关社区的规则、传统;
将创业失败的项目开源_akacd的博客-CSDN博客2014年10月底,我宣布将Mogotest项目关闭。经过接近五年的运营,我很清楚这块业务无法继续增长了。并不是由于没有机会,我觉得是项目早期的一些商业决定导致现在项目举步维艰。是什么导致现在的失败我改天再谈。这篇文章我想讨论一下项目关闭后我是如何处理源码的。 你会将代码开源么? 正如我所料的,我宣布关闭项目后人们问我的首先事情之一就是我是否准备将项目开源。我的客户,对我们项目感兴https://blog.csdn.net/akacd/article/details/42243205?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%2242243205%22%2C%22source%22%3A%22SoftwareTeacher%22%7D从以下文章的描述中注意到,开发者不应向主分支推送只满足自己实验需求的代码,或者有风险的、有害的、恶意的代码;
其他入门开源开发者需要注意的方面、容易犯的错误有哪些?如何避免这些问题?哪些项目适合入门者参与?
5 如何利用开源项目学习技术?
之前接触的项目学习方式基本上都是读代码以及说明文档,但是单纯的读代码效率很低,特别是涉及到自己不熟悉的技术或领域时;结合实际写代码、查阅相关资料会有所改善,但常遇到的问题是难以做到内化,不清楚当前的项目使用的技术特点,只会对本项目做出修改,在开发自己的项目时不确定这一技术能否为我所用。