开源软件许可与C语言发展:技术与法律的双重考量
1. 开源软件许可问题
在软件领域,除了公共领域的内容,其他都受版权保护,可能还不止一个版权。依据美国联邦法律,即便没有版权声明,作品的作者依然拥有版权。在版权法中,确定谁是作者可能很复杂,特别是对于多人参与开发的软件。这就是许可协议重要的原因,它能授权以版权法原本不允许的方式使用代码,并且如果起草得当,还能保护用户免受版权持有者的任意行为影响。
在专有软件世界,许可条款旨在保护版权。它在给予用户少量权利的同时,尽可能为所有者(版权持有者)保留更多法律权益。版权持有者非常重要,许可逻辑限制严格,以至于许可条款的具体技术细节通常并不重要。
而在开源软件中,版权持有者几乎无关紧要,但许可条款却至关重要。通常,项目的版权持有者是当前的项目负责人或赞助组织。项目转移到新负责人时,常常会通过更改版权持有者来体现。不过,这并非绝对规则,许多开源项目有多个版权持有者,且尚无因此引发法律问题的记录。有些项目选择将版权授予自由软件基金会,因为该基金会有维护开源的意愿,并且有律师提供支持。
1.1 开源软件的定义
为了许可目的,我们可以区分许可协议可能赋予的几种不同权利,包括复制和再分发权、使用权、个人修改权以及再分发修改后副本的权利。许可协议可能会对这些权利进行限制或附加条件。
《开源定义》(Open Source Definition,简称OSD, http://www.opensource.org/osd.html )是对软件“开源”或“自由”的深入思考