20+ 适合初学者的开源项目
介绍
什么是开源?
Git
GitHub
适合初学者参与的开源项目
OKHttp
想阅读完整列表吗?
介绍
如果你喜欢团队协作、讨论和编程,那么开源项目是接触发展中社区的最佳途径。建议每位程序员都为开源项目做出贡献,帮助社区发展。
开源已经成为一个备受尊敬的社区,对数字生态系统具有不可估量的价值。人们大力鼓励参与开源。每家大型科技公司都在积极投资开源项目。例如,谷歌拥有 GSoC,微软拥有 GitHub 等等,这促进了一些优秀工具和软件的开发。
其中一些值得注意的是 -
-
安卓
-
Linux
-
迅速
-
科特林
-
Tensorflow
-
更多
开源社区有很多机会。你可以在这些社区里探索。你还可以通过开源在大型科技公司找到一份潜在的工作。
在对开源有如此多的积极反应之后,让我们以绝对的初学者身份深入研究开源。
什么是开源?
让我们来讨论一下这个显而易见的问题:“什么是开源?”
首先,让我们明确一下开源软件。
开源软件由许多人开发,并遵循 OSD 许可证进行分发,该许可证授予使用、研究、修改和共享软件(无论修改版还是未修改版)的所有权利。软件自由对于促进开源软件的社区发展至关重要。
-Opensource.org
开源软件不仅免费,而且还允许你访问其源代码。它们让你理解代码。你可以在项目中使用这些代码,可以编辑项目,并且在编辑后,可以根据不同的许可证进行分发。
如果一个项目是开源的,其他开发者可以通过 GitHub 等平台为其做出贡献(我将在后面讨论 GitHub)。帮助其他开发者的项目就是形成一个开源社区。这个社区正在不断发展壮大,帮助并影响着软件的开发。
开源社区最常提到的两个词是 Git 和 GitHub。我们来了解一下这两个词。
Git
假设你和一组开发人员正在开发一个项目。有一个原始项目文件(我们称之为主文件)。每个开发人员都有主文件的副本,并且每个人都在开发不同的功能。每个开发人员完成自己的工作后,就该将源代码添加到主文件中了。
如果每个人都在不知道彼此代码的情况下将代码添加到 master 中,那么可能会出现以下问题
-
不同的代码结构。
-
有些功能可以运行,有些则不行。
-
在源代码中创建复杂性。
-
如果代码没有备份,那么将很难回滚更改。
-
为了解决这个问题,Git 来拯救开发人员。
Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型的所有项目。
-Git
在 Git 中,版本控制会追踪任何文件中的每个更改,并轻松地将这些更改推送到主分支。由于每个更改都会被追踪,因此如果新代码中存在错误,可以轻松回滚到之前的代码;否则,手动删除代码并使其再次与之前的代码兼容会非常麻烦。
借助 Git,每个开发人员都可以在不同的分支上工作,经过批准后,可以合并到 master 中。
GitHub
Git 提供对源代码的控制,而 GitHub 是一个使用 git 版本控制将开源项目上传到云端并与他人共享代码的平台。Git 是本地的,而 GitHub 是基于云的。
GitHub 作为一个平台,在很多方面帮助了开发者,例如
-
与其他开发人员共享代码。
-
与世界各地的其他开发人员合作。
-
讨论项目的想法和特点。
-
其他人可以报告问题。
-
一些开发人员可以解决这个问题。
-
还有更多。
适合初学者参与的开源项目
动画国度
语言:CSS、HTML、JavaScript
GithHub Star:99+
Zero to Mastery 是 GitHub 上的一个组织,它为不同语言和水平的初学者提供了各种代码库。你可以向这个组织的其中一个代码库做出你的第一个贡献。我最喜欢的代码库之一是 Animation-Nation,你可以在那里贡献你的 CSS 动画。
30秒代码
语言:JavaScript
GitHub Star:76k+
它包含一些简短的 JavaScript 代码片段,可满足开发需求。您可以查看“问题”选项卡,找到适合您水平的问题。
时空
语言:JavaScript
GitHub 星数:3.4k+
一个轻量级的 javascript 时区库。
论坛
语言:Ruby、JavaScript、HTML
GitHub 星数:16.8k+
Forem 是一款用于构建社区的开源软件。它能够帮助您的同事、客户、粉丝、家人、朋友,以及任何时间和空间的人们聚集在一起,成为一个集体的一部分。
dev.to 托管在 forem 上。
OKHttp
语言:Java、Kotlin
GitHub 星数:13.7k+
HTTP 是现代应用程序联网的方式,也是我们交换数据和媒体的方式。高效地使用 HTTP 可以加快内容加载速度并节省带宽。
想阅读完整列表吗?
这是与Aviyel合作撰写的完整博客文章的预览。阅读Aviyel 上所有25 个适合初学者的项目。
点击此处阅读全文:开源之旅入门指南🗺️
Aviyel 是一个由社区驱动的开源项目货币化平台。
Aviyel与开源创建者合作,建立和激励活跃的社区,实现财务独立并增加其项目的采用。
我们正在构建一个知识共享平台,为开源社区和使用开源项目构建优秀产品的企业和开发人员提供围绕开源项目的无缝且有保障的知识、支持和内容交换。
文章来源:https://dev.to/surajondev/beginners-guide-to-starting-your-open-source-journey-1bgb