Answers:
这是我关于项目成熟度的清单:
该项目是否已达到最初的里程碑?
如果未达到其自我描述的初始里程碑,我将避免添加任何代码。我不建议您始终信任声称其项目已准备就绪的开发人员,并且始终尝试评估此类声明,但是,当她告诉您不这样做时(例如将软件标记为0.x版),您绝对应该信任她。 alpha,beta,候选发布者等等。
有足够的文件吗?
一个完美的项目将提供:
开发人员是否仍致力于该项目?
您永远无法确定开发人员在将来是否会保持承诺,除非这当然是基金会/公司支持的项目。但是您几乎可以始终通过检查以下内容来判断它们是否立即提交:
第二代开发人员是活跃的开发人员,他们在最初的里程碑之后就参与其中,这也是项目成熟度的一个良好指标。
开发人员可及吗?
现在,对于您更具体的问题:
速度
在一个带有公共问题跟踪器的项目中,我肯定会检查一下解决问题所需的时间。当然,速度并不总是意味着质量,因此我可能会解决一些封闭的问题,挑选一些我认为重要的问题,并评估开发人员的响应时间和质量。
许可证兼容性
至于法律问题,如果您不能百分百确定自己对开源项目的使用与其许可证兼容,请不要在代码库中集成开源项目。如有疑问,您可以随时询问项目的开发人员,甚至在这里询问。
社区炒作
您应该始终评估炒作。来自其他开发人员的建议几乎总是可以很好地表明项目的成熟度。
除许可证兼容性外,清单上的每个项目都是可选的。我已经在代码中集成了很多无效的或未记录的项目,它始终取决于您的特定需求以及您如何看待自己的代码的演变。