当前位置: 首页 > 科技观察

开源项目是如何搞砸的?_0

时间:2023-03-18 19:55:22 科技观察

搞砸一个开源项目的方式有很多种,也有很多可指责的地方。一位GitHub官员认为,项目维护者和用户都有责任。/*样式定义*/table.MsoNormalTable{mso-style-name:normaltable;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:是的;mso-style-priority:99;mso-style-qformat:yes;mso-style-parent:"";mso-padding-alt:0cm5.4pt0cm5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.5pt;mso-bidi-font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"TimesNewRoman";mso-bidi-theme-font:minor-bidi;mso-font-kerning:1.0pt;}in最近在一份名为《搞砸开源项目的99种法子》的警示报告中,GitHub开源项目主管BrandonKeepers列出了开源项目可能因用户或维护者采取错误步骤而出错的无数种方式。Keepers在俄勒冈州波特兰市的O'Reilly开源大会(OSCON)上作了演讲,他在会上列出了搞砸开源项目的N种方法。Keepers表示,项目参与者可能会做一些事情,比如避免给出建设性的反馈,这会让维护者感到没有动力。“我们不报告错误,我们遇到问题然后说'这一定是我的问题......其他人会报告这个。'”参与者也可能很懒惰,提出未考虑的问题,或者不仔细阅读说明文档。那样的话,Keeper说,如果维护者没有足够快地回答用户的问题,用户可能会对他们生气。“我们忘记的是,维护人员会自愿在业余时间做这项工作。”Keepers表示,反过来,对于项目维护者来说,他们让用户很难“理解项目是做什么的”,这将对用户信心造成打击。用户甚至可能难以上手。“最简单的是我们不告诉用户如何使用它。”相反,维护者可能会觉得最有知识的用户应该能够自己弄明白。维护者还可以使项目不可配置,或要求过多的配置。发布不可靠的版本和避免发布发布路线图也会导致问题。“我们都知道我们并不真正喜欢规划新软件,不是吗?事实上,我认为我们中的很多人都称之为敏捷开发,”Keeper说,他批评不规划新软件的敏捷开发方法整个项目在前面。“但实际上,如果根本没有计划,那么敏捷有什么用呢?”其他问题包括:由于重大修复而延迟发布,在次要版本中进行重大更改,不提供版本之间的升级路径。不提及软件项目的已知限制也是有问题的。Keepers表示,如果维护者引入模棱两可的法律语言并且不应用适当的开源许可证,他们也会破坏代码的完整性。侵犯专利权、版权和商标权也是问题。如果维护者在项目准备好之前就吸引了用户,或者为项目选择了一个令人不快或难以发音的名称,这将破坏项目的声誉。“无法通过谷歌搜索引擎在线找到的名字”也是一个问题,Keepers说,并引用了两个受到广泛关注的项目:Rust语言和Go语言。他认为,虽然这些项目非常出色,但很难找到有关它们的信息。Keepers表示,避免积极营销项目也是一个错误。Keepers说,给予过多的控制权、忽视对项目的担忧或对贡献的代码管理不善也会破坏对社区的信任。另一个阻碍因素是未能承认代码贡献者。另一个问题是维护者不会阻止在线讨论中的不当行为。“互联网实际上是一个可怕的地方,”Keepers说,许多人排斥女性和少数族裔,并嘲笑非英语母语者。该项目的新人也经常发现自己成为嘲笑的对象。大多数搞砸项目的类别都是小的、不引人注意的问题,比如缺乏信息。虽然这些行为是无害的,但随着时间的推移,它们可能会损害围绕项目建立的社区并使维护者精疲力尽。Keepers强调,维护者需要为软件项目树立一个好榜样。原标题:如何毁掉一个开源项目:让我们数一数