开源项目是发展技能、分享想法和成为开发社区一员的好方法。开源意味着软件功能背后的源代码与所有想要阅读它的人公开共享。这意味着你可以准确地看到一个系统是如何工作的——一旦你愿意冒险,就为它做出贡献。除了向所有人开放贡献外,这种开放代码库通常还为免费安装和使用的应用程序和服务提供支持。因此,它为商业模式提供了一种重要的替代精神。

开源运动致力于扩大此类技术的范围,帮助更广泛的社区学习并为他们每天使用的软件做出贡献。而且使用它的不仅仅是本土项目。谷歌、微软和IBM等大型国际公司越来越依赖开源技术来开发自己的软件。

那么,您如何找到开源项目以及如何做出贡献呢?起初它们似乎有点令人生畏,特别是如果您的技术知识有限。但是,从小的干预开始是完全可能的。更重要的是,大多数项目都欢迎来自不同技能的贡献者的贡献。有许多社区资源和活动可以帮助您立即启动。二月是开源月,所以还有什么更好的时间来仔细观察并为自由软件世界做出自己的贡献呢?

开源月

每年二月,程序员和贡献者聚集在一起庆祝自由和开源软件(FOSS)月。在世界各地,组织黑客马拉松、用户组、社交媒体活动和其他活动,以促进和鼓励开源技术。该活动由Onyx Point创立,Onyx Point是一家对合作软件开发有浓厚兴趣的小型IT企业,自2017年以来已获得官方认可。

FOSS运动活动的各个方面都受到庆祝,从小错误修复到快速节奏的软件工程聚会,其中应用程序是从头开始开发的。这些“黑客马拉松”通常围绕敏捷软件开发实践(如冲刺)构建。它们涉及工程师、设计师和项目经理共同努力,在有限的时间内生产高质量的软件。除了非常有趣之外,这些活动还有助于展示从头开始密切合作工作的重要性,与许多企业项目的长期发展形成鲜明对比。但是你不需要加入黑客马拉松来为自由软件尽自己的一份力量。

在二月份,我们庆祝开源精神。

如何贡献?

如果你对开源软件有任何兴趣,你几乎肯定会找到一种贡献的方式。自由和开放源码软件运动主要由其社区推动,因此它受益于其多样性和全球影响力。你不需要在世界黑客联盟的顶级联赛中 - 所有级别的技术能力都可以提供一些东西。技术技能可以是前端和后端编码、数据库、网络、DevOps 等。事实上,你根本不需要成为一名编码员,因为许多开源项目也需要贡献来帮助UI设计,文档和翻译。大型项目需要许多与专有软件生产(如营销和项目管理)相同的技能。那么如何开始呢?

开源软件使用 Github 等工具来管理代码和资源,并主持有关未来方向和修复的讨论。看看主要FOSS项目的存储库,如Mozilla Firefox或LibreOffice。您可以自由加入这些社区,并添加自己的功能想法或报告错误。此外,如果您想成为第一个尝试前沿新开发的人,请留意 beta 测试人员的空缺。

在哪里可以找到开源项目

知道如何找到开源项目很重要,特别是如果您是初学者。如果您已准备好将自己的贡献添加到代码库中,您会发现许多资源来帮助您找到参与的方法。在Github存储库中,注意标记为“Good First Issue”的问题,这是一个旨在帮助新手在FOSS社区中找到立足点的公约。您应该能够找到小错误修复、文档、测试等的空缺。您贡献的任何内容都将由维护者或项目所有者进行审查,社区可以帮助您解决任何问题。

还有许多网站致力于帮助您找到适合初学者的空缺。以下是一些可以尝试的方法:

First Contributions 是一个 GitHub 项目,为您提供资源,帮助您在短短 5 分钟内开始贡献。

Codetribute 是专门为 Mozilla 项目的第一批贡献者设计的。它具有合适的项目和问题,您可以按各种条件进行搜索。

Ovio Projects 提供了一个社区平台,其中包含大量适合初学者的项目,让您咬牙切齿。

