现在的位置: 首页 > 综合 > 正文

头文件与软件著作权

2013年02月28日 ⁄ 综合 ⁄ 共 2131字 ⁄ 字号 评论关闭
      在编写软件的过程中参考“头文件”,并不直接导致新开发的软件与已有软件的主要内容或实质内容相同,应属以兼容为目的的合理使用行为,所以目前还很难对这种做法是否侵权下定论。

       一场国际IT巨头Intel与一家中国新通信领域刚刚崛起的小公司东进技术之间的著作权纠纷案在新年伊始拉开了帷幕,成为引人瞩目的2005中外知识产权第一战。诉讼的焦点却是一个一般读者不太熟悉的东西——头文件的著作权问题。那么到底什么是头文件呢?为何像Intel这样的跨国巨头不惜以美国总部的名义对中国南方一家名不见经传的小公司为了头文件的著作权问题而大动干戈?
 
       其实,对于使用C语言家族开发工具进行软件开发的技术人员来讲,头文件(后缀名为 .h 的文件)是再熟悉不过的了。头文件作为一种包含功能函数接口声明的一类文件,在C语言家族程序开发中被大量使用。在各种C语言开发工具中,头文件作为函数接口、数据接口声明的载体文件,其中不含程序的逻辑实现代码,它只起一个描述性作用,目的是告诉应用程序到哪里可以找到相应功能函数的真正逻辑实现代码。同时不同于函数库组件的是,头文件一般都是以原代码形式直接呈现的,其中的代码可以被用户直接修改或调整代码行顺序。各种标准C语言家族的函数库都会随机附带相应的头文件,以便开发者使用。而一些厂商提供的专用的C语言开发工具中也会相应提供配套的头文件。

       如上图所示,一般在一个应用开发体系中,功能的真正逻辑实现是以硬件层为基础,在驱动程序、功能层程序以及用户的应用程序中完成的。但为了保证应用程序逻辑与功能层逻辑的衔接,在C语言开发工具中会通过在头文件中对各个被调用函数给出一个描述,从而使得头文件无形中成为了用户应用程序和函数库之间的桥梁和纽带。它虽然不包含程序的实现代码,但以其所处的地位和作用,使得其成为用C语言进行系统开发必不可少的组件。

       所以有些厂商即使开发出了有自主知识产权的硬件和软件驱动程序、功能函数库,但为了保持与市场上已有产品的兼容性,以便老产品用户在升级的同时能够保护自己原有的投资,仍不得不保持新产品的相应函数接口与老产品相一致,这也就导致包含对这些函数接口描述信息的头文件内容的雷同,有些用户在做二次开发时也不得不使用老产品厂商提供的头文件。

       这种情况在当一个厂商的产品在市场上占有垄断地位时是经常发生的。因为头文件此处已经成为此类产品的事实上的接口标准了,虽然其中并不包含程序的逻辑实现代码。

       那么到底这种为了遵从"事实上的标准"而使用其它开发商的接口描述性文件,即头文件(这种情况只限于用C语言家族系列开发工具进行开发时),是否侵权,目前还普遍存在争议。

       在向法律界人士咨询后了解到,作为著作权保护的客体,"作品"应该具备相应的完整性和独立性,计算机软件同样如此。鉴于"头文件"仅仅是完整的应用软件中很小的一个组成部分,既不是一项独立的软件,也不具备相应的完整性和独立性。"头文件"中的程序行的顺序可随意调整,也说明"头文件"本身并不包含对软件设计思想或设计技巧的表达。

       而厂商公开"头文件"内容的原因,一方面可能是为了让客户能够参照"头文件"来编写用户程序,另一方面也可能因为"头文件"本身不构成其软件的主体部分或实质内容。

       因此,"头文件"本身尚不构成一项受著作权法保护的"作品"。判断是否构成对软件著作权的侵权,需要对作为软件间的程序逻辑实现进行整体的比较和考量。

       当一家厂商的产品曾在市场上占有绝对的垄断地位,"头文件"中对有关函数的命名规则(类似于私有协议或用户接口)已变为该行业的事实标准。既然是标准,就应该满足标准应具有的公开性,并允许以满足兼容为目的的合理使用(在不涉及任何专利的前提下),这不但是产业界的一种共识,也是法律界的一种共识。

       经检索,在我国尚未发现已公开的相关案例。在美国的司法实践中,以兼容性为理由限制著作权保护范围已成为一项原则,也更加重视计算机软件的技术特征。例如美国第二巡回法院在其审理的Altai案中提出,程序的兼容性要求作为"外在因素",将限制程序员编写程序时的自由选择,从而限制了计算机程序受著作权保护的范围。另外在GatesRubber一案中,美国第二巡回法院也提出,软件兼容性要求所决定的程序部分应排除在著作权保护范围之外。

       根据我国《计算机软件保护条例》之规定,"对软件著作权的保护不延及开发软件所用的思想、处理过程、操作方法或者数学概念等","头文件"并不是体现软件创造性的核心内容或实质内容,同时,并不因为参考了头文件就使软件的开发工作不再具备创造性,开发软件所需要工作量不因此而显著减少。

       另外,根据我国《计算机软件保护条例》之规定,"软件开发者开发的软件,由于可供选用的表达方式有限而与已经存在的软件相似的,不构成对已经存在的软件的著作权的侵犯"。

       从上面的论述可以看出,在编写软件的过程中参考"头文件",并不直接导致新开发的软件与已有软件的主要内容或实质内容相同,应属以兼容为目的的合理使用行为,所以目前还很难对这种做法是否侵权下定论。

抱歉!评论已关闭.