开源应该不难
介绍
我们都被告知要从事开源软件开发。 在业界强烈鼓励它。 我们举办了类似Hacktoberfest的活动,甚至颁发了贡献奖。 我们被告知,它在行业中非常有价值,在您的简历上看起来不错,提供了宝贵的经验,并使您成为更好的开发人员。
尽管所有这些陈述都是正确的,但是开源项目仍然缺乏贡献者。 这是为什么?
问题—案例
许多开发人员发现开源很难进入的原因很简单-解释这些复杂系统的资源很少而且相差甚远。
没错,在线资源不足,无法清楚地说明开源项目的作用,更重要的是,它是如何实现的。 我认为缺乏优质资源会对行业产生负面影响(我已经讨论过每个软件工程师应如何撰写文章 )。
最终结果是,开源项目并没有像新手那样友好。 我想这会大大减少一个项目可能获得的贡献者数量。
仅仅知道一个项目的意义是不够的。 要对它做出有意义的贡献,您需要了解它的整个体系结构。 大多数项目的此类文档不存在,或者藏在某些Wiki页面的深处,其中包含可能过时的信息。
新移民的入职过程必须尽可能顺利。 请记住,人们在自己的空闲时间里探索项目,因此继续进行下去所带来的不便门槛非常低。
例子
请注意,这并不意味着在某些项目上出现漏洞。 几乎所有开源项目都缺乏良好的软件宣传。 这些示例只是为了证明一个观点,而不是削弱任何项目的用处。 甚至我非常喜欢的Apache Kafka也在这里挣扎。
阿帕奇骆驼
它的网站用很多流行语给出了模糊的解释。 它本身的部分内容为: “流行语太多-骆驼到底是什么? …在 Stack Overflow上 有关于Camel的精彩讨论 。”
如果项目自己的网站将您引向“堆栈溢出”答案以描述其功能,则说明文档可以得到改进。
特使代理
只需单击三下鼠标(文档->最新->什么是特使),该项目的说明就会埋入文档中。 我个人发现该描述不令人满意。
但是,似乎存在Envoy的创建者自己制作的非常清晰的视频- 在此处 。 该介绍性视频似乎在该项目的网站上找不到,只能在YouTube上进行搜索。
我必须提供一些架构概述和总体文档,但它们似乎非常详尽。
流利的
他们网站上的图表使它看起来像是某种消息传递系统,似乎我并不是唯一使它感到困惑的人。
阿帕奇·卡桑德拉(Apache Cassandra)
虽然数据库不需要太多解释,并且Cassandra的主页上确实有一些信息,但是请尝试打开文档并查看其体系结构 。
新的贡献者应该如何学习该数据库的功能并帮助开发它?
阿帕奇Hadoop
主页的工作是列出构成Hadoop的组件,但是我无法在其中列出任何资源来展示这些组件是如何协同工作的。
清单继续...
这些都是我很快设法抓到的例子。 我相信还有更多极端情况。
更难的问题
具有介绍性内容是每个开放源代码项目都可以利用的低挂果。
较难解决的问题是拥有有关项目的体系结构和内部工作的大量文档。 那是另一回事,需要做更多的工作才能做对。
我发现这比简单的入门文章还要有用。 简介更适合该软件的用户-可能正在计划将其与自己的系统集成的人。 结果,因为软件的用户总是比开发人员更多,所以更多的人倾向于并有资格编写入门文章。
但是,要使一个人做出贡献,他需要熟悉项目本身的功能。 在这里,可以轻松进行深入的技术概述,而大多数开源项目都缺乏这种技术。
您可能会说代码中已经包含了所有内容,但是我想说的是,很少有软件工程师愿意阅读数千行代码以从高层了解项目的工作原理。 至少比那些会读几千个单词的人少。
优先事项
我所设想的是一个世界,每个开源项目都将其文档和传福音放在首位。 理想的状态是拥有如此丰富的文档,以便完整的新手可以加入,阅读大量内容并准备为项目做贡献。 这个新的贡献者将不需要在邮件列表中提出任何问题,他不必阅读大量冗长的代码,也不必进行广泛的系统调试来评估其行为。
从理论上讲,这应该不难实现-可以只是该过程的又一步。 示例—在发布该软件的新版本之前,请确保已撰写了有关新功能如何工作,启用了哪些功能以及如何进行设置的X篇文章。
开源项目如何实现这是另一个问题,但是我很想看到开源项目中的中型配置文件????。
不要误会我的意思-这是一个很难解决的问题。 我可以理解为什么行业状况如此。
所有开放源代码项目都在努力利用他们所需要的少量贡献来改进软件和发布新功能。
撰写和编辑技术文章并不能直接改善软件。 它通过吸引更多的贡献者并减轻新的,不熟悉的人所做的工作来间接地帮助它。 我发现值得所有的努力。
感谢您抽出宝贵的时间阅读本文!
我衷心希望这篇文章能够说服您,或者至少使您认为,开源软件将可以从更加繁重的软件宣传中受益匪浅。
如果有任何机会,您发现此信息有益或认为它为您提供了价值,请确保给它您认为值得的拍手,并考虑与朋友分享。 我相信这是值得的。
〜斯坦尼斯拉夫·科兹洛夫斯基
From: https://hackernoon.com/why-open-source-software-should-invest-in-evangelism-67120a838887