Blender GNU GPL 开源协议

GPL,是GNU General Public License的缩写,是GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─只有GNU通用公共授权英文原文的版本始具有此等效力。大多数软件许可证决意剥夺你共享和修改软件的自由。相比之下,GNU通用公共许可证试图保证你共享和修改自由软件的自由。保证自由软件对所有用户是自由的。GPL适用于大多数自由软件基金会的软件,以及由使用这些软件而承担义务的作者所开发的软件。(自由软件基金会的其他一些软件受GNU库通用许可证的保护)。你也可以将它用到你的程序中。当我们谈到自由软件(free software)时,我们指的是自由而不是价格。Blender 遵循 GPL 2.0版本以上的开源协议。

当一个程序采用GNU通用公共许可证(GPL)时:

  • 你有权将该程序用于任何目的。
  • 你有权修改该程序,并取得其源代码。
  • 你有权复制和发布该程序。
  • 你有权改进该程序,并发布你自己的版本。

原文地址:Blender GPL 开源协议

当一个人听到“free software”这个字眼的时候,也许最先想到的会是“免费”。尽管大多数情况下这是真的,“free software”作为自由软件基金会(Free Software Foundation,GNU的发起者和GNU通用公共许可证的创造者)使用的术语,所取的是“freedom”中“free”的含义而非“免费”这个义项(所谓“free beer”的“free”)。这种含义下的“free software”指的是你可以不受限制地自由使用、复制、修改和再发行的软件,即“自由软件”。与之形成对比的是大多数商业软件的许可证,你只被允许将该软件安装在一台电脑上,不被允许复制该软件,而且永远也见不到该软件的源代码。自由软件给了最终用户难以想象的自由。由于源代码可以在任何地方取得,找到和修复bug的机会也多了很多。商业三维软件动格数万授权费用,虽国内大多数还以盗版软件为主,但即便如此,作为为数不多的一款免费开源三维软件,还是遭到了很多人的非议,也盛传着众多的谣言,我们这里集中为大家做一个整体,具体的为大家仔细说明 Blender GPL 的详细内容:


Blender后期会收费

不会!Blender 遵循 GPL 开源协议,这意味 Blender 将会是永久免费可以使用的软件。永久免费是指软件本身,免费不包括通过  Blender 延伸出来的相关服务。


为什么 Blender 安装包很小

下载安装过 Blender 的人大概都知道 Blender 的压缩包就区区的100来MB,这相对于其他的三维软件来说实在是太小了。我发过不少的文章与视频,很多人评论说100多兆的软件肯定一般,Blender 虽然只有100多兆,但是从三维到后期合成全部具备,而却还不弱,除了偏见我相信很多人是不了解 Blender。那为什么 Blender 的体积这么小呢?


  • 没有预设文件附加:下载安装 Blender,官方网站提供的 Blender 创新中不附加任何的文件,这与很多三维软件不同。其他的三维软件都会附加学习文件、材质预设文件等其他文件,但是 Blender 非常干净。很多帮助文件没有附加在软件中,而是基于网站打开,如果内置到软件中,只要一些基础的教学视频就可以让 Blender 达到几个 G 了。

  • Blender程序开发基于python语言:python作为一门高级编程语言,Blender 就是基于python语言编程的,这本身也得益于开发语言的优势。解释性:大多数计算机编程语言都是编译型的,在运行之前需要将源码编译为操作系统可以执行的二进制格式(0110格式的),这样大型项目编译过程非常消耗时间,而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

     

  • 精简代码,删除不必要的功能保持小巧灵活:使用过 Max 的用户肯定知道,Max 中一些陈旧的功能,甚至基本上不再使用的功能都做了保留。但是 Blender 不会,会对不再需要的功能直接删除。前不久 Blender 2.8就将内置的游戏引擎与渲染器全部进行了删除。

  • 软件架构不同: Blender 实际上与 Houdini 差不多,属于底层软件。在软件开发架构上直接面向的是底层的硬件库的调取,相对于其他软件来说,更加底层。max、maya 更多的是调用了微软发布的运行库,本身软件附带这些库文件就不会小了。在软件开发的底层逻辑上大家这么理解: Blender 直接使用三原色+黑白色进行调色,Max 则直接购买了尽可能有的所有颜色。这里不做详细的解释了,相关 Blender 的架构大家可以自行搜索。

  • 无需开发反破解: Blender 开源免费,这意味着所有用户都可以随时安装进行使用,也会不追踪用户的相关数据。商业软件一般会追踪用户的相关数据,发送到软件商服务器取证。这就是很多人安装破解,最后被正版软件发送律师函的原因。基本上也算是采集证据。


Blender免费的原因

