Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.1 开源项目 open source project #45

Open
andyhuang18 opened this issue Sep 11, 2024 · 1 comment
Open

2.1 开源项目 open source project #45

andyhuang18 opened this issue Sep 11, 2024 · 1 comment
Labels

Comments

@andyhuang18
Copy link

什么是开源项目

开源项目是指项目团队为实现特定目标,围绕开源对象研究、精心设计,通过共享合作的方式开发而来的项目,具有一定的管理机制。简单来说,开源项目指的是源代码对外开放,任何人都可以查看、修改、贡献和分发的一类软件项目。其核心理念是通过协作来提高软件质量和创新速度。开源项目通常依赖于社区的贡献和合作,以实现持续的发展和改进。开源是强大的,因为它降低了技术的采纳门槛,使我们的想法可以更快、更广泛地传播。

开源项目如同共享的美食——每个人都可以品尝(使用)、查看食谱(查看源代码)、改进配方(修改代码)并与他人分享(分发修改后的项目)。相比之下,闭源项目就像餐厅的菜肴,你只能消费而无法获取制作方法。

开源项目的历史和由来

开源的概念源于20世纪60年代,当时的软件开发更多是在研究机构和学术环境中进行的,软件自由共享的思想非常普遍。随着时间推移,尤其是在1980年代,软件专有化趋势增加,导致了开源运动的兴起。

20世纪60-70年代:软件共享的早期阶段 在计算机科学的早期,软件通常作为硬件的一部分提供,很多软件代码是可以自由共享的,研究人员和开发者常常共同合作来改进代码。

1980年代:自由软件运动 自由软件基金会(FSF)由理查德·斯托曼(Richard Stallman)于1985年创立,倡导用户自由使用、修改和分发软件的权利。GNU计划也是在这一时期启动的,目标是开发一个完全自由的操作系统。

1990年代:开源运动 1998年,“开源”(Open Source)一词首次被广泛使用,旨在避免“自由软件”可能引起的误解,强调开源的实用性和商业价值。开源倡议(OSI,Open Source Initiative)成立,推动了许多开源许可证的规范化和广泛应用,如GPL(GNU General Public License)和Apache License等。

开源项目实施的平台

开源项目主要依赖于一些平台来实现开发者和社区的合作与共享。以下是一些最常见的平台:

  • GitHub:目前全球最大的开源代码托管平台,提供了版本控制、问题追踪、代码审查等工具,支持开发者协作。
  • GitLab:与GitHub类似,也是一个常用的开源项目管理和协作平台,支持私有和公共代码库。
  • SourceForge:早期的开源软件托管平台之一,尽管近年来不如GitHub和GitLab流行,但仍是重要的开源项目平台。
  • Bitbucket:为开发者提供版本控制和团队协作的工具,也支持Git和Mercurial版本控制系统。

开源项目的发展历程

一个开源项目从诞生到结束,通常会经历几个主要阶段:

  • 发起阶段:项目通常由个人开发者或一小群人启动,解决特定问题或需求。在这一阶段,代码会发布到开源平台,并邀请社区参与。
    社区构建与增长:随着项目的公开,更多的开发者会对项目产生兴趣并贡献代码、报告问题或提出建议。在这个过程中,项目的维护者会定义贡献流程、制定开发路线图,并通过代码审查来确保项目质量。
  • 成熟期:项目社区不断壮大,代码库日益完善,功能更为丰富。此时,项目可能被更多的开发者、企业甚至机构采纳和使用。项目的管理变得更加制度化,可能会出现核心开发团队或项目管理委员会来维持项目的发展和运营。
  • 维护与更新阶段:项目经过一段时间的发展后,可能进入稳定期。核心功能趋于完善,后续更新主要以修复Bug和改进性能为主,贡献者数量可能逐渐减少。
  • 结束或转交:有些项目可能因为技术的过时、社区兴趣的下降或维护者的退出而停止更新,正式结束。有的项目则可能转交给其他团队接管或合并到其他相关项目中。

有学者专门研究开源项目的发展阶段,根据Xiaoya Xia的研究,开源项目的发展阶段通常会经历启动、发展、衰退、归档与结束这四个阶段。

启动阶段

开源项目在创建后的初期,通常会经历高度活跃的开发阶段。大约有44%的项目在创建后的前三个月内达到开发高峰。这一阶段的开发者热情高涨,项目的提交频繁,社区的参与度也较高。项目在这一时期会引入新的功能和快速增长。

发展阶段

项目进入了稳定增长的时期,随着开发的继续,项目可能经历2到3次开发高峰。这些高峰与项目的新版本发布或重大功能更新有关。项目的社区在这一阶段也会逐渐成熟,贡献者的数量可能会有所增加,项目代码的复杂度也在不断提升。

衰退阶段

在经过一段时间的活跃开发后,许多开源项目开始进入衰退期,开发活动逐渐减少。根据文中的研究,大多数项目的衰退期持续超过一年,占其整个生命周期的44%左右。项目参与度降低的原因可能包括开发者精力不足、社区兴趣下降,或者更现代的替代方案出现。

归档与结束

项目可能最终被归档。归档并不意味着项目失败,可能是因为项目被替代或整合进了其他生态系统中。项目维护者通常会在项目归档之前向社区发出公告,提供替代项目或迁移指南,确保用户能够顺利过渡到其他解决方案。

为什么选择开源项目?

人们选择开源他们的项目有各种各样的原因,主要包括:

  • 协作:开源项目允许来自世界各地的开发者贡献代码或提出改进建议。
  • 采用与重构:任何人都可以几乎出于任何目的使用开源项目,并将其用作其他项目的基础。例如,WordPress 是从一个名为 b2 的项目衍生出来的。
  • 透明度:开源项目允许任何人检查代码中的错误或漏洞,特别是在政府、金融或医疗等对安全和透明性要求较高的行业中。保加利亚政府的开源政策是欧洲国家中较为独特的举措之一,旨在提升政府软件的透明度和安全性。这个政策主要体现在2016年通过的一项立法,要求在保加利亚政府资助下开发的软件必须采用开源许可。这一规定确保政府软件可以被公众审查、修改和再利用。

参考资料

我应该开始自己的开源项目吗

Todo Group开始一个开源项目

Understanding the Archived Projects on GitHub

@andyhuang18
Copy link
Author

开源项目大屏

开源项目大屏是一种非常直观且高效的方式管理方式,通过将关键数据和指标汇总到一个可视化的大屏上,团队可以更清晰地了解项目的进展、贡献者的活跃度、以及代码库的健康状况。

截屏2024-09-19 18 04 04

@wj23027 wj23027 added the 项目 label Oct 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants