前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机软件范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
计算机软件是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述,文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
计算机俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能,是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。计算机由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机,可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机等。
(来源:文章屋网 )
关键词:计算机软件;软件工程;维护策略
中图分类号:TP311文献标识码:A文章编号:1007-9599 (2012) 04-0000-02
软件产品的维护阶段是完全开发出来的软件在已经交付给用户之后,保证能在用户所接受的时间周期下正常且稳定的运行。软件维护是软件生命周期的最后阶段。开发软件的目的就是要提高软件产品的维护性能,尽可能降低软件在维护阶段的工作量,节约软件开发成本。维护软件所需工作量较大,据统计,较大型的软件维护成本是开发成本的四倍以上。国内外较大型软件开发公司把60%左右的工作量用于维护已经开发的软件。公司为了使软件的寿命更长,这方面的工作量会越来越高,软件的维护费用也在逐年增加,70年代维护软件的费用占开发软件总预算的37%左右,80年代提高为50%左右,到了90年代已经高达75%左右。因此降低软件维护的成本是软件开发过程中最重要的环节。
一、软件维护的分类
(一)改正性维护:诊断并纠正由于开发时测试环节的疏漏和运行中潜伏的错误以及开发时未能测试的错误。
(二)适应性维护:随着时间变化,相匹配的软硬件出现了更新,数据库,数据的存储格式可能会发生变化,为了适应变化环境而对软件的修正,使之兼容。
(三)完善性维护:为了能提高系统性能和扩充优化,改进运行效率,完善可视化界面,实现用户提出的建议和改进的要求。
(四)预防性维护:为了软件将来的前景,采用软件工程的方法对软件进行相适应的修改。
(五)其他维护:其中,改正性维护所占比例约为19%,适应性维护约为22%,完善性维护约为56%,预防性维护约为1%,其他维护占2%左右。
二、软件维护的影响因素
(一)人员变动:往往软件交付以后就要解散团队,人员会被分配到下一个开发团队中。当初开发的人员离开了团队,甚至后来修改该软件的人员也离开了团队或公司,会导致几乎已经没人彻底了解这个遗留的软件,造成软件彻底报废。这样也会给负责软件维护的新团队带来困扰,要花费更多精力,浪费了资金。
(二)用户要求:当初没有签订详细的合同和拟出详细的计划书,也没有和用户进行详细的沟通,导致开发人员认为合理的修改和更新不能满足用户的要求,成本增加。
(三)潜在错误:维护人员的改动可能会在软件中加入潜在的风险和错误,导致间接降低了软件的质量。本来是正确的地方,改过以后变成了错误,兼容性变得更差了。
(四)维护成本:维护成本已经大于开发一个新软件的成本或者大于预计的成本,维护价值下降。
(五)团队素质:签订系统维护的合同一般和签订系统开发的合同无直接关系。假设这个开发团队为了节约开发成本,不按照系统可维护性来设计,那么势必会增加维护团队的维护成本。软件开发时采用急功近利还是放眼未来的态度,对软件维护的影响很大。
(六)人员水平:一般公司认为维护软件不需要太多技术,不如开发软件声望好,分配能力较低的员工去做,也会增加维护的风险。
(七)文档同步:软件开发人员编码中不断修改需求和设计,但是文档却没有进行实时更新,造成交付的文档于实际软件出现偏差,使今后对软件进行维护时出现误解[1]。
同时,一些软件渗入了许多相关的公司业务知识,还需要有一定的相关工作经验,这类软件维护的成本会更高。目前软件维护系统的方法不完善,维护工作变得更加困难,意外的发生也会导致风险随之增加[2]。软件维护也会产生一些副作用,软件修改是一项很危险的工作,虽然设计文档化和回归测试有助于排除错误,但是仍然会产生副作用。副作用指,由于维护和维护过程中其他的一些不期望的行为引入的错误,分为:代码副作用,数据副作用,文档副作用。
(1)代码副作用:修改或删除子程序,语句符号,标示符。修改文件的open,close才做;修改逻辑操作符;修改对边界条件的测试等。
(2)数据副作用:全局常量和局部常量的再定义;修改全局数据;重新初始化控制标志和指针,重新排列I/O表或子程序参数表等。
(3)文档副作用:维护应该统一考虑整个软件的配置,而不仅仅是源代码。
三、维护工作量的模型
M=P+K*exp(c-d)
其中:M是维护需要的总工作量,P是生产性工作量,K是经验指数,c是复杂程度,d是维护人员对该软件的熟悉程度,该模型表明,如果软件的开发途径不好,开发人员不能参加维护工作,维护需要的总工作量和费用将以指数的形势增加[3]。
四、软件的可维护性
据统计维护源代码的总代价约为最初开发该源代码代价的25倍。因此在开发软件的过程中要提高软件的可维护性。软件要有一定的可理解性,要使用规范的编程结构,通俗易懂,良好简洁规范的程序设计语言可提高软件的可理解性。提高可维护性采用的方法有:确定质量管理目标和优先级,规范化程序设计风格,选择可维护性高的程序设计语言,改进程序文档,保证软件质量审查方法。软件要容易修改,耦合,内聚,局部化,信息隐藏等。软件要具备可测试性,在设计时就应该把软件设计成便于测试的,方便进行回归测试。现代软件工程可用程序复杂度来测量软件的可测试性。环形复杂度越高,可执行路径越多,测试难度便越大。另外程序应该具有一定的可移植性和可重用性。从用户的角度出发,可使用性尤为重要。一个可使用的程序应该是便于使用的,能允许用户出错和改变,并尽可能不使用户陷入迷惑状态的程序。在软件交付之前,要对软件再一次进行彻底审查,可避免交付给用户以后带来不必要的困惑,影响对软件的好感和对公司的信赖。软件维护的时间是有限度的,一般而言两年左右的免费服务时间,两年以后软件公司会推出更新的版本以适应用户在功能,性能,接口等方面所提出的新要求,软件厂商也会找到新的利润增长点。
五、软件维护的步骤
总体步骤:修改软件需求说明-修改软件设计-设计评审-重新编码-单元测试-集成测试-回归测试-确认测试-复审。
软件维护时要建立正式的维护团队,明确责任和分工,避免出现纠纷。要建立一份用户要求表格,要让用户全面详细地阐述发生的问题和错误,包括问题的类型,需要达到的目标,系统运行的环境,发生问题的日期等等。维护过程中要注意顺从原有代码的编码习惯,确保和谐。维护申请比较多,可分配优先级。修改前要做备份,改后要做测试,完成后要进行会议总结,汲取教训,分享经验。必要时还可以专门为该软件建立维护指南,使用手册,简要说明如何使用和维护这个软件。还可以建立参考手册,可以预示会发生出错的可能情况和错误代码相对应的含义以及解决的办法,注意要用形式化语言描述。维护完成时,可进行回归测试,测试顺利完成后方可交付。软件随着多次的维护和修改,其可维护性会变得越来越差,当可维护性降低到一定程度时,为了满足用户的要求再继续修改已经不可靠了,软件就会被抛弃,生命周期终止,失去了利用价值[4]。
六、软件维护的前景
目前据笔者了解到,软件维护相关人员较少,但是软件维护成本却占了软件开发中成本的大半,许多大型软件由于缺少维护导致失控而被抛弃。因此如果精通或掌握软件维护领域相关知识,能够熟练完成大型软件的维护如:ERP的日常维护,SQL数据库的维护,网页服务器的维护等等,不断改进完善软件,发展潜力很大。
七、结束语
软件维护是软件生命周期的最后阶段,也是最重要的阶段。笔者在所在的大连理工大学国家示范性软件学院进行过大量调查,很多本科生就没有养成良好的编码习惯,软件开发出来就万事大吉,软件维护基本不做,想学习和已经学习掌握维护方面知识的学生较少。对软件维护误认为只是枯燥无味,维护过程中还容易遭受挫折,没有什么前途。本文希望通过对软件维护的浅析使更多人了解软件维护的重要性,致力于提升软件产品的质量。
参考文献:
[1]吴杰明,张正.实用软件维护策略[J]..北方工业大学学报,2002,14,3:61-62
[2]Ian Sommerville.Software Engineering[M].第八版.北京:机械工业出版社,2004,4:305
[3]张海藩.软件工程导论[M].第五版.北京:清华大学出版社,2008,5:191
1对计算机软件系统进行维护和管理的有效方法
首先,应该给计算机软件系统一个良好、健康的系统运行环境。根据计算机软件系统的不同作用或者不同类别对其进行分类,尽量将相关的计算机软件系统归类到一个磁盘空间当中,方便对这些类似的计算机软件进行综合管理或者修改。在存放这些计算机软件系统的磁盘空间中,应该尽可能的保证磁盘拥有足够的使用空间,最好是让这些计算机软件系统能够单独的使用一个独立的区域,这样能够有效的提高计算机软件系统运行的效率,也能够方便计算机用户对其进行管理。
其次,使用合乎规则的方法对计算机软件系统进行合理的管理。第一,不要对计算机的系统文件进行随意的删除或者是修改操作。计算机的系统文件是计算机操作系统能够正常运行的重要基础,对计算机的系统文件进行随意的修改,很有可能会引起计算机操作系统的崩溃;第二,利用计算机注册表的编辑器对其拥有的部分功能进行人工的修改操作,这样可以将计算机系统的驱动器图标以及计算机控制面板中的一些相关功能单元隐藏起来,能够有效的预防计算机的系统文件受到非法的操作,再加上计算机操作系统升级程序的安装和使用,对于计算机软件系统的运行安全是十分有利的;第三,计算机软件系统在早期的时候一般都有较多的安全隐患,在对其进行使用的时候,一定要对其进行及时的更新或者是时不时的病毒检测,在确保安全之后才能够将其投入到使用当中。
最后,对计算机软件系统的安全维护工作应该加强。这就包括加强计算机病毒防御机制所能够产生的作用,加强对计算机系统权限方面的限制,加强计算机软件系统的防御设置以及加强对计算机软件系统的日常安全维护操作。
2结束语
关键词:计算机软件;插件技术;分析探讨
引言
计算机插件是一种根据预定义编写的一种程序,不仅解决了计算机集成问题,同时还提高了计算机内部软件的扩展性,已经成为计算机使用中不可缺少的技术之一,保证了计算机内部软件的顺利运行,满足了人们的现实需求。在科学技术不断发展的背景下,如何提高计算机插件技术的使用已经成为众多研究人员探讨的问题。
1插件技术概述
从当前使用的计算机软件应用状况来看,插件技术已经成为计算机中必不可少的技术之一,对完善计算机使用功能具有很大作用。1.1插件技术概念插件是一种按照统一接口规范编写的一种程序。计算机内部的应用程序在实际运用中,会利用接口插件规范其操作,主要目的是扩展并规范计算机内部程序应用功能。扩展程序功能已经成为计算机应用中比较有特色的地方。计算机软件开发商在实际开发中,可以利用插件扩展计算机内部功能,不需要重新编写程序。简而言之,软件开发商可以通过开发插件完成软件功能拓展,不需要重新进行程序编写,只需要在原有基础上更新程序代码。完成以上操作后,再进行翻译与整理,实现了计算机更新的目的。1.2插件技术程序功能分析计算机内部很多软件中应用的插件技术都是以软件程序为基础进行软件功能扩展和更新的。简而言之,软件开发商进行软件开发时,只有公布软件接口,公司或开发商就可以在满足自己需求的基础上,对软件功能及插件进行完善。同时在软件开放角度分析,软件平台与插件都是软件开发中比较重要的一部分。平台是软件开发主体,插件是补充板块,只有在软件开发中,将两者融合在一起,才能进入新的软件开发阶段,促进计算机软件的应用和发展。
2计算机内部插件技术的原理与类型
2.1计算机软件中插件技术的应用原理为了了解计算机插件原理,在实际分析中可以从以下几方面进行探索:(1)接口分析。接口是内部相应操作与外部沟通的主要方法,同时还在宿主程序与插件之间起连接作用,可以将其理解为一种间接的沟通手段。接口的主要功能就是实现语言与实体之间的翻译。同时,只要给相应的宿主程提供合适的宿主程序,就可以有效的识别宿主,更好的完成宿程序等各项功能的拓展。(2)动态链接库分析。动态链接库中包含很多程序,但这些程序都不能执行文件所使用的代码或数据库。在实际使用中,必须根据计算机实际情况选择插件类型,提高计算机软件系统的运行效率。除此之外,动态链路还可以提供出一种操作方法,使用该种操作方法完成代码函数的调用。(3)宿主程序方面。宿主程序主要利用可执行文件展现,而且属于服务性的插件系统中使用最广泛的系统。宿主程序还会进行相应的管理。计算机插件技术种类较多,在实际使用中,插件技术也不相同,所以在实际使用中必须根据计算机特点选择插件数,促进计算机软件系统的运行。(4)插件技术。插件是计算机软件系统中比较重要的一部分,可以给系统相应部分提供一些简单的功能,促进了系统功能的完善。2.2计算机软件中插件技术的几种应用类型(1)类似批命令的插件类型类似批命令是计算机中应用较广的插件类型。该种插件的主要特点就是自由度较低,已经成为计算机WinAmp、WinHacker系统中较常用的系统。一般一些安装类型批命令完成后,计算机软件用户可以根据自己的实际需求,利用输入命令代码方式,根据系统内部的相应程序规定,将计算机控制在正常运行中。类似批命令还具有一些单一功能,可以以文本文件形式存在,扩展性较小,而且该种插件对环境要求较低,结构较简单,一些非专业人员完全可以完成操作。(2)利用程序开发环境完成开发工作例如,将插件技术应用到PhotoShop软件中。进行程序主体构建中,可以借助应用程序完成开发工作,然后设置接口,并在运用软件系统的过程访问资源插件。该类插件技术在实际使用中具有自由度较大的优势,控制还可以在插件制作中发挥创意。但其也存在一定的缺陷,程序编写较困难,对接口协调性要求较高,必须由专业人员完成操作。(3)利用特殊性质的脚本语言完成插件使用脚本语言完成插件制作具有很大难度,软件开发人员必须使用自制程序解释内核,而且在插件完成中,还要Office办公软件辅佐完成工作,该软件的优势就是利用其他方式进行插件制作,使用该软件就可以完成软件工作,已经广泛应用到很多办公自动化操作中。
3计算机插件技术的是以应用状况
3.1分析插件技术的具体功能使用插件技术可以加强程序主体基础,并扩展计算机软件具体功能。插件技术一般公开接口,个人及公司就可以增加并修改其的功能,解决了实际使用中存在的问题,全面实现软件开发的功能。为了保证软件设计中实现平台与插件+插件结构,必须使用相应的标准定义接口。一方面及实现了平台扩展接口的功能,同时还可以完全发挥插件的功能。进行标准接口处理时应该注意,平台接口扩展主要由用平成,插件主要起到使用和调用功能,可以使用插件完成接口处理,发挥出平台的调用与使用功能。扩展平台接口可以实现插件网平台发送的单向通信,包含程序内部数据、内存分配等方面,计算机平台可以根据实际使用完成读取数据、处理插件等操作,实现了拓展平台接口等基本功能。3.2插件系统结构的实现经过对计算机应用插件技术分析可知,实现程序插件是当前插件系统面临的主要问题。一方面可以使用COM方式实现理论;另一方面可以利用传统DLL方法完成。DLL方法是一种以函数为接口规范,利用插件DLL引出函数,并使用平成。COM方式主要以COM为接口孤帆,插件为COM组件,可以使用COM解决跨进程和跨平台等操作,是一种相对先进的实现方式。3.3服务器中应用插件技术功能在计算机服务器中应用插件技术可以将其作为高层次的技术,在应用该种技术时,可以将其封装为比较高层次的中间技术进行处理。将插件应用到商务及服务器中时,可以将其作为相关机构进行处理,同时还可以在软件访问中提供访问消息、安全访问与名字访问等操作,另外还提高了运行、管理、开放等方面的工作效率,还减少了电子商务周期与成本。3.4插件技术的实际调用(1)平台内核启动系统时,会给插件管理模块发出通知,完成所有插件加载。(2)利用特定机制完成插件管理模块录制,再进行成插件文件的全面搜索,获取相应的信息。(3)插件获取后无法配置信息或版本,必须进行过滤处理,保证其合法性。(4)插件管理模块可以在插件合法平台上完成加载,同时在人机界面完成安装并调用动态生成机制,主要进行菜单选项与工具栏等操作。(5)计算机用户使用业务分析并完成插件选择轴,必须积极做好配置参数操作,主要完善初始化操作。
4结束语
计算机插件是计算机中比较重要的软件程序,在日常使用中主要借鉴了硬件思想,符合应用规范,而且该种技术在应用中的最大优点就是可以完成软件更新操作,不需要重新对整个系统进行翻译,降低了软件开发成本,符合计算机使用者需求。
参考文献:
[1]熊英.计算机软件中的插件技术[J].技术与市场,2011.
[2]陈国栋.试谈计算机软件中的插件技术[J].电脑编程技巧与维护,2010.
[3]周士华.浅析插件技术在软件中应用[J].数字技术与应用,2012.
[4]王娜.计算机软件中的插件技术浅析[J].黑龙江科技信息,2010.
[5]彭辽辽.计算机软件中的插件技术浅析[J].科技致富向导,2013.
法律保护模式的选择问题无疑也是一种法律制度的选择,自上一世纪三十年代科斯的《企业的性质》一文发表以来,新制度经济学已获得了很大的发展,成为经济学中的显学。虽然它不过是经济学的一个分支,研究结论也并非无可指摘,但是它无疑为我们选择一种制度(法律保护模式)提供了一些法律背后的分析因素,对法律保护模式的选择不无意义。其中制度影响理论家A.爱伦。斯密特的SSP分析范式对我们借鉴意义最大,他的分析范式包括三个部分:状态(Situation),是指个人、团体和物品的特性(状态),其中物品的特性包括非相容性使用、规模经济、共享性、排他性、占先性、交易成本、剩余以及波动性供求等,其中重点是物品的特性;结构(Structure),是指权利结构,它代表着一个社会的游戏规则;绩效(Performance),是指财富在不同人之间的分配。状态是分析的出发点,它是影响制度绩效的最重要的因素[3].在制度设计与影响理论中,A.爱伦。斯密特把物品的状态放到了前所未有的地位。另根据法学理论,民事权利客体在民事法律关系甚至整个民法中都是很重要的。我国学者认为,客体在民事法律关系中居于重要地位,没有客体,主体的权利义务就丧失了客观依据,成了空中楼阁;而且主体不同,也往往会使民事法律关系的性质和内容发生变化[4].在谈论知识产权的客体时,刘春田教授指出:对象的自然属性的差别是导致法律关系不同的决定因素。民事权利中的财产权之所以区分为物权、债权和知识产权,正是由于它们各自对象的自然属性即存在方式的差异所致。物权的对象为物,债权的对象是行为,知识产权的对象则是以“形式”为存在方式的知识[5].在谈到物权的客体物时,我国学者指出:物的概念之所以重要,因为它在权利的建构中起着“支点”的作用。这个“支点”作用可以简单地表述为:一种法律所建构的权利,其内容取决于与此行为相关联的物。反过来表述就是:物决定行为的内容,行为的内容则决定权利的内容[6].以上经济学与法学学者的看法可以说是不谋而合。本文主要借鉴了新制度经济学的一些研究成果和方法并结合法学理论对计算机软件法律保护模式进行研究。因此本文首先对计算机软件法律保护问题及其模式的产生与发展进行了简要回顾,接着采用新制度经济学和法学的研究方法与成果,分析了计算机软件法律保护的现行法律框架下的可能的著作权模式和专利权模式,然后研究了计算机软件的特点并把其与作品与发明进行了比较,得出了计算机软件法律保护模式的选择结果,最后对计算机软件法律保护制度进行了初步设计。
一、计算机软件法律保护问题的产生及法律保护的理论与实践
计算机软件法律保护问题的产生原因与发展史无疑对探讨计算机软件法律保护模式具有重要意义,因此我们必须首先研究计算机软件法律保护问题的产生过程以及计算机软件的法律保护史。从历史眼光来看,计算机软件法律保护是计算机技术尤其是软件技术发展和计算机软件产业化的结果。计算机技术包括计算机硬件技术和计算机软件技术,软件技术与硬件技术共同构成并决定着计算机技术的发展。虽然计算机软件技术是在硬件技术基础上并以其为前提发展起来的,但是随着计算机技术的进一步发展,计算机软件技术就不仅仅只是被决定因素。硬件技术使计算机的功能空前强大,需要软件技术去实现。因此计算机软件技术在计算机技术中的比重越来越大,软件技术越来越重要,计算机软件与硬件技术成为了既互相制约又互相相对独立的关系。计算机软件产业化及软件技术逐步相对独立导致了计算机软件法律保护问题的产生。
早在现代计算机产生之前人类的计算技术至少已经发展了近两千年,此过程中曾经产生了算筹、珠算盘、计算尺以及初具现代计算机模型的手工的和自动的机械式计算机、数字式自动计算机。但是直到1941年德国工程师朱斯(K.Zuse)历时七年研制成功的Z-3计算机才才产生了世界上真正的第一台通用程序控制计算机,而至1946年埃克特和莫克利历时三年研制成功的ENIAC的诞生产生了世界上第一台通用电子计算机,标志着现代计算机的产生。虽然自从人类最早的计算工具算筹产生也就同时产生了计算软件。如春秋时期就已经很流行的乘法“九九”口诀,此后制定的多位乘法、除法、开平方法、解多元一次方程组的计算程序、重因法、身外加减法、求一法等以歌诀形式出现的乘除捷算法等等。但是计算工具的软件和计算机软、硬件的出现并没有马上导致计算机软件的法律保护问题,因为此时不仅计算机软件而且整个计算机领域还远没有达到产业化的程度,而所存在的问题也只不过是如何继续开发计算机硬件技术从而提高计算机总体性能的问题,计算机产业还远没有建立,计算机软件也还远没有任何独立及产业化的迹象,计算机软件的法律保护问题也就不可能被提上日程。
直到二十世纪五十年代,计算机开始产业化的进程。1952年,IBM公司推出第一个批量生产计算机IBM701.其后IBM公司又开发出IBM650这种价格比较便宜的小型机,最后销量超过了一千台。至五十年代末,整个美国计算机年生产量已经达到上千台。但是直到此时,计算机也基本上仍然局限在政府的军事部门以及少量的研究机构,还远没有为社会大众所熟悉,至1962年,美国的总计算机数也不过刚超过万台。直到五十年代末六十年代初,由于晶体管计算机的研制成功,计算机进入了第二代。IBM公司采用在继承的基础上改进的策略成为计算机发展史上的重要事件,这种策略使IBM公司的计算机生产形成了计算机族,不仅缩短了新机器的研制周期,降低了生产成本,也实现了程序兼容,方便了新机器的使用。此后很多计算机厂商纷纷效仿,从而使计算机迅速走上产业化发展的道路。1964年IBM公司更是投资50亿美元开发IBM360系统,由于它具有通用化、系列化和标准化的特点,性能价格比高,取得了很大的成功,到1970年7月1日止共销售了三万二千三百台,为计算机的产业化作出了巨大的贡献。
随着计算机硬件技术的发展,计算机软件也取得了很大的进步,高级程序语言、操作系统、应用软件均取得了很大的成功。随着计算机应用的不断发展,计算机软件也日积月累,形成了极为宝贵的知识资源,它的价值已超过了计算机硬件本身,甚至可以说,计算机软件才是计算机系统的真正的价值之所在。1959年美国出现了第一家独立的软件公司,开始了软件产业的建立过程。1966-1968年间日、德、英等国也相继开始了自己的软件产业的的建立。1969年6月IBM公司率先宣布实行“价格分离”政策,决定从1970年1月1日起实行软件与硬件价格分开计算,应用软件和语言处理程序要单独收费,但操作系统仍和硬件一起收费。此后,世界上的主要的计算机公司纷纷效法,不仅软件单独计价出售,其他计算机服务经营项目(如系统分析与设计、咨询、培训等)也单独计价,使软件业和计算机服务业的形成和发展迈出了关键的一步[7].从此设计与生产计算机软件的产业才与制造计算机硬件的产业分开,计算机软件技术逐渐走在相对独立的发展道路上,计算机软件也已实现了产业化。也正是在此时,计算机软件的法律保护问题才成为急迫的问题被提上议事日程。德利娅。利普希克指出:虽然自1964年起IBM360的问世使得计算机的使用开始普及,但是那时侯,计算机(硬件)和为满足用户需要而编制的程序和使用手册(软件)是一并出售的,当时由于程序被看作是计算机的组成部分并受到工业产权的保护,所以尚未提出程序的保护问题。但是不久人们逐渐抛弃了那种把与计算机相连的程序商品化的做法,因此两个市场建立起来了,因而必须保证程序受到独立的和充分的法律保护[8].
计算机软件法律保护问题被实践提出来了,于是,人们提出了各种各样的计算机软件法律保护建议与方案,进行了计算机软件保护立法。有代表性的建议或方案有:①六十年代联邦德国奥尔施莱格(H.?hlschlegel)和美国学者加尔比(E.Galbi)的注册保护建议方案。②1968年英国学者森汉(D.A.Senhenn)提出的版权法模式。③世界知识产权组织关于保护计算机软件的结合了商业秘密法、专利法、著作权法甚至反不正当竞争法的混合方案。④1984年美国国际商用机器公司提供给我国的关于暂行以版权法保护计算机软件的建议。⑤1984年日本通产省提出的关于制定新的法律-程序权法的建议。⑥1986年德国知识产权法学家迪茨博士(Dr.A.Dietz)提出的保护计算机软件的邻接权模式建议。⑦经济合作与发展组织的保护计算机软件中的数据的数据保护准则[9].这些保护计算机软件的建议在世界各国以及国际公约中取得了一定的成果-世界各国以及国际公约的法律保护模式。
1972年菲律宾率先把计算机软件列为版权的保护对象,其后美国于1980年、英国、法国、联邦德国、日本等于1985年相继修订版权法把计算机软件纳入版权保护对象中。时至今日,总体而言,世界各国的计算机软件保护模式基本上是版权法模式,如世界各主要发达国家美国、英国、法国、德国、加拿大、日本、澳大利亚等国的立法以及发展中国家的匈牙利、印度、菲律宾、我国台湾省、新加坡等国家和地区的立法,当然在这些国家的立法中有些国家明确排除了专利法对计算机软件的保护,如英国法等,也有一些国家同时承认专利法对计算机软件的保护,如美国法、西班牙法和匈牙利法等。同时也有一些国家采用的专门法的模式,如保加利亚和韩国的计算机软件保护模式[10].在国际公约方面,1994年世界贸易组织的《与贸易有关的知识产权协议》第十条即是计算机程序与数据的汇编,从而正式把计算机软件纳入了知识产权国际公约中;1996年的《世界知识产权组织版权条约》第四、第五条分别规定了计算机程序和数据汇编(数据库),并且把计算机软件与著作权领域影响最大的《伯尔尼公约》联系了起来,虽然该公约至今尚未生效,但无疑它是计算机软件国际保护的进一步发展。
从以上计算机软件法律保护的理论与立法的演变尤其是立法实践来看,著作权法模式已经是当前的主流,但是计算机软件的著作权保护模式的发展也不是一帆风顺的,反对的呼声也从未停止,著作权专家强调指出计算机程序没有文学艺术作品的特点。不过七十年代上半叶德国教授欧根。乌尔默为教科文组织和世界知识产权组织发表的研究报告产生了重要影响,欧根。乌尔默在比较了将程序输入计算机和固定作品的过程进行了比较,最后得出计算机程序可以受著作权保护的结论。于是1972年菲律宾,1980年美国将计算机程序纳入著作权保护[11].此后世界大多数国家也逐渐采用著作权保护计算机软件,直至1994年的《与贸易有关的知识产权协议》与和1996年的《世界知识产权组织版权条约》著作权模式被国际公约所采用。但是计算机软件的著作权保护模式确立的支持与反对意见似乎同样的多。批评大体有:①人不能直接识别计算机程序,它主要属于实用而不是美学范围;②著作权不保护思想,计算机程序应受专利权保护;③应当保护的是计算机程序的内容而不是其正式表现形式,后者才属于著作权范围;④保护期限太长,不适用计算机程序;⑤发展中国家的发展问题;⑥用户应有备用拷贝,著作权法没有规定这一可能性;⑦会歪曲著作权制度。支持意见有:①专利权也同样不保护思想,思想也不应受保护,而且著作权保护内容;②实用而非美学并不表示计算机软件不能受著作权保护;③发展中国家也同样要保护计算机软件,否则也会影响其本国的软件产业;④著作权的不用履行手续是其最大的优点[12].
实质看来,无论支持还是反对意见,几乎均是从专利权与著作权比较角度来说的。人们之所以如此,原因大概在于,只有把计算机软件的法律保护纳入既定的已经成熟的框架内才能更快更有效,因为寻求与建立全新的计算机软件保护模式是需要花大量的时间的,这是不符合主导当前世界事物的各个发达国家,尤其是美国的利益的。无怪乎美国贸易代表在乌拉圭回合之前威胁说如果新一轮贸易谈判不包括知识产权、投资和服务贸易,美国就拒绝参加。此后美国还动用“特殊301条款”对其他国家进行威胁[13].可以说,《与贸易有关的知识产权协议》的签定美国功不可没,因为很多国家包括我国都是在美国的强烈要求下加快了自己的知识产权立法步伐。计算机软件的法律保护亦莫不如此。尤其是澳大利亚以版权法保护计算机软件的法律修订过程极其短促,从开始考虑到法律生效不到半年时间。其直接导因可以说是美国苹果公司的诉讼,而更深的原因或许是美国的压力[14].虽然日本理论与实务界原来就有专利权与著作权模式之争,但是日本采用著作权模式与美日贸易摩擦以及美国的压力不无关系[15].现行的计算机软件法律保护的著作权模式对于保护计算机软件,促进计算机软件产业的发展功不可没,但是短视与实际利益以及计算机软件超级大国的骄横使得计算机软件的法律保护模式的选择被局限于现行的比较成熟的已有的法律框架内,而眼光局限于此所选择的计算机软件法律保护模式的科学性与质量也就不可能不大打折扣。因此我们有必要在仔细评价现行模式并比较各种可能的模式的基础上选择出最科学的计算机软件法律保护模式。
二、法律保护模式分析:著作权模式与专利权模式
根据制度经济学和法与经济学的研究,物品的状态对制度设计与选择具有决定作用[16].反过来,制度设计与选择也一定要与物品的状态相协调。因此,我们的研究不仅要分析制度的结构,而且也要分析制度所调整的领域的物品的状态。前述的法学的研究也表明,权利客体的性质特点对于法律关系与法律制度也具有决定性的影响。因此,为了分析比较著作权模式与专利权模式并且探讨计算机软件适合于用什么模式来保护,我们需要既分析这两种法律的制度结构,也需要研究两种制度所调整领域的物品的状态(即权利客体,下同),并且研究这两种法律保护模式所保护的对象的状态是否与计算机软件的状态相同。如果与著作权模式所保护的对象作品的状态相同则计算机软件应采用著作权模式,如果与专利权模式所保护的对象发明的状态相同则计算机软件应采用专利权模式,如果均不相同,则应探讨计算机软件的专门法保护。在著作权模式成为计算机软件法律保护的主流模式的过程中至今人们已经提出了各种各样的计算机软件法律保护模式,可以说传统的知识产权法领域几乎均被涉及。虽然至今著作权模式已经成为主流,但它并非不可动摇。而且立法上的优势并不总能证明方案的科学性,计算机软件法律保护模式还有探讨的余地。因此本部分就研究各种主要的模式,从这些可能的法律保护模式的保护对象特点及调整要求、功能、价值取向、效率等角度对它们进行分析。本文认为,现今已经成为主流的著作权模式、专利权模式、以及独立的专门立法模式是三种主要的可能的基本模式。至于其他法律,商业秘密法不利于计算机软件的公开、传播与应用,反不正当竞争法基本上是一种防卫性的法律,很少给予积极权利,也不利于计算机软件的充分保护,侵权行为法则主要与其他权利法如物权、债权以及传统的知识产权等相对应,是所有民事权利的共同的保护手段,即便在制定了专门法或者选定了正式的保护模式之后也仍将在计算机软件法律保护方面起重要作用。因此,这些法律虽然在计算机软件法律保护方面不可或缺,但是却或者本身不足以作为计算机软件的法律保护模式,或者不能象传统民法一样对当事人赋予正面的权利,不足以作为计算机软件的主要法律保护手段。至于专门立法模式虽然也是可能的选择,但它是人们根据不同的目的从自己的角度设计的,没有一定之规;而且如果传统的保护模式已经足够,我们就没有必要再另辟奚迳。只有传统模式不足以保护计算机软件时我们才有必要研究与设计专门的立法。因此本部分将分析属于传统知识产权法领域的著作权模式和专利权模式的制度结构及其特点和这两种模式所保护的物品的特性。
(一)专利权法与著作权法所保护的物品的状态(特点)。专利权与著作权的保护对象分别是发明与作品,它们是决定制度的最重要的因素。那么发明与作品有什么区别呢?日本学者指出了发明与作品的两点区别:首先,作品是对人的思想、情感的表现,是人格的体现物,其中反映了个性,孕育着无限表现上的可能性,不存在模仿他人作品的必然性。因此著作权法保护的作品必须是表现独立个性的作品。而与此相反,发明是一种技术,技术与作品所属的艺术领域相比,本质上没有个性,是客观的,一旦作出发明,任何人沿着该思路实验,均可以得到相同的结果,是一个收缩的世界;其次,正由于作品与发明的以上的特点,作品的价值不存在绝对的标准,一般而言无法对其经济价值进行衡量。而发明则不然,进行价值(效果、效用)判断是可能的,可以用是否速度更快、更耐久、更能以低价格被生产或生产这种标准去衡量[17].除此之外,应该还有一些区别:首先,虽然没有具体统计数字,但不可否认的是从作品的经济价值上,一部作品的价值相对来说一般既难以衡量,而且也要比一项发明低,并且发明的价值是很容易被估价的;其次,作品的数量是发明的数量所远远不能比的,因为任何人均可能搞出作品,但却没有几个人拥有发明,尤其是狭义上的发明。即便是发明的标准再降低一些,发明的数量也不会比作品多。这是由作品表现的多样性和发明的客观性所决定的;第三,作品的价值相差较大,普通人的作品可能一文不值,名家的手笔则可能价值千金。而发明的价值则差不了这么多。这也是由作品表现的多样性和发明的客观性所决定的。第四,人们创造的动机也有所不同,创作作品目的主要在于表达自己的思想与情感,而创造发明虽然一定程度上也能体现人的人格,但主要目的无疑是为了经济考虑。当然这几点均是相对而言的,并非绝对,但是其区别却是有价值的,它们可能影响制度的设计。
另外,从功能上来看发明的主要功能是为产业发展做贡献,主要推动人类物质文明的进步,而作品的主要功能则主要是为文化发展做贡献,主要推动人类的精神文明的进步。
(二)著作权模式与专利权模式的制度结构及特点。从保护对象上,著作权法保护的对象是文学艺术和科学作品,专利法保护的是发明[18],作品是人的思想或情感的表现,大体而言作品可以分为科学作品(如学术论文、产品设计图纸等)和艺术作品(如小说、戏剧、美术、雕塑等)两大类,而发明按照日本专利法的规定则是指利用自然规律的技术构思的高度创造,一般包括狭义的发明与实用新型,有的国家还包括外观设计;从保护条件上,著作权法对作品的条件要求是具备独创性,在有形介质上固定是有些国家的要求,而专利法对发明的要求是具备新颖性、创造性[19]与实用性,并且比较具体而严格;从权利的内容上,著作权除包括财产权外,还包括精神权利,而专利权则基本上是一种财产权;从保护的绝对性上,著作权法对作品的保护的独占性要比专利法弱,即他人如果碰巧创作出完全同样的作品,只要其是独立创作的,则也会受著作权法保护,而专利法则保护唯一的发明,其他人尽管是独立作出的,只要是同一发明,也不能使用,更不能享有专利权;从权利取得上,著作权的取得不象专利权那样要求有严格的手续,其权利是自创作完成起自动取得,而且其权利维持也不需要象专利权的维持一样支付维持费;从保护期上,著作权的保护期要比专利权的保护期长得多;从权利限制上,专利权一般适用于强制许可,而著作权则一般不适用于强制许可;从制度功能上来看,专利法有着促进公开的作用,而著作权法则不具这种作用,因此专利法更加有利于技术的传播与应用,而著作权法对作品的传播与应用似乎采用了一种中立的立场。
从法律的制度结构上看,专利权与著作权在保护对象、保护条件、权利的内容、保护的绝对性、权利取得、保护期、权利限制等方面有着不同的制度安排与设计,这些制度安排与设计的不同使得专利权模式与著作权模式在功能、价值取向、效率[20]等方面均有所不同:在功能与价值取向上,专利法以刺激更加优秀的技术的开发(与公开-笔者)为手段,达到促进产业发达的目的,与此相反,著作权法以发展多样性的文化为目的,不过分考虑产业政策[21];在制度效率上,专利法需要登记和权利维持费,制度的交易成本较高,适宜于价值较高的物品,而著作权法则相反[22].
专利权模式与著作权模式所调整的物品的状态的不同决定了其在制度安排与设计以及两种模式在功能、价值取向、效率[23]等方面的不同,专利权模式与著作权模式在制度安排与设计以及两种模式在功能、价值取向、效率[24]等方面的不同则一定程度上反映了其所调整的物品的状态的不同。
总的说来,作品的多样性、价值的不确定性与差异性、创造的表达动机等方面的特点与著作权法的独占性较弱、较长的保护期、规定精神权利的制度设计相适应,而发明的客观性、价值的可衡量性以及创造的经济与产业动机则决定了其较强的独占性、较短的保护期、促进公开与基本不规定精神权利的制度设计;价值的不确定性与差异性以及价值相对较低决定了著作权采用交易费用较低的简单的自动取得的核证权利的方式,而价值的确定性以及价值相对较大也与专利法对发明采用较为严格的确立和核证权利的方法相适应。另外,著作权法的著作权的较弱的独占性与较长的保护期和专利法的专利权的较强的独占性与较短的保护期也是各得其所。从这里的分析我们可以看到,著作权法是根据作品的特点而设计的,作品是适宜于著作权法的保护的,而专利法则是根据发明的特点而设计的,发明也与专利法相适应。计算机软件究竟是采用著作权模式、专利权模式还是专门法模式则与计算机软件本身的性质有着极其密切的联系。如果计算机软件与作品的性质相近,则计算机软件的法律保护模式就应采用著作权模式;而如果计算机软件与发明的性质相近,则计算机软件的法律保护模式就应采用专利权模式;如果均不相近或差别较大,则计算机软件就既不能采用著作权模式,也不应采用专利权模式,而是应设计适合于计算机软件本身性质的专门的法律保护模式。那么计算机软件的性质又怎么样呢?这就是我们下一个问题所要研究的。
三、计算机软件的性质、特点、法律调整要求与法律保护模式选择
关于计算机软件的性质,研究者并不多,科学工作者可能不屑于研究或认为没必要,而法律工作者则缺乏科学知识,对计算机软件这种技术性的东西也比较头痛。
根据《中国大百科全书》的解释,计算机软件是指计算机系统中的程序和有关的文件。程序是计算任务的处理对象和处理规则的描述;文件是为了便于了解程序所需的资料说明[25].《计算机发展简史》认为,所谓计算机软件,是指使用计算机和发展计算机效率的一套程序系统和文件。它包括计算机各种语言、汇编程序与编译程序、诊断程序、管理程序与操作系统、数据库管理系统、应用程序、各种维护和使用手册、程序说明和框图等。软件是用户和计算机硬件之间的接口与桥梁[26].
以上是计算机科学领域内人们对计算机软件的看法。同时法律界人士对计算机也有看法。世界知识产权组织《保护计算机软件示范法条》对计算机软件的定义是,计算机软件是程序以及解释和指导使用程序的文档的总和。具体讲,软件应包括:(1)程序,即具有某种功能的指令系统,亦即化为计算机可辨认的文字之后,能够使计算机处理信息的、体现一定功能的、解决一定问题或产生出其他结果的指令;(2)程序说明书;即通过文字、图表或其他表达形式对程序所作的详细说明;(3)辅助材料(也称为“支持材料”),即(1)、(2)两项中所不包括、但又在应用有关程序时必不可少的指导文件。我国《计算机软件保护条例》(1991)第二条对计算机软件所下定义是,“计算机程序及其有关文档。”其计算机程序是指“为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。计算机程序包括源程序和目标程序。同一程序的源文本和目标文本应当视为同一作品。”其文档是指“用自然语言或者形式化语言所编写的文字资料和图表,用来描述程序的内容、组成、设计、功能规格、开况、测试结果及使用方法,如程序设计说明书、流程图、用户手册等。”
可见,各个领域的人们均认为,计算机软件基本上可以分为两大类,即计算机程序与解释说明计算机程序的其他文件(档)。
根据《中国大百科全书》的解释,程序是计算任务的处理对象和处理规则的描述。任何以计算机为处理工具的任务都是计算任务。处理对象是数据,如数字、文字和图像等。处理规则一般指处理动作的步骤。在低级语言中,程序是一组指令和有关的数据。在高级语言中,程序一般是一组说明和语句。程序是软件中最基本的概念。程序是软件的本体,又是软件的研究对象。程序的质量决定软件的质量。程序可以分为程式、子程式、子程序、协同程式、递归程式和模块。
文件是与软件研制、维护和使用有关的资料,通常可以长久保存,是软件的重要组成部分。在软件产品研制过程中,以书面形式固定下来的用户需求、在研制周期中各阶段产生的规格说明、研究人员作出的决策及其依据、遗留问题和进一步改进的方向,以及最终产品的使用手册和操作说明等,都记录在各种形式的文件中。文件是是软件中另一组成部分-程序的解释和说明,是对研制过程进行管理的重要手段,它是使用、理解和维护软件所不可缺少的重要资料。
除了把计算机软件分为计算机程序与文件外,《中国大百科全书》还按照应用和虚拟机的观点,把软件分为系统软件、支援软件和应用软件三类。其中系统软件又包括编译程序和操作系统等。支援软件又主要包括环境数据库、各种接口软件和工具组,三者形成整体,协同支援其他软件的编制;应用软件的种类就更多了,无法列举。除了上述分类众多复杂外,而且这种分类也不是绝对的,而是互相交叉和变化的。有些软件如编译程序和操作系统,既可看作是系统软件,又可看作是支援软件。它们在一个系统中是系统软件,而在另一个系统中却是支援软件。也可以在同一系统中既是系统软件,又是支援软件。系统软件和应用软件之间也有类似情况。有的软件如数据库管理系统、网络软件和图形软件,原来算作应用软件,后来又被看作为系统软件。而且系统软件、支援软件和应用软件三者的编制技术基本相同。因此,这三者既有分工,又有结合,并不截然分开[27].
我国在《计算机软件著作权登记中使用的软件分类编码指南》中将软件分成三大类,即系统软件、支持软件和应用软件,其下又细分为30个小类,如支持软件包括软件开发工具、软件评测工具、界面工具、转换工具、软件管理工具、语言处理程序、数据库管理系统、网络支持软件、其他支持软件等。这种分类方法是以软件的功能划分标准的,是最常见的软件分类方法。
从科学与法律领域人们对计算机软件的看法中可以看出,计算机软件的种类繁多,又很复杂,各种计算机软件之间差异极大,本文之所以不厌其烦地引用各个领域人们对计算机软件及其分类的看法原因正在于表明这一点。因此,我们很难说计算机软件从整体上可以被归为专利法上的发明还是著作权法上的作品。从功能来看,软件是用户与硬件之间的接口界面。使用计算机就必须针对待解的问题拟定算法,用计算机所能识别的语言对有关的数据和算法进行描述,即必须编程序和有软件。用户主要是通过软件与计算机进行交往。软件是计算机系统中的指挥者,它规定计算机系统的工作,包括各项计算任务内部的工作内容和工作流程,以及各项任务之间的高度和协调。软件和硬件都是计算机不可缺少的重要方面,二者既有分工,又有配合。硬件是物质基础,软件担负指挥功能。从软件内部分工来看,基本上可以说,程序是直接指挥计算机硬件的,而文件则主要是为人们了解、学习、使用程序所必须的。因为,程序本身是无法被人直接感觉到的,人们尚需要通过文件来了解程序。因此程序与文件的关系大体上可以说与专利法上的专利与说明专利的说明书及其摘要、权利要求书等文件的关系相似。因此可以认为,大多数计算机文件与著作权法的作品的是很相似的,而计算机程序则与专利法上的发明更加接近。当然,计算机软件内部的各种类之间的关系要比这种关系要复杂得多,除了这两种类型之外,尚有很多中间类型。而且计算机软件中的程序与文件也不是截然分开的,因为文件是对程序的描述,程序是文件所描述的程序,二者一般不能被截然分开。另外从计算机软件的本质来看,它是用来控制计算机的,而程序是直接控制计算机的,文件只不过是为了人们使用的方便才存在的,有些情况下没有文件只有程序计算机系统也照样能够正常运转,因此可以说,软件中最本质的东西是程序,而不是文件,正如专利的本质是发明而不是说明书及其摘要和权利要求书一样。从计算机软件的创作者的目的来说,主要的是经济目的而不是为了表达自己的思想与情感;计算机软件的主要目的显然是产业上的应用而不是创造多样性的文化;从其价值来说,计算机软件的价值是可以判断的,而且各种计算机软件之间的价值相差极大,有个人为了完成自己的特定功能而完成的小程序,也有大公司完成的为了商业上推广的价值很大的大程序。
总的说来,如果把计算机文件与计算机程序孤立开来看,某些计算机软件与作品比较相似,如计算机文件,有些与发明比较相似,如程序,更多的计算机软件则兼有二者的特点。但是根据笔者的看法,对于大多数计算机软件来说计算机文件无非是对程序的说明,其性质类似于专利之说明书及其摘要,因此计算机文件与计算机程序很难被截然分开,一般而言有计算机程序必然有其说明的计算机文件,而计算机文件所说明的也基本上是计算机程序。因此计算机程序才是计算机软件的根本价值所在,从整体上来说计算机软件与专利法的发明的相似性更多一些。这样看来根据前述的选择法律保护制度的原则与方法,总体说来计算机软件似乎更适宜于专利权保护,但是如前对专利权模式的分析,取得专利权保护是较难的,代价也是较高的,这将不仅使大多数计算机软件受不到法律保护,而且权利人用法律保护其利益的代价也是高昂的,很可能使得计算机软件的法律保护得不偿失,使得计算机软件的法律保护制度落空。而目前的用著作权法来保护计算机软件虽然能够使大多数计算机软件得到法律保护,也取得了一定的效果,但是由于大多数计算机软件与著作权所保护的作品有着较大的不同,而与专利法的发明更加相似,这使得用著作权保护计算机软件有其负作用,它不仅产生了一些与著作权法的价值不相一致的垄断,如目前微软的垄断就使有些学者对著作权法保护计算机软件的合理性产生了怀疑[28],而且对计算机软件的保护也不能说是非常有利。如反向工程的合法性问题,虽然仍然存在争议,也有些立法例对反向工程作了条件上的限制[29],但是根据著作权法的基本原理,著作权仅仅保护思想的表现而不保护思想本身,根据这一原理反向工程在著作权框架内无疑是合理的,这使得著作权对计算机软件的保护存在缺陷。因此无论是用专利法还是用著作权法保护均不是十分适宜的。保护计算机软件必须另行设计专门的法律保护模式。
四、计算机软件专门法律保护模式设计
虽然不同作者和群体对各种制度的侧重点颇有差异,新老制度主义都承认制度有可能被精心设计和实施。[30]因此我们是可以精心地对制度进行设计的。但是设计一项法律制度是很困难的,非本文力所能及,同时设计一套完整的计算机软件的专门法律保护模式也非本文的主要任务。因此,本文此部分仅仅就计算机软件法律保护专门法模式的指导思想谈谈看法,并给出计算机软件专门法律保护制度的框架。
(一)计算机软件专门法律保护模式的指导思想
法律的指导思想往往是法律价值得以凝结的载体,因此设计计算机软件专门法律保护制度我们必须首先确定计算机软件专门法律保护模式的指导思想,以作为计算机软件专门法律制度的总纲与前提。
1.计算机软件专门法律保护模式应能使大多数软件均能受到有效的保护
虽然专利法模式能够对计算机软件进行最大程度的保护,但是人们却并不看好它,原因就在于其保护条件要求太高,使得大多数软件都受不到保护。而著作权法虽然能够使几乎所有计算机软件均受到保护,但是它也并非无可指摘。一是它的保护力度太小,对计算机软件所有人不利。虽然对于一些价值不太大的计算机软件的保护已经足够,但是对于一些价值较大的计算机软件的保护却不能说已经足够,虽然目前一些重大的计算机软件,如微软的操作系统事实上得到了较为充分的保护,但是这种保护是否全部是现行的著作权法之功则很难说,微软的操作系统实际上是由于其源码的保密而事实上得到保护的。二是它的超长保护期与非公开性[31]对产业发展有着严重的阻碍作用,这虽然似乎弥补了著作权法对计算机软件保护力度弱的不足,但这是以阻碍计算机软件产业的发展为代价的。如前所述这已经引起了人们对计算机软件的著作权模式的全面质疑。现行的可能的模式的这些缺陷告诉我们,计算机软件专门法律保护制度的选择应尽可能避免这些模式的缺陷。既使大多数计算机软件均能受到法律保护,同时又要使它们得到较为有力有效的保护,而且还要考虑到对产业发展的可能的有利的与不利的影响。
2.计算机软件专门法律保护模式应具有较低的制度交易成本并注意产业政策
较低的制度交易成本是任何制度所追求的目标之一,这大概就是著作权模式受青睐的主要原因,它不仅具有较低的交易成本,而且使大多数软件都能受到保护。但是著作权模式的较低的制度交易成本是以较小的保护力度和较低的效率为代价的。著作权模式有三大缺陷:一是保护力度不够,无法禁止反向工程,对权利人不利;二是不能促使计算机软件公开,阻碍了计算机软件产业的发展;三是超长的保护期也阻碍了计算机软件产业的发展。实际上在最早的计算机软件的保护方案中,对计算机软件的保护期都是比较短的。如Galbi方案(ProposalfornewlegislationtoprotectComputerProgramming)中为5年至10年,WIPO的ModelprovisionoftheprotectionofComputerSoftware(1978)《参考资料4》中为20年,加拿大政府白皮书(FromGustenbergToTelidon.Awhitepaperoncopyright,1984)中,对于可直接为计算机读出的程序(Machine-readableprogram)为5年,日本通产省方案为15年。最初对程序进行保护的法国著作权法对程序的保护期作了25年的规定[32].计算机软件专门保护模式应尽量采用交易成本较低的制度,同时也必须注意产业政策。
3.计算机软件专门法律保护模式应能够鼓励计算机软件公开
发明的公开大大地促进了技术的进步与发展,甚至人们在论述专利法的宗旨时,鼓励公开成了专利法的重要价值之一。不能鼓励公开是现行计算机软件的著作权模式的最重要的缺陷。如前所述计算机软件在某种程度上与发明更为接近,从而计算机软件也应该能够公开,以促进新的软件的开发与使用,促进计算机软件产业的发展。
我们也能看出计算机软件专门法律保护模式设计的上述的三个方面并不是完全统一的而是有一些矛盾的,如鼓励公开与制度交易成本以及使大多数软件受到有效保护的价值就有一定的矛盾。因此在设计计算机软件专门法保护时必须在各种价值中间进行衡量与选择。
(二)计算机软件专门法律保护模式的基本框架
既然我们已经确立了计算机软件专门法律模式的指导思想,概括地描述计算机软件法律保护模式就将是一件可能的事情。从以上分析可以看出,虽然传统框架内的法律保护模式从整体上均不是计算机软件法律保护的最佳模式,但是传统的法律保护模式能够不同程度地被借鉴,因为现实地看,著作权模式与专利权模式无疑均已经对计算机软件起着不同的保护作用,它们能够起作用不是偶然的,而是它们的制度功能使然。因此虽然我们不能从整体上运用传统的计算机软件法律保护模式,但是部分地借鉴传统的制度还是可能的,而且应该是一种较好的经济的选择。具体而言,计算机软件专门法律保护模式可以考虑以下内容:
1.权利取得手续
在权利取得手续上可以借鉴专利法对实用新型专利的“登记+公开+形式审查制”。这样,既可以使权利人用较低的成本取得保护,又促使了计算机软件的公开,能够促进计算机软件产业的发展。当然,在这种制度下,计算机软件要取得保护还是需要一定的成本的,但是它的成本较低,而且这也给了所有人一个选择,以决定是否需要取得计算机软件的法律上的权利。事实上并不是任何计算机软件均有必要得到保护。而这种制度的促进公开所带来的公平的竞争环境对计算机软件产业的发展的作用则是成本更低的著作权模式所不具备的。
2.权利取得条件
在权利取得条件上,可以考虑采用比专利法对实用新型的创造性标准更低的著作权法的独创性标准,只要有最低限度的创造性并且是其独立创作出来的就可以受到保护。这样可以使需要取得法律权利的计算机软件能够取得法律权利,使大多数计算机软件均能受到保护。
3.权利内容
由于计算机软件基本上是一种功能性的产品,一般并不代表制作人的人格,因此人格权的内容并不重要,可以考虑采用类似于专利法上的表明身份的权利即可。原著作权模式下的人身权内容对使用人很不公平,也阻碍了计算机软件的使用与开发。而在财产权方面,则可结合著作权财产权与专利权的内容而设计出计算机软件的财产权利体系。
4.保护期与专有性
在保护期上,可以考虑采用20年左右的保护期;在专有性上可以采用著作权法的专有性标准,而不是专利法的专有性标准。因为从计算机软件的生命周期来看,20年的保护期已经足够;而在专有性上如果采用专利法的标准,对于计算机软件的使用人和其他开发人而言将是极大的负担,他们需要去查找登记公报以确定没有侵犯他人权利,而超大量的计算机软件将使他们不堪重负,对他们是不公平的。
5.合理使用
合理使用方面同样可以结合原有的著作权法与专利法上的合理使用制度而进行设计,本文不再赘述。