开源贡献是当今科技界最受欢迎的技能之一。 人们已经意识到使用开源技术的好处以及参与这些项目的回报。开源开发是一种基于源代码共享和协作改进的方法。在互联网上有成千上万的开源项目。 开源项目可以是社交媒体应用程序、项目管理软件和技术文档。 那么,什么样的开源项目才是好一好项目呢?今天大眼仔就和大家一起聊聊开源项目中必备的几个重要一项。
在开源代码项目中寻找什么
关于开源项目的一个误解是,你必须贡献代码。 虽然代码是必不可少的,但其他领域,如翻译、文档、项目管理和社区宣传,可以包括重要的开源贡献。
任何从事过开源项目的人都会告诉你这类项目的好处。 这些好处包括创新、技能提升和影响您职业生涯的高效关系。考虑以下特征来确定开源是否值得您花时间。
1. 是否有许可证?
每个开源项目都有一个许可证,通常是许可证或 copyleft 许可证。 开放源代码项目中,许可证是很常见的。 它并不限制任何人使用、分发或销售本软件的修改版本。
大多数开源项目都有许可证,如 MIT、BSD 或 Apache 2.0。 MIT 许可证免费共享和分发软件,且无担保。例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 The MIT License (MIT)
Copyright © 2022 <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this softwa
re and associated documentation files (the “Software”), to deal in the Software without res
triction, including without limitation the rights to use, copy, modify, merge, publish, dis
tribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or su
b stantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDI
NG BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE A
ND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CL
AIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISI
NG FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFT
WARE.
Copyleft 许可证(如通用公共许可证、Mozilla 公共许可证和 Affero 通用公共许可证)具有进一步的限制。
许可证允许贡献者更改和分发开源软件。 这意味着开发人员可以修改源代码以生成新软件,并不受限制地使用或分发它。 修改后的版本将使用与原始软件相同的许可证。
但是,修改后的版本不会与原始版本同名,以便于识别。 许可证还应包括所有人,不得歧视任何人。
任何收到再分发软件的人都应与原始代码所有者在许可证中拥有相同的权利。
免费许可证并不限制软件的特定分发渠道或技术。 与开源软件一起发布的软件和依赖项不一定必须是开源的。 封闭源代码和其他付费技术不受限制地使用开放源代码软件。
2. 是否共享源代码?
所有的开源项目都有一个许可证,允许免费共享源代码。 这些权利也延伸到从贡献编译的代码。 项目应使其源代码不受限制地供所有各方使用。
当源代码在公共平台上不可用时,应根据要求提供。 任何不共享其源代码的项目都不是开源项目。
但是,许可证可以限制源代码的再分发,并且只允许其修改形式的再分发。 修改后的程序代码可以有不同的名称或版本,以区别于原始项目。
3. 项目是否有参与者指南?
每个开源项目都应该有一个贡献者指南。 您可能会在项目的根文件夹中找到它,通常命名为 CONTRIBUTORS 或 CONTRIBUTORS.md。 贡献者指南包含如何为项目贡献的简单说明。
该指南向新贡献者展示了如何派生、提出问题以及向上游存储库提交他们的贡献。 参与者指南有助于向参与者展示项目是如何工作的,以减少合并过程中分支之间的冲突。
4. 它有一个活跃的社区吗?
创新是开源项目如此受欢迎的原因之一。 开源将有才华和热情的社区聚集在一起,产生促进创新的想法。
强大的社区可确保产品的清晰沟通、协作和营销。 活跃的开源社区比单个项目产生更好的结果和更快的创新规模。
要确定一个社区是否活跃,请查看其社交渠道。 从监控他们在社交媒体、Discord 或 Slack 账户上的活动开始。 在一个信息和资源自由流动的活跃社区工作更好。
开源领域的活跃社区通过三种方式加速创新。 社区响应当前的技术趋势,具有频繁的发布周期,并且具有软件的大量再分发。
Facebook 的 Javascript 框架 React 就是一个拥有出色社区的开源项目的例子。
React 在 9 年内发展到了第 18 版,而一个类似的框架 Vue.js 仍然是第 3 版。 这两个框架都不到十年。 React 充满活力的社区让其他流行的 JavaScript 框架黯然失色,比如 Angular。
与活跃的社区一起从事开源项目是很有趣的。 此外,您将永远不会落后于技术趋势和更新。 找到最好的 Discord 技术社区是对您的开源组合的一个很好的补充。
5. 维护人员是否积极且专注?
在开放源代码项目中,维护者是具有修改项目资源库中文件权限的参与者。 维护人员负责项目,并确保对项目的贡献与其目标一致。
在一个好的开源项目中,维护者是最活跃的。 他们将负责社区渠道、引导讨论并回答贡献者的问题。 维护者给予更新并鼓励社区中的协作。
要确定一个项目是否有活动的维护者,请查看它的远程仓库,比如 GitHub。 积极的维护者沟通良好。 他们响应拉取请求、设置问题并解决参与者问题。
通过查看活跃维护者对社交渠道上发布的查询的回复频率来识别他们。 任何有三个月沟通间隔的存储库都不是一个合适的项目。
一个好的开源项目的特征
虽然有许多其他特征可以定义一个合适的开源项目,但重要的特征是许可证类型、社区性质、源代码和活跃的维护者。
具有上述特征的开源项目激发了创新、扩展和营销世界级项目。 此外,伟大的开源社区紧跟技术趋势,鼓励协作和多样性。
很有可能,您在一生中至少使用过一种开放式软件产品。
文章名称:《切记,一个好的开源项目必备的 5 个重要事项》
文章固定链接:https://www.dayanzai.me/open-source-project-characteristics.html
本站资源仅供个人学习交流,请于下载后 24 小时内删除,不允许用于商业用途,否则法律问题自行承担。
猜你喜欢
相关推荐
- 2021-06-10赞!华为免费可商用的鸿蒙 HarmonyOS Sans 字体发布下载!
- 2024-08-26文件索引查找软件 WinCatalog 2024.8.0 中文多语免费版
- 2023-04-21电脑玩 1440p 游戏 Nvidia RTX 3080 与 RTX 4070 哪个显卡最适合?
- 2016-02-05名片设计工具 EximiousSoft Business Card Designer 5.10 中文汉化免费版
- 2021-02-04如何在 Windows 10 系统中隐藏指定的驱动器