大学图书馆采访系统软件(beta版)测试及其相关的法律问题

   自上世纪80年代,供应商和大学图书馆采购部门之间的关系正在发生根本的变化,从传统的销售商/客户之间的关系转变为供应商开发的软件的测试关系。2000年以来,供应商开发了供应商/客户平台的测试软件,从根本上改变了图书供应、MARC记录的提供、电子清单和订购单的方法。本文详细探讨了与采访系统软件(beta版)测试相关的技术、管理、法律等方面的问题。
    有关大学图书馆采访系统软件(beta版)测试的文献报道非常少,关于这方面的法律问题也经常被忽略。如今,采访系统软件(beta版)测试已广泛应用于图书馆/供应商/连续出版物界,因此初步探讨一下有关在图书馆测试的供应商软件(beta版)测试的技术和管理方面的问题是非常有必要的。
    除了自己的内部自动测试外(即alpha版测试),供应商还会在图书馆采用beta版测试的方法来发现系统的漏洞和问题,以适合性能标准,保证新发布产品的稳定性,可达到以下的目标:
• 提高图书馆集成系统(ILS)或多数据库的检索结果;
• 在现有的操作平台上集成新的功能(如在ILS中增加ERM模块);
• 对新增的功能进行评价;
• 提高新产品的性能。
    这种基于用户个性化需求的(beta版)测试为供应商提供了很多相关的反馈信息,这样在新的软件发布之前有针对性地加以改进。
    1. Beta版测试之前的准备
    参与beta版测试对于供应商和图书馆来说,是双赢的,但双方在测试中所扮演的角色是不同的。供应商要考虑测试地点的数量、所需的成本、以及IT人员、行程、供给品、软件的费用在各测试点的分配,并制定严格的程序缺陷报告手续。而对于图书馆来说,软件(beta)测试会在某种程度上影响图书馆的业务运作。因此,在进行beta版测试之前,下述问题有必要弄清楚:
• 图书馆在战略上是否与该供应商及其产品继续合作?如果图书馆考虑更换供应商或者终止续订其产品,beta版测试就没有必要进行了。
• 即将进行beta版测试的产品是否在技术上领先于图书馆正在使用的产品?
• beta版测试的产品是否包含图书馆渴求的软件的核心元素?对于测试产品的理想结果应该是系统兼容性好、效率高、可操作性强、节约成本,能帮助图书馆提升服务水平,提高其运作能力。如果测试的产品不具备这样的竞争优势,那就没有必要参加测试。
• 供应商是否对beta版测试进行了周密的安排?其计划是什么?是否安排了与图书馆之间进行有效沟通的渠道,如电话、WebCT、电子邮件等等?在软件开发的初始阶段,是否和图书馆的相关人员协商过?
• 在beta版测试时,图书馆是否有自己的IT人员与供应商的技术人员协作沟通?答案应该是肯定的。如果图书馆缺乏IT人员,对IT部门增加beta版测试的任务会影响该部门的工作,使其运行情况变得很糟糕。
• 图书馆是否有足够的资源参与beta版测试?这些资源包括足够的人员、工作时间和基础设施(包括服务器上足够的存储空间、兼容的软件、高速的网络连接等等)。作为测试方,图书馆预计的测试总成本是多少?
• 参与测试的图书馆员是否有团队合作精神?如果他们不喜欢该供应商及其产品,那么他们参与测试的热情、耐心以及克服困难的勇气就值得怀疑。
• 图书馆员是否参加过beta版测试?过去参与beta版测试的经验(无论好与坏)都将帮助他们获得解决意想不到问题的能力,有时这些问题甚至能导致测试的失败。
• 图书馆是否有特别适合于beta版测试的政策和规定?有了这些相应的政策和规定,可避免相关人员发生变动的情况下,图书馆继续能全身心参与beta版测试。
• 图书馆是否清楚供应商对于beta版测试者的期望?
• 图书馆在软件(beta)测试中应该承担什么样的义务?
• 图书馆对于供应商的期望是什么?在签署软件(beta)测试的协议之前,是否向供应商对此进行过沟通?
• 软件(beta)测试对于图书馆的日常运作(如工作、人员安排,财政预算等)带来什么影响?
• 软件(beta)测试的时间表是否与图书馆的主要开放时间发生冲突?如果发生了冲突,图书馆能否重新修订软件(beta)测试的时间表?
• 是否有必要签署正式的合同?
• 供应商是否承认图书馆对软件(beta)测试所做的贡献?许多供应商都把图书馆当作新产品研发进行软件(beta)测试的场所。
以上的问题大多获得确定的回答后,权威部门的负责人(如图书馆馆长、学院院长、副校长等)会与供应商签署正式的软件(beta)测试协议。图书馆会指定专人作为软件(beta)测试时与供应商的联系人,在整个测试期间,他与供应商随时保持联络,出现问题时即时和供应商沟通,并将图书馆执行测试的情况即时向供应商报告。

    2. 软件(beta)软件(beta)测试的情况
    对供应商来说,利用图书馆进行软件(beta)测试是非常有必要的,其原因是:
