如何遵守此指南以向软件中心提交申请?

我正在阅读 Ubuntu开发人员计划协议,该协议用于向软件中心提交应用程序,并偶然发现了以下条款:

3.1 首先,您必须测试您提交的应用程序,以确认它们与所有当前支持的Ubuntu版本兼容(在您提交时列在Canonical网站上),并且您的应用程序必须符合发布政策。

这是否意味着我必须安装Ubuntu 8.04、10.04、10.10、11.04和11.10的32位和64位版本?即使使用虚拟机,这也需要安装10次Ubuntu,这真的可行吗?

另外,有没有人有关于如何在不实际安装每个版本的情况下进行应用程序测试的建议?或许可以使用某种chroot工具?


编辑:我已经开始设置chroot环境来编译和测试应用程序。这是否被视为测试,并因此满足许可协议的要求?

嗯,如果我没记错的话,8.04版本只适用于服务器。 - jrg
一些应用程序,比如Wunderlist,只兼容某些版本的Ubuntu,并且它们只会在支持的版本的软件中心中显示。 - Matteo Pagliazzi
2个回答

该条款旨在告知开发者,您有责任(义务使用该术语)确保您的应用程序在支持的 Ubuntu 版本上运行,而不是 Canonical 的。您不必在所有版本上进行测试,但最好确保它能在最新的 Ubuntu 发布版和之前的版本上运行。

对于软件中心和付费应用而言,您应该测试 11.10、11.04 和 10.10 版本。如果您希望仅支持最新版本,并且只需在提交应用时通知审核人员即可。

对于 ARB 应用(FLOSS 应用),您需要确保与所有支持的发布版兼容。

希望这能更清楚地解释条款。


4你能提供相关资料来支持这个说法吗? - jrg
1不,源文件将是协议本身。我只是帮助制定了条款并提供解释。与所有法律协议一样,它们可以有不同的解释。因此,作为软件中心付费应用的业务发展负责人,我给出了这个回复。 - zoopster
+125(是的,不管你信不信,这就是你获得的声誉分。)非常感谢你提供的出色答案 - 对于我的情况来说,该应用程序无法在Hardy上运行,因此至少需要支持Lucid版本。 - Nathan Osman

回答你的第一个问题,这是可行的,但会耗费时间。正如你可能已经阅读到的:
“普通的Ubuntu版本在18个月内得到支持。之前的Ubuntu LTS(长期支持)版本在桌面端得到3年的支持,在服务器端得到5年的支持。从Ubuntu 12.04 LTS开始,LTS版本将在桌面端和服务器端都得到5年的支持。” - https://wiki.ubuntu.com/Releases 所以,是的,从2011年11月起,你必须测试以下版本:
- 8.04(服务器版) - 10.04 - 10.10 - 11.04 - 11.11
使用虚拟机是一种方法。另一种方法是下载每个版本的LiveCD的.iso文件,然后使用引导加载程序为每个.iso创建一个条目。你可以在这里找到添加条目到`/etc/grub.d/40_custom`的说明,这样它们就能在内核升级后保留下来。
请注意,“versions”并不意味着架构。您无需在32位和64位架构上进行测试,因此您只需要运行五个测试,而不是十个 :)

如果带宽成为问题,该怎么办呢?(下载额外的4个CD ISO文件几乎需要3GB的下载量。) - Nathan Osman
2@GeorgeEdison "雇"我来下载它,然后替你完成。:P - jrg
其实情况并不是太糟糕,因为我在某个服务器上运行着Lucid,另一台机器上有Natty,当然还有一个Oneiric虚拟机。这样只剩下Maverick和Hardy了。 - Nathan Osman
1@GeorgeEdison 如果你还没有Amazon Web Service(AWS)账户,你可以随时注册一个免费账户,并在微型实例中运行每个版本进行测试。微型实例和简单操作应该能够让你保持在“免费层”,避免产生任何费用。 - aquafunk