博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开源软件基金会_基金会如何支持开源软件?
阅读量:2525 次
发布时间:2019-05-11

本文共 1478 字,大约阅读时间需要 4 分钟。

开源软件基金会

开源软件(OSS)的可持续性取决于愿意为该项目做出贡献的热情的开发人员。 因此,项目的生存能力取决于其保留开发人员,加入新开发人员(即新来者)的能力,并且可能更重要的是,创建一个促进其采用和使用的用户社区。

随着OSS项目的增长,贡献者倾向于组织和创建社区来推动开发过程。 但是,许多项目缺乏正式的模型,尤其是治理模型,无法构建和管理周围的(可能很大的)社区。 支持处理所有类型的组织决策(包括法律和经济方面)是所有项目都非常关注的问题。 实际上,我来自GitHub上排名前25位的项目的透明度和治理模型的一些结果。 简而言之,结果令人鼓舞,但仍需要大量努力。

OSS基础

在其他领域,非营利性计划和基金会(公共或私人)组织起来为社区提供法律和经济基础设施。 他们还可以定义许多内部法规,例如有关非营利组织和非政府组织的活动,成员资格和决策过程。

同样,近年来,围绕OSS建立了许多基础。 软件基金会是非营利组织,其使命是为开放式和协作式软件开发提供所需的基础。 它们还为个人志愿者提供了法律框架,并能够为公共利益捐赠资源。 但是,基金会之间的差异很大,关于它们之间差异的信息很少。

以Apache软件基金会和Linux基金会为例,这是两个最著名的软件基金会。 他们遵循不同的策略来管理所涉及的项目。 虽然Apache软件基金会提出了一个精英制,由不同的委员会控制和推动多个软件项目的开发(董事会监督整个过程),但Linux基金会采用了一种灵活的方法,并为其项目提供了一个保护伞,部署特定的开发流程,并将更多精力集中在促进OSS的收益上。

作为我在中进行的一部分,我研究了OSS基础的不同风格及其对OSS项目开发的影响。 目标是:1)清楚地了解软件基础的最新状态,以及2)帮助开发人员在创建新基础或选择加入现有基础时做出明智的决策。 我们建立了一个包含89个软件基础的数据集,并根据其范围,开放性及其对项目开发实践的影响进行了分析。

我们在 介绍了研究结果。 我们的研究论文(您可以 )获得了ICSE 2018软件工程学会奖。

探索OSS软件基础

为了方便在OSS环境下查询和理解软件基础,​​我最近发布了一个 ,总结了我们的研究结果。

该网站包含有关89个软件基础的信息,这些基础根据以下方面进行分类:

  • 软件产品支持者? 我们检查数据集中的每个基础,以了解其主要目的是否是支持特定软件项目集的开发。 一般而言,其他目标可能包括培训,认证或宣传开源。

  • 国际范围? 这是从地理角度(即,基金会具有国际性还是地方性)来研究基金会的分布。

  • 独立? 基金会可以服务于一个特定的项目,一组项目,也可以作为许多较小基金会的保护伞,这些基金会可以使用这些基金会简化其创建,管理和法律程序。 我们专注于独立基金会。

  • 明确的任务? 除了发展之外,基金会还可以旨在通过帮助社区或促进创建新的和相关项目等方式来帮助项目。 这些目标通常在基金会的任务中阐明,并在其网站或章程中提及。 令人惊讶的是,许多基金会没有提供有关其任务的明确信息。

该网站以条形图和列表的形式显示结果,可以根据基金会的名称或上述尺寸查询。 列表中的每个条目都显示所选基础的名称,状态和尺寸值。

正如我们在所探讨的那样,对结果的深入分析还有助于弄清OSS软件基础在OSS项目开发中所扮演的角色。

这项工作类似于 ,但是我们包括了更长的基础列表。 即使这样,我们的清单也不是详尽无遗的,并且可能包含错误。 我想尽可能地保持更新,因此,如果发现任何错误或基础缺失,请随时 。

翻译自:

开源软件基金会

转载地址:http://kxyzd.baihongyu.com/

你可能感兴趣的文章
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_9_JDK7和JDK9流中异常的处理...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_4字符输出流的基本使用_写出单个字符...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_2_Properties集合中的方法store...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_6_字符输出流写数据的其他方法...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_2_BufferedOutputStream_字节缓冲...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_8_使用try_catch_finally处理流中的异常...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_3_BufferedInputStream_字节缓冲...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_1_使用Properties集合存储数据,遍历取出集合中的数据...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_4_缓冲流的效率测试_复制文件...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_3_Properties集合中的方法load...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_5_BufferedWriter_字符缓冲输出流...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_6_BufferedReader_字符缓冲输入流...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_7_练习_对文本的内容进行排序...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_1_字符编码和字符集...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_2_编码引出的问题_FileReader读取GBK格式文件...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_3_转换流的原理...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_4_OutputStreamWriter介绍&代码实现...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_5_InputStreamReader介绍&代码实现...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_6_练习_转换文件编码...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_1_序列化和反序列化的概述...
查看>>