我有一个开源项目,它使用了几个免费库,其中FAR的最大内容是Zend Framework。
我应该:
1.使用Zend Framework发布我的申请
2.仅发布我的应用程序,并编写一个简短的教程,介绍如何使用我的应用程序安装ZF
3.我应该给两种选择(这是更多的工作,而且开源不会把面包带到我的桌子上......所以我确实需要一些时间来完成我的日常工作。)
答案 0 :(得分:2)
取决于“项目”是什么。
如果是应用程序,请捆绑它。
如果是图书馆,请不要。
编辑:详细说明:
在制作应用程序时,您通常不希望用户负担(或依赖)安装和升级到正确的库版本。此外,如果用户使用不同版本的库,则会使解决软件错误变得更加困难(例如,“如果通过PEAR安装,MyApp 1.0.6不能与SomeLib 2.3.5一起使用”)。您可能希望您的环境尽可能保持不变;甚至不同的PHP版本通常都很烦人。
制作库时,你不希望引起比绝对必要的副作用更多的副作用,并希望给它的用户(在这种情况下是开发人员)赋予所有权力。如果您的库需要SomeLib 2.3.5,但使用您的库的应用程序需要SomeLib 2.3.7,那么捆绑它可能会导致问题。
基本观点:图书馆用户在加入图书馆后会进行测试,安装后不会对用户进行测试。
答案 1 :(得分:1)
让潜在用户这样做。
包含ZF的链接,这应该足够了。对用户可能拥有的下载问题承担责任是完全没有意义的,除了你要为其他地方提供的东西支付带宽这一事实。与ZF保持同步的脖子也很痛苦,并且每隔几周左右就要检查一次版本。
根据您的描述,您的应用可能很大程度上依赖于Zend Framework,因此,我建议您向您的用户说明您的软件需要Zend Framework V XXX,以及其他任何可以从{ {3}}
为什么要让自己头疼?
答案 2 :(得分:1)
我认为你应该捆绑它,因为你可能让其他人为带宽codeplex付费而且sourceforge很好:)这也让用户生活更轻松。您也可以删除不需要的模块,使文件变小。
在第一次运行的应用程序中,它会检查是否存在所有文件并从Zends站点下载zend框架。在第一次运行时,您可以从http://framework.zend.com/releases/ZendFramework-1.7.8/ZendFramework-1.7.8-minimal.zip下载它并使用PHP函数解压缩并将其放在适当的文件夹中。这将是一个替代方案,需要花费一点时间,但会大大减少文件大小
答案 3 :(得分:0)
为什么不两者兼顾?
那些不知道ZF是什么或没有ZF的用户可以下载完整的软件包。