Blender最初是由荷兰动画工作室NeoGeo开发的内部3D软件。作为 NeoGeo 的副产品, 创始人 Tom Roosendaal 创立了一个新的公司,该公司不是用来兜售软件, 而是用来开发 Blender,同时使任何人通过互联网下载使用 Blender。可悲的是, NaN's 的野心和机遇与公司的能力和当时的市场现实不相符合, 在经历了企业动荡之后, 2002初,公司也强制关闭。

2002年5月, Tom Roosendaal 创办了非赢利基金会,用于开发维护 Blender,并将 Bledner 正式作为了一个开源软件项目。与该公司的投资者达成了一项协议, 发起一项筹款活动, 以购买 Blender 的源代码及所有权, 成本为10万欧元。一批热心的志愿者, 包括几位前员工, 加上数以千计忠实的搅拌器支持者的捐款, 10万欧元的目标在七周内就达到了。最终 Blender 顺利开源。


有关搅拌机的历史信息, 请参阅此处

创作的作品归谁所有

你用搅拌机所创造的图像、模型、Blender源文件、渲染输出的影片、其他数据文件等都属于创作者所有。这意味着你可以使用 Blender 进行一切商业创作,制作电影、进行设计等,都属于创作者的财产。


制作电影、效果图并不需要开源

使用 Blender 制作的内容,输出或者保存为了.blend文件,全部归公司或者个人所有。.blend源文件,导出的任何文件:图片、视频、模型、纹理贴图、代码及一切你通过 Blender 生成出来的数据资产。


使用Blender制作游戏不一定要开源

使用 Blender 制作游戏的资产,开发游戏(2.8版本删除了游戏引擎模块),只要涉到的内容最后是输出或者是保存为了.blend文件,全部归公司或者个人所有。包括:游戏编程代码、 源文件,导出的任何文件。


只有一种情况是需要开源的,就是使用 Blender 内置的 Blender's Game Player游戏引擎播放器进行分发的独立游戏需要连同资产开源。具体请阅读下放:游戏Blender's Game Player需要开源的具体内容。


如果为了避免游戏资产的开源,可以自定义在 Blender 外部开发一个游戏加载器(播放器), 通过这样的方式,Blender 生产的任何资源及数据通过外置的播放器进行加载运行就属于内容输出,这就不需要开源了。制作游戏的公司及个人不必担心,比如:你是要 Blender 制作了模型,导入到 Uniy 或者其他游戏引擎中进行编辑,这是不需要开源的。


.blend源文件不需要开源

Blender 保存的源文件格式是.blend,.blend 文件是由一个个独立的数据模块组成的,包括:图片、音乐、模型、代码、其他数据构成,这些生产出来的数据都属于创作者所有。也就是说.blend源文件并不需要开源,你可以作为任何商业目的使用。

自由复制、备份、分发Blender

无论你是哪个渠道下载的Blender都可以通过备份、拷贝、分发给任何一个人,不会受到版权的困扰。您可以自由的分发给您的同时,自由的安装在公司的任何一台计算机上,你也可以自由的分发到任何一个下载网站,Blender是支持您这样做的。


自己开发的插件可以售卖

是的,但只有在GNU GPL许可证下向客户提供插件和源代码。客户能从GPL提供的所有权利中受益:包括免费使用,甚至分发。您可以选择是否商业售卖,具体如下:


  • 在搅拌机外部工作(相对于打开一个独立的软件不需要开源)
  • 不使用搅拌器源代码或API调用(自己编写的代码不用开源)
  • 将Blender作为生产数据使用
  • Blender读取和操作的数据(调用外部资源与数据)

调用Blender API开发需要开源

Blender GPL 协议中有一部分是需要强制开源的部分,即调用 Blender API 需要开源,不能私有。


API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。


作为以上权利的代价,你在发布一个采用GPL的程序时需要负一些责任,这些责任是为了保证你和他人的自由:

  • 你必须随程序提供一份GPL的副本,以便接收者能了解他在该许可证下的权利。
  • 你必须附上源代码或者让源代码可以免费获得。
  • 如果你修改代码并发布了修改后的版本,你必须对你修改的部分使用GPL并公开其源代码。(你不能把采用GPL的代码用作私有程序的一部分)。
  • 你不能给该程序使用超出GPL条款的许可证。(不能把一个采用GPL的程序变成私有产品)。

游戏Blender's Game Player需要开源

如果所有的生成内容最后使用了 Blender Game Player 加载的话,那.blend 源文件也需要和 Blender 一样遵循 GPL 开源协议。但是最新版的 Blender 2.8版本,内置的游戏引擎代码已经删除了,Blender's Game Player在2.8版本后就不存在了。


Add-Ons & Python scripts

如果分发共享自己改写的插件与Python脚本,只要没有调用 Blender AP就不需要开源,但是调用了 API 就必须遵循 GPL 协议,与 Blender 共同开源。这也是好事,很多强大的插件与脚本都是开源免费的,对与艺术创作者来说,这是非常实惠的不是吗?


其他问题:Blender GPL 常见问题