发言的礼仪 —— 参与开源社区

2023-12-12 17:58

本文主要是介绍发言的礼仪 —— 参与开源社区,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

仔细聆听别人的声音,也努力表达自己对技术的看法,并随时将你的宝贵经验与社区分享,这样你不仅能获得技术上的提高,还可以得到整个社区的认可和尊敬。

 

14.4.3发言的礼仪

通过适当的礼仪和友好的行为方式,可以更有效地通过邮件列表解决项目中的问题。Eric Raymond对此有非常精彩的讨论,见其《提问的智慧》一文,以下部分观点就来自于该文。

1.       提问

新加入一个社区总有许多东西是你不了解的,通常我们会阅读手册和源代码解决大部分的疑问。但仅靠个人,总有无法解答的问题,在邮件列表上提问是更直接有效的解决问题的方式。

社区的开发者总是乐意帮助别人解答问题的,虽然黑客通常有遇到简单问题就表现出敌视或傲慢的名声,但事情并非如此。他们只是毫无歉意地敌视那些提问前不愿思考、不愿付出的人。因此你不必在技术上很在行才能吸引注意,但表现出希望解决问题的正确态度,积极主动参与问题的解决

在提问前,请先尝试通过以下方式获取答案(非常不错的解决问题套路!我平时就是按照这个思路的,强烈建议尝试着将它变成一种习惯!)

(1)      尝试阅读手册以找到答案。

(2)      尝试阅读“常见问答”(FAQ)以找到答案。

(3)      尝试在你准备提问的邮件列表的历史文档中搜索答案。

(4)      尝试搜索互联网www.google.com搜索的资料要好于其它Google搜索,例如www.google.com.hk)以找到答案。

如果还是没有找到答案,你就可以着手撰写邮件求助了:

首先要选择一个清晰、明确的标题。如果项目有预定义的标签,选择合适的标签可以让你更容易地找到该领域的专家。开发者每天要处理大量的邮件,他们不可能仔细地阅读每一封邮件的内容,他们往往通过标题来判断是否对该主题感兴趣。因此,在标题中简单扼要的概括问题,能更好地帮助你吸引对此在行的人。而“紧急!!”、“请帮我!!”之类的唠叨,除了帮你博取更多的同情之外,并不能加速解决问题。

接下来,需要详细、完整、客观的描述问题的症状,以及问题发生的环境, 比如操作系统、软件版本、重现步骤等。如果你在提问前做了初步的诊断和研究,在描述完问题之后,描述你为定位问题所采取的诊断步骤。但一定要说清楚,哪些 是客观情况,哪些是你的推理和猜测,避免造成人们混淆猜测和真正的症状,从而无法准确地判断问题产生的原因。一般你的猜测对解决问题不会有太大帮助,确保 只描述问题的原始症状,让社区的专家来解释和诊断。

在开头就描述你要实现的目标,然后才陈述遇到问题的特定步骤。很多时候寻求技术帮助的人在实现其目标的过程中被某个具体的问题卡住了,然后跑来问这个问题该如何解决,他可能根本没有意识到自己的方法是错误,结果在错误的道路上被错误的问题浪费了不必要的时间和精力。

刚出问题之前发生的事情通常包含解决问题的关键线索。所以应准确地描述你及电脑在发生问题之前都做了些什么。日志对解决问题是非常有帮助的(完全赞同!),试着选取适当的日志级别以便提供更有用的信息,而不是将阅读者淹没在无用的信息中。

如果你要讨论代码中的问题,在张贴代码时应当附加一定的说明和注释。没有人愿意去阅读没头没尾的问题代码,随手张贴几百行的代码,然后说一声“它不能运行”,这样让别人无从下手,你也无法获得帮助。增加必要的注释和说明能有助于其他人对这段代码的理解。对于专家来说代码的背景和目的更加重要,由此可以找到最有可能出问题的部分。

最后,问题解决后应该追加一条消息,让他们知道问题是如何解决的并表示感谢。如果其他人将来也遇到类似的问题,可以尝试编一份文档或常见问答补丁并发送给维护者。这种良好的后继行为并不仅仅是出于礼貌,也是你善待他人而赢得声誉的方式。

2.       回答问题

前面我们看到提问时是需要智慧的,但实际上回答问题更需要智慧。就像一个好的老师对学生的重要性。在社区中常常有这样的人,他们可能并不知道你提出的问题的正确答案,但往往能提出一些建议性的意见,帮助你找到正确的答案。下面的几点可能会对你成为一个好的回答问题者有所帮助。

(1)      耐心

尽管到处都在强调提问的智慧,但总是会有RTFM的问题。当然对那些懒虫报怨一声RTFM无可厚非,但如果可以指出文档的具体位置,或者建议谷歌搜索的关键词(自己已经在尝试着这样做了,非常好!)会更好!

对于专家显而易见的概念在初学者看来可能就是天书。尝试用通俗易懂的语言解释和描述技术性的问题,帮助初学者更快地融入社区的工作。友善的社区氛围总是能吸引更多开发者的参与,从而扩大项目的影响力。

(2)      启发式的反问

启发式的反问往往可以将很差的提问转变成好提问从而吸引更多人的思考与讨论,提问者也可以从中学到更多的东西,下次的问题就会变得更好

(3)      授人以渔

获得答案的过程往往比结果更重要。如果结论并不是显而易见,在回答时描述你获得答案的方法和过程,不仅有助于提问者理解,还可以做到“授人以渔”。

3.       讨论问题

开源项目中的技术决策不仅是开放的,也是民主的。针对一个技术问题,开发者会提出各自的观点和解决方案。对各种方案的优劣进行详细的讨论和比较,一般会得出一个令大多数人都满意的方案。如果有多个方案争执不下,最后会通过投票做最后的决定。

在邮件列表中讨论问题是开发开源项目必不可少的。在Linux Kernel的邮件列表上经常会看到人们对某个问题热烈的讨论,回复经常达到上百封,其中不乏数十页的长篇大论。这就是开源项目的工作方式,聆听每个人的声音,汇集所有人的智慧。

(1)      坦率地表达自己的观点

只要是合理、可行的观点都会被采纳。不要担心自己的观点是否幼稚,或者与社区中某个资深开发者的观点相左而保留你的观点。社区需要每个参与者的声音,在社区中所以参与者都是平等的,坦率地表达你的观点在任何时候对社区都是有益的。

(2)    提出建设性的意见

如果你的回复仅仅是指出对方拼写或语法上的错误,请不要将它发送出去。这对解决问题没有任何帮助,只是在浪费别人的时间和带宽。

(3)      只针对问题本身

永远不要针对个人。你永远也不知道电脑的另一头坐着一个怎样的人,不要对此妄下断言。关注问题本身及如何解决问题,与之无关的东西都可以丢到一边。

(4)      避免情绪化的措辞

确保点下“发送”按钮的时候你处于冷静的状态。情绪化的措辞除了带来无意义的争吵外,对社区没有任何意义。

(5)      对待无礼

大多数情况下,社区中看似无礼的行为并不是存心冒犯。相反,它是直截了当、一针见血的交流风格,他们更关注解决问题而不是使别人感觉舒服(表达方式不同,但目的是出于好心。所以,要懂得多体谅别人!目前,自己也有这样的不好习惯,平时要有意识地改正哦!)。如果你觉得被冒犯了,试着平静地反应。如果有人真的做了出格的事,不予回应就是最好的回应。

 

参考资料:提问的智慧

 

摘自:《开源软件之道》14.4.3 发言的礼仪

这篇关于发言的礼仪 —— 参与开源社区的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485466

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank 正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

开源分布式数据库中间件

转自:https://www.csdn.net/article/2015-07-16/2825228 MyCat:开源分布式数据库中间件 为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代。如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷。 MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到“云”端

LLM系列 | 38:解读阿里开源语音多模态模型Qwen2-Audio

引言 模型概述 模型架构 训练方法 性能评估 实战演示 总结 引言 金山挂月窥禅径,沙鸟听经恋法门。 小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖铁观音的小男孩,今天这篇小作文主要是介绍阿里巴巴的语音多模态大模型Qwen2-Audio。近日,阿里巴巴Qwen团队发布了最新的大规模音频-语言模型Qwen2-Audio及其技术报告。该模型在音频理解和多模态交互

开源Apache服务器安全防护技术精要及实战

Apache 服务简介   Web服务器也称为WWW服务器或HTTP服务器(HTTPServer),它是Internet上最常见也是使用最频繁的服务器之一,Web服务器能够为用户提供网页浏览、论坛访问等等服务。   由于用户在通过Web浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而Web在Internet上一推出就得到了爆炸性的发展。现在Web服务器已

数据集 3DPW-开源户外三维人体建模-姿态估计-人体关键点-人体mesh建模 >> DataBall

3DPW 3DPW-开源户外三维人体建模数据集-姿态估计-人体关键点-人体mesh建模 开源户外三维人体数据集 @inproceedings{vonMarcard2018, title = {Recovering Accurate 3D Human Pose in The Wild Using IMUs and a Moving Camera}, author = {von Marc