• 从使用者的角度,图书馆可以为系统的设计提供有益的帮助,并可感知到系统所作的改进;
• 可测试出新性能/系统在内部测试时没有暴露出的问题。
由于目前图书馆使用了多个系统平台,需要实现这些平台之间的无缝连接。在操作过程中,很小的变化也会导致意想不到的严重后果(比如书目记录或电子清单供给的中断),这就需要供应商和图书馆要特别注意这些细节问题,在测试中发现问题并将它们解决。
    2.1  软件(beta)测试涉及的文件
    很少有人会签订软件(beta)测试的合同,Blackwell公司则是个例外。大多数情况下,供应商只是简单地发送给测试方(如图书馆)一份email,概要性地列举出测试内容、确切的测试时间、联系人姓名、反馈信息的方式。而Blackwell公司会与参加软件(beta)测试的图书馆签订正式的合同,促使双方为抵抗测试过程中出现的风险付出更大的努力。
    在软件(beta)测试中非常有用的文件还包括:启动测试的通知函和测试指南。前者是告知测试的正式启动并通知软件(beta)测试的站点。后者只是在针对某个特定领域的新功能进行测试时才会用到。测试报告、测试结束的正式通知以及感谢信也是软件(beta)测试所涉及的文件。测试中用到的通讯手段有邮件/传真,电子邮件或电话。博客由于其互动性及共享性,作为未来的通讯手段得到了开发研究。
    2.2  两个例子
    下面以Blackwell公司的两个新产品的软件(beta)测试为例,说明软件(beta)测试的情况。Blackwell公司开发的基于网络的采购系统Collection Manager™和分发系统(distribution system)在图书馆进行软件(beta)测试。在Collection Manager™的测试中,图书馆指定一名馆员作为与Blackwell公司的联络人,他与Blackwell公司的系统开发人员保持着联系,将系统使用中出现的问题以及需要改进的地方即时传达给了Blackwell公司,以改进系统的性能。在分发系统(distribution system)的测试中,Blackwell公司的联络人将反馈回来的问题与公司的各部门进行研究,将之修改后作为测试的结果上报。
    在以上两种测试环境下,能有世界各地各种规模的图书馆参与进来是非常理想的。由于不同的用户对于系统参数的要求以及测试环境(网络连接、浏览器的版本和图书馆系统)的不同,测试者的分散性是个问题。在与图书馆签订正式的合同以后,Blackwell公司还会给图书馆的指定联络人发送一份列有测试参数(预期的启动时间、测试周期、需要参与测试的内容)的电子邮件,图书馆的联络人会将这些信息分发给参与测试的各部门的相关人员,使他们尽早地了解系统的测试的新功能,并激发起他们参与开发这些新功能的热情。
    Blackwell公司的Collection Manager™系统测试和运行的风险很小,图书馆参与开发的系统运行的每一步遇到的问题都基本得到了解决。Blackwell公司在软件(beta)测试结束后可以确信新开发的系统功能是合理的、很有用的。
而分发系统(distribution system)的测试风险就很大,因为这种测试会影响图书馆采访工作从订购到图书处理到订单确认的所有流程。目前,供应商开发了具有许多新功能的系统,而一些功能则删除掉了。在Blackwell的分发系统进行测试的时候,其风险之一Blackwell公司要与参加测试的图书馆进行协商,对那些要删除的功能也要进行评估;其他的风险还包括图书馆的采访工作并不需要系统的某些功能,这些功能的设置反而增加了图书馆测试工作人员的负担。供应商已经意识到了系统的这些风险,在对系统进行操作和评价时,给出了更多的选择性,增加了系统的灵活性,满足了图书馆的需求。
    供应商和图书馆之间仍然依赖于个人的关系以及表面上默许的基于协议的商业关系。在许多情况下,他们之间并未建立基于合同的正规的商业关系。图书馆是否愿意参与软件(beta)测试和软件系统的开发,以及参与的程度,对供应商来说,都是一种巨大的压力。总的来说,软件(beta)测试对双方都是有益的。

    3. 软件测试的法律问题
    3.1 软件测试合同的主要内容
    软件测试合同的基本要素是:在合同中充分地阐述双方的意图;从法律和实际应用的角度保护双方的利益。由于软件(beta)测试的情况各不相同,因此需要拟订包含指南、答案和解决方案的详细的合同。通常包括以下基本内容:
