3

我们正在开发一个网站。我们正在使用的其中一个开发工具有一个下一个版本的 alpha 版本,其中包括许多我们真正想要使用的功能(即,它们使我们不必实现数千行来完成几乎无论如何都是一样的)。

我已经对其进行了一些初步评估,我喜欢我所看到的。问题是,我们应该开始真正使用它吗?即不仅仅是评估它,实际上将它用于我们的开发并依赖它?

作为 alpha 软件,它显然还没有准备好发布……但是我们自己的代码也不是。它是开源的,我们有调试它所需的技能,所以理论上我们可以实际贡献错误修复。

但另一方面,我们不知道它的发布时间表是什么(他们还没有发布),虽然我觉得用它开发还不错,但我不太确定在生产中使用它所以如果它没有在我们之前准备好,那么它可能会延迟我们自己的发布。

你怎么看?值得冒险吗?你有类似情况的经历(好的或坏的)吗?

[编辑] 我故意没有指定我们正在使用的语言或有问题的开发工具,以保持问题的范围广泛,因为我觉得这是一个几乎可以适用于任何开发环境的问题。

[EDIT2] 感谢 Marjan 非常有帮助的回复。不过,我希望得到更多的回应,所以我对此给予了赏金。

4

4 回答 4

3

我曾经为一个开源项目做过贡献,就像你说你希望贡献一样。他们忽略了该补丁一年(当然,他们有客户参加,虽然他们不销售软件而是支持)。一年后,他们拒绝了这个补丁,没有解决问题的替代方案,也没有坚实的基础。我猜当时这超出了他们的范围。

在您的情况下,我会尝试解决他们的一两个不那么高的优先级,已经报告的错误并查看它们的响应速度,然后再决定。因为你在最后期限上的成功将受到他们的影响。如果您必须维护他们的工件的副本,那肯定会很痛苦。

简而言之:不仅要评价产品,还要评价生产者。

问候。

于 2010-10-02T08:04:11.807 回答
2

我个人对此的看法:不要。如果他们没有在你的时间范围内为你完成,你就会被卡住,仍然需要自己输入数千行,并且可能会受到严格的时间限制。

话虽如此,我认为有一种方法可以让你尝试吃蛋糕并吃掉它。

如果您看到一种将其抽象出来的方法,那就是将您自己的代码与库的代码隔离开来,例如使用适配器或外观模式,然后继续使用 alpha 进行开发。但是请根据您的发布时间表事先确定最新日期是什么,您应该开始在适配器/外观后面开发自己的数千行版本。如果那时 alpha 还没有变成 RC:笑着忍受它并开发你自己的。

于 2010-09-30T12:56:22.963 回答
2

这取决于。

对于开源环境,它更多地取决于发布的质量,而不是它所拥有的标签(alpha/beta/stable)。与其他生产者的所谓生产代码相比,我使用的 alpha 代码坚如磐石。

如果您有源代码,那么您可以修复任何错误,而对于封闭源代码(通常是商业支持的),您永远无法发布使用 beta 产品构建的生产代码,因为拥有代码的供应商不支持它,因此您可以不修。

因此,在您的位置上,我将评估 alpha 版本的质量,然后决定是否可以投入生产。

当然,以上所有内容都不适用于任何对安全至关重要的事情。

于 2010-10-01T19:22:07.990 回答
2

这只是管理风险的问题。在开源中,alpha 版本可能意味着很多不同的东西。您需要准备好:

  • 处理 API 更改;
  • 提供错误修复和解决方法;
  • 自己测试稳定性、性能和可扩展性;
  • 更密切地跟踪变化,然后决定是否采用;
  • 跟踪他们正在取得的进展以及他们对补丁/问题的响应。

您确实使用持续集成,对吗?

于 2010-10-06T10:57:42.810 回答