Joomla Google Summer of Code 2019

对于每一个开源新手来说,开源听起来都很吓人。无法想象我在创建我的第一个 GitHub issue 时多少次重新检查文档中的拼写错误。对于一个几乎对自己能力没有信心的大学生来说,为开源做出贡献似乎是一项巨大的任务。这就是 夏季编程 (ISCAS) (SoC) 的用武之地,对于任何想要深入了解开源世界的学生来说,这是一个绝佳的机会。

但开源到底是什么呢?

一般来说,开源是指那些源代码可以自由使用、重新分发和修改的代码。你可以看到构成一个系统的实际代码。但对我来说,它远远不止这些。开源是一群最具创造力的程序员社区,他们创建的软件将会使自己和成千上万其他人的生活更加轻松。人民创造的软件,服务于人民。

把开源想象成一个巨大的机器,它吸收了充满活力的想法和编程才能,并产生了一些解决现实世界问题的最佳方案。从贡献文档到制作食谱、视频等等,你贡献的每一个技能都至关重要!

SoC 选择体验以及之前的所有准备工作

我在 Code for Cause 组织中做出了我的第一次开源贡献。我的第一个 Pull Request (PR) 是对 Code for Cause 组织的 One 项目的贡献。我觉得这让我对如何与开源项目的维护者沟通有了深刻的理解。它还教会了我如何有效地询问你即将做出的代码更改相关的问题。这些最初的几步对于让我习惯于大型组织中陌生人的大型代码库至关重要。

SoC 思维方式

在咨询了其他人之后,我终于意识到我的方法哪里出了问题。是思维方式。

到目前为止,我只寻找那些我曾经工作过的所有技术的项目。每一个学习新事物的机会都被忽略了,因为我害怕探索稍微超出我的舒适区的领域。

夏季编码计划一直是一种让学生提高技能并熟悉开源项目的方式。是的,提出一些你对之稍显陌生的技术并不是一件容易的任务。在这个过程中你会有很多疑问。这就是心态的下一部分——沟通。

沟通

沟通在每一个开源项目中都极为重要。只有在贡献者之间有良好的沟通,才能交付一个可行的项目。在提案和选拔期间,我意识到了一些事情。我对于某个特定主题的所有疑问,都可以通过在Ring Central频道中提出正确的问题而非常容易地得到解答。

我尝试确保与导师定期沟通,并在需要时及时提出疑问。

我撰写关于 Joomla! 的提案经验

就像我的前辈们建议的那样,一个好的SoC项目也将通过帮助你学习新事物来提高你的技能。

我有C/C++、JS、JAVA、Python、NodeJS、SQL等的经验。在撰写提案时,我还了解了很多关于为Joomla!做贡献所需的知识。我理解Joomla的工作流程、MVC组件以及Joomla的文件结构。

我很高兴我选择了这个项目,因为它提供了一个绝佳的机会,让我在夏天学习和成长。

Joomla是什么?我的提案是关于什么的?

Joomla CMS是一个基于PHP的应用程序,它支持约2.2%的网站,所有基于CMS的网站的3.5%,以及许多内部网。Joomla已被下载超过1.19亿次:https://downloads.joomla.net.cn/

Joomla项目拥有数百名贡献者,他们组织在一组工作组和团队中,以及一个领导团队。这些由部门协调。

Joomla是一个由社区驱动的FOSS项目,由一个涵盖超过150个国家的国际社区开发和维护。Joomla被数百万个网站和Web应用程序使用,从爱好者到专业Web开发者,再到大型企业,无论是互联网还是内部网。

提案之后呢?

SoC的选拔不仅基于提案,还取决于你能否很好地提供你提供的提案的概念验证。在我的案例中,它包括了一个开发基本Joomla 4插件的任务。

现在怎么办?

现在编码期已经开始了,我希望能逐一完成提案的目标,并为我将添加的代码提供适当的文档。我将定期博客我编写/测试的内容,并希望我能有机会学习新的令人兴奋的事物!

仓库和相关拉取请求的链接

项目仓库:https://github.com/joomla-projects/soc21_guided-tour

拉取请求:https://github.com/joomla-projects/soc21_guided-tour/pull/5