• 需要开展什么工作?
• 谁来承担这些工作?
• 这些工作何时开始?如何进行?
• 由谁来支付这些工作的费用?何时、采用何种方式支付?
• 出现的风险能转移吗?
• 如果风险不能转移,是否能由保险公司来承担?
• 谁负责处理受伤事故?
• 如果双方有分歧,在合同中如何进行阐述?
• 如果有分歧,在何处进行解决?
• 如果有分歧,需要采取哪些法律?
• 开展这些工作是否有必需的担保?
• 是否有需要保密的信息?
• 是否能产生有商业价值的项目?
• 如果是,谁拥有这些项目?谁从中受益?是否双方能共享?
    3.2  需要开展什么工作?
    作为软件拥有者的供应商,必须在软件(beta)测试的合同中清楚地阐明图书馆需要承担的工作,使作为参与方的图书馆员对任务清楚明了,而不至于过高估计自己的能力,也就是说,图书馆的基本任务是执行测试工作,图书馆员要具有能承担测试工作的能力。是否有时间用于额外增加的工作/任务?在软件(beta)测试的合同中是否安排有相应的时间?
    3.3  测试中有风险吗?
    建议签订合同的双方应该预先假设测试中可能会遇到的最坏的情况,并在合同中尽可能地详细阐述清楚。考虑到这些最坏情况对双方是有好处的,因为这些情况很有可能会发生。在测试合同中写明这些“最坏的情况”合乎双方的利益,考虑到这些情况并尽量避免发生,可以避免双方发生不愉快的争端。测试时,如果图书馆员在联系的途中受伤了怎么办?已经被图书馆鉴定通过测试的软件后不工作了(或者情况更糟)怎么办?如果图书馆员有意或无意将软件的内容泄密给第三者怎么办?二者有何区别?
    3.4  在何处、如何解决分歧?
    假设遇到最坏的情况下,双方产生了分歧,该如何解决呢?如果合同双方在同一个州,事情的处理就很简单了;否则,双方可根据(州、联邦、国际)适用的法律条款进行讨论协商,可运用法律仲裁、调解手段来解决分歧。
    3.5  双方如何处理测试中产生的知识产权问题?
    由于软件(beta)测试合同中的每个方面都很重要,对双方来说,或许最重要的是有必要意识到、并保护测试软件的知识产权。对于图书馆方面来说,有必要清楚供应商测试软件的目的和要求,对软件的拥有者/开发者来说,保护软件的商业价值、特别是知识产权,更显重要。假设软件的拥有者/开发者出于商业或其它目的,对测试软件的进一步应用感兴趣,那么他就得在软件(beta)测试的各个阶段采取措施保护自己对该软件的所有权,不论他是否考虑获得专利或版权的保护。
为了保护知识产权,在签订合同时考虑软件的知识产权合乎双方的利益,以下的情况除外:
• 参与测试的双方仅仅是将软件用于实验检测,目的是为了改进和保护软件;
• 测试并非为了将来出售软件或软件所有权的永久转让;
• 要求软件(beta)测试的场所对测试的软件保密;
• 双方已经在软件的保密方面达成一致;
• 在特定的时间期限内进行并完成了软件(beta)测试;
• 在软件(beta)测试时保留了测试次数和测试过程的详细记录;
• 软件(beta)测试的场所要求向软件的拥有者/开发者出具进展报告;
• 软件的拥有者/开发者能完全掌控测试软件和整个软件(beta)测试过程。

    4. 结论
    通过上述的讨论可以看出,显然软件(beta)测试对图书馆和供应商是双赢的,签订相关的合同对于软件(beta)测试是非常重要的,这样的合同会牵涉到很多法律方面的问题。因此,参与测试的双方在签订合同时要充分考虑到各方面的情况以及双方的利益关系,并在合同中阐述清楚。

编译自: Sha LiZhang,Ted D.Ayres,Marguerite McNair,John H.Williams,Academic library beta testing of vendor system design and upgracle:legal aspects and checklists of best practice.Library Collections,Acquisitions,Technical Services,2007,31(1):25-41

编译  刘琼  浙江大学图书馆

审校  张鸣  武汉大学图书馆