Up For Grabs为您提供了非常适合初学者的精选任务列表。

Hacktoberfest Projects通过编码语言列出机会。Hacktoberfest每年十月举行,但您可以随时做出贡献。

这些平台中的每一个都提供了适合您的技能组合的操作系统项目选择,以及如何做出贡献的指导。另请查看开源指南,全面介绍如何入门、如何加入社区、贡献最佳实践、法律问题等等。

开源适合初学者吗?

尽管它在更广泛的软件开发社区中建立起来,但关于谁可以为开源项目做出贡献,以及如何以及为什么这样做,仍然存在一些不确定性。你需要成为一个特立独行的黑客吗?它只适合业余爱好者吗?还是专业开发人员也参与其中?

事实上,FOSS社区非常广泛,包括各种技能水平和职业情况的开发人员以及文档编写人员,测试人员,管理员等的贡献。IBM和谷歌等国际软件系统的主要参与者使用开源的事实应该足以表明它不仅仅是业余爱好者的追求。

看看FOSS最成功的一些项目:Mozilla Firefox被公认为顶级网络浏览器之一已有大约二十年的历史。Linux是服务器使用最广泛的操作系统之一,也是开源的,还有Apache和Nginx等Web服务器软件。因此,您不必怀疑开源的专业性。

但是,如果您只是迈出第一步,开源也是获得实际项目经验和发展职业生涯的好地方。由于其充满活力的社区,您几乎总能找到专家为您提供指导和支持。而且由于公共风气,人们的谨慎程度比你在专有项目上发现的要少。通过开源,共享使每个人都受益。

代码库的作用

如果你对编程比较陌生,可能很难将你用来学习代码结构的示例转化为主要项目的复杂架构。大型项目通常具有大型代码库,根本无法一次性理解,入口点可能不明显。那么如何开始呢?

如果你还没有,你需要获得一些关于 Git 和 Github 的知识。Git 是一个协作版本控制系统,允许您管理代码库,随时提交更改,并在出现问题时进行还原。GitHub 是一个基于 Git 构建的免费、可访问 Web 的平台,托管许多开源项目以及问题跟踪器和文档。它允许开发人员跟踪和共享代码,并进行分叉以尝试新功能或修复。因此,如果您想在FOSS生态系统中留下自己的印记,这些技术的工作知识是非常宝贵的。

但是,大型代码库一开始可能有点令人生畏。对于外行来说,浏览包含数百万行代码的项目并非易事。数十个分叉可能看起来像是极端多任务处理的练习,问题跟踪器可能会让人不知所措。但没有必要惊慌。

关键是要从小处着手。首先克隆、构建和运行应用程序,这将使您了解其中的利害关系。然后,您可以开始探索您可能做出贡献的问题。查找需要简单修复的问题,例如更改方法名称以匹配 API 更新。这将帮助您开始您的工作流程。完成分叉存储库、进行更改并提交以供审批的过程。如果您遇到困难,您可以随时向社区寻求指导。

查找开源代码库是了解大型项目如何工作的好方法,但在开始时可能会让人不知所措。

一旦你打破了僵局,你就可以进一步工作了。尝试扩展测试覆盖率 – 测试也是了解代码功能的好方法。 随着您的进步,您可以开始考虑功能更改和更多重大更新。请记住,要执行任何操作,您不需要一次了解所有代码库。

希望本文已经证明,有很多资源可以帮助您找到适合您的经验和需求的开源项目。您不必一蹴而就成为专家,一旦开始,您就会成为世界上最令人兴奋和最具活力的开发人员社区之一的一部分

如何高效地在网上找开源项目相关推荐

  1. 如何高效地在网上找开源项目做!

    现在大家找工作都面临一个问题,哎,没有项目经验怎么办,这个时候就需要我们找到一个开源项目来练练手,吸收成长,那怎么样才能找到一个好的开源项目让我们去学习,成长呢,今天,他来了. 首先我们去哪里找一个开 ...

  2. 27款实用高效的腾讯热门开源项目推荐

    WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库,是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一. DEMO:https: ...

  3. django网上商城_网上商城开源项目合集

    大家好,我是章鱼猫. 关于网上商城的开源项目我们之前推荐过几个: 又开源一个小商城系统 前后端全部开源的新零售商城系统 不要淘宝商城,不要京东商城,只要你就够了 今天给大家推荐的这个项目是「Super ...

  4. 在git上面找开源项目遇到的坑

    2019独角兽企业重金招聘Python工程师标准>>> 1,不写安装环境. 2,不写包版本 3,半成品 4,写了自动部署脚本,但是里面没有都是用默认最新包名 转载于:https:// ...

  5. datacastle(Datacastle怎么找开源项目)

    data center什么意思 data center 英[ˈdeitə ˈsentə]美[ˈdetə ˈsɛntɚ] 资料中心; 资料中心; 数据资料中心 A typical service pro ...

  6. 分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!

    点击上方蓝字关注「程序员的技术圈子」 今天圈子哥给大家分享一套很不错的企业级的开源项目,最近一直比较忙,所以一直没有写文章,但也是一直想着给大家分享一些有价值的东西,而项目经验可能对于很多的在校学生来 ...

  7. [转]整理一些好的开源项目

    首先说明,要想找开源项目,当然是Github! 另外oschina上面也可能有你要的,这个是分类的链接:http://www.oschina.net/project/tags,比如这个是一个Pytho ...

  8. 如何把开源项目发布到Jcenter

    转载自:https://www.jianshu.com/p/f66972f0607a 首先我们应该注册一个JFrog Bintray的账号 Jfrog Bintray官网 这里我们可以注意到那个绿色的 ...

  9. python3项目源代码下载_GitHub 上适合新手的 Python 开源项目

    剧照:<隐秘而伟大> 作者:卤蛋 来源:HelloGithub 随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中.为什么这么多人学 Python ?我要喊出那 ...

最新文章

  1. Yann LeCun主讲!纽约大学《深度学习》2021课程全部放出,附slides与视频
  2. 收藏 | Google 发布关于机器学习工程的最佳实践
  3. 洛谷 P1985 翻转棋
  4. 洛谷 P3112 [USACO14DEC]后卫马克Guard Mark
  5. 【问链财经-区块链基础知识系列】 第二十二课 贸易金融区块链平台的技术机理与现实意义
  6. treeview调用数据库成树
  7. CentOS上安装Docker (图解)
  8. 最近的日子,很惬意!
  9. app服务器不运行了,springmvc app URL在本地运行,但不在服务器上运行
  10. 使用 web storage 制作简单留言本
  11. cacti 安装与配置
  12. CCF202104-3 DHCP服务器(100分)【模拟】
  13. 基本类型,指针,双指针作为函数参数
  14. C语言实例:三个数从小到大排序
  15. 单代号网络图计算例题_一表多图(表格/横道图/网络图)让计划编制效率提高10倍...
  16. android文件管理器,10款优秀的Android文件管理器
  17. 怎么把图片做成pdf文件?
  18. 手动计算Q-Learning的一个实例
  19. Android开发—简单的图片浏览器
  20. 网页的基本信息及组成HTML文件的基本结构

热门文章

  1. 处理迟到问题--简单的Java程序记录
  2. vxe-table 获取滚动条高度、还原滚动条位置、展开树形表格
  3. android 表格控件 滚动条,tkinter给表格控件(treeview)添加滚动条
  4. 常用的关系型数据库有哪些?
  5. 服务器 ssl协议怎么开启,SSL协议是什么?SSL未开启如何解决?
  6. 【SuperMap .Net 组件】三维自定义专题图
  7. MATLAB嵌套函数的应用
  8. 热转印标签印刷机行业分析-热转印标签印刷机产能、产量、产能利用率及发展趋势
  9. Linux术语标准发音大全
  10. 漂亮的C#位图按钮设计