开源来自自由软件运动。以下内容引自 www.gnu.org。GNU就是自由软件基金会(FSF)旗下GPL(GNU Public License)中的G。中文部分是我的学习笔记:
Free software中的“Free”是指“自由”。换句话说,我们指的是言论自由,而不是免费啤酒。“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”.
自由软件关乎用户运行、复制、分发、改进软件的基本自由。更精确地,我们可以将之列为四大基本自由。Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program’s users have the four essential freedoms:
* 运行的自由。The freedom to run the program, for any purpose (freedom 0).
* 学习和修改的自由。开源是保证这个自由的前提。The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
* 复制分发的自由。The freedom to redistribute copies so you can help your neighbor (freedom 2).
* 对软件进行改进的自由。开源是保证这个自由的前提。The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
射手影音(SPlayer)作为开源运动的支持者和受益者,一直信仰这种自由理念。而我个人,也是因对软件进行改进的这项自由而开始爱上开源。我们希望所有开源爱好者都不要忘记开源运动诞生自这种自由。

但是别忘了,开源软件的第一前提就是公益性,即不能用于商业用途!
[Reply]
ytj Reply:
February 9th, 2011 at 22:43:10
我不同意joshlu的观点,说开源软件不能用于商业用途是一种可笑的看法。
Red Hat是一家商业公司,他的开源系统Red Hat Enterprise Linux卖几万元一套照样大卖特卖。
事实上Linux最开始是放置于一个禁止商业用途的许可证之下,之后Linus将它放到了GPL下,并认为这是他做出的最美好的决定之一。
而且IBM, Oracle, Facebook, Google都给开源界贡献了不少代码,难道他们是公益公司?
[Reply]
sucks! Reply:
February 10th, 2011 at 20:45:30
RedHat just sells it’s servies.
You can obtain source code any time you want.
[Reply]
joshlu Reply:
February 10th, 2011 at 22:44:10
RHEL是完全服务集群,跟单体软件有本质区别
GPL协议有规定,不可以将开源代码用于商业用途
RHEL并没有这么做,他们的那几万元收入是技术支持和企业级代码维护的费用,如果不想出这个钱完全可以下载开源的RedHat(即FC)然后自己维护。
但是Splayer for mac 已经把MplayerX的代码进行了封装并且标上了价格,这个已经违反GPL了。这也就是为什么Mplayer不肯收Splayer的钱(或者说不能收),因为一收钱就意味着他们承认自己是闭源软件了,这跟当时Android的情况是一样的。
如果Splayer卖自己的字幕,这个钱我完全会出,但是,把开源代码拿来卖,不管是不是fork,有没有自己的技术创新,从GPL来讲都是不合适的。
我们不会去破解正版,我们希望Splayer自己把软件撤下来,这是一个开源软件行为准则的问题!
[Reply]
fbcon Reply:
February 10th, 2011 at 23:16:30
> GPL协议有规定,不可以将开源代码用于商业用途
这句话是假的。GPLv3原文:
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
[Reply]
lu Reply:
February 28th, 2011 at 20:13:39
首先这是对第一个弄出来的能说的吧。。。 一个抄袭者有资格?
Anonymous Reply:
July 31st, 2011 at 16:03:37
Red Hat 卖的是服务支持!
[Reply]
在我看来,SPlayerX 还是违反了 GPL 协议。事关自由,无关费用。
GPL 赋予了 SplayerX fork 的权利。换句话说,无论 MplayerX 作者愿意与否,SplayerX 都有 fork MplayerX 的自由,因为 MplayerX 采用 GPL 发布。本着权利义务对等的原则,fork 有义务采用 GPL 或相容(保证更多自由)协议发布,继续保证四种自由;这也是 GPL 规定的。
SPlayerX 没有明文声明发布协议,但作为 GPLv2 程序的 Fork,使用了 GPL 授权的代码。因此,SPlayerX 也必须按 GPL 公开源代码,保障别人对 SplayerX 的四种自由。同时,只要开源并遵守 GPL 规则,GPL 是允许 SplayerX 进行销售的,原文是:“You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.”。参见:http://www.gnu.org/licenses/gpl-faq.html#GPLCommercially
问题不在于 SplayerX 制作而在于软件发行。
1. SplayerX 区分了开发版和收费版,在专有插件之外有功能区别。个人以为,收费版是开发版的修改版,而按照 GPL, 不允许仅仅发布修改版的二进制文件:
http://www.gnu.org/licenses/gpl-faq.html#ModifiedJustBinary
现在收费版在 App Store 发布,仅发布二进制文件。此为第一处怀疑违反 GPL。
2. Mac App Store 上的 SplayerX 本质是一个 GPL 程序 + 专有插件 bundle。此内容发行方式违反了 GPL 第二条,原文如下:
“…If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it..”
简单说,如果捆绑发行,必须给出专有插件源代码,否则违反 GPL。
3. 最严重的问题是 Mac App Store 协议和 GPL 的不相容性。具体参见 FSF 在 VLC 列表中的一封信:
http://mailman.videolan.org/pipermail/vlc-devel/2010-November/077486.html
总结来说,App Store 引入了太多限制,而 GPL 为了保障四种自由而不允许这些限制。而作者将软件提交 App Store 所通过的协议是对 GPL 的侵犯,与软件本身在 Store 是否免费无关。此为第三处侵犯 GPL。
综上,一个我可以想到的解决方法是,在 App Store 仅仅销售专有插件,而不是捆绑 GPL SplayerX + Proprietary Plugin 的 SplayerX bundle。在插件运行的时候检测是否已经安装了 SplayerX,若没有则下载安装(loader),这样不会违反 GPL 也可继续销售,当然首次运行用户体验有些折扣。
其实,可以考虑用收费服务实现自动字幕匹配,按账户收费,包年包月单个,收费灵活;也可以在第一行字幕前或者最后字幕后插入广告。这样专有插件也不必闭源了,为开发者提供借口和参考实现即可。
只是此事万望慎重,为软件选择合适协议是对作者自身的保护。如果我没记错的话,若 Apple 因为协议问题下架并认定 SplayerX 为 plagiarism,至少会要求开发者退回所有分成前销售额而非开发者到手的7成销售额(忘了听谁说的)。
[Reply]
admin Reply:
February 10th, 2011 at 06:46:08
说得很好。
第1、2条并不成立。
源码在 hg.splayer.org/splayerx 可以直接获得。
关于第2条参考GPL官方FAQ http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins
If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in?
… If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. …
关于第3条,首先Mac App Store和iOS App Store应该说是有区别的。不同于iOS,在Mac上先天就可以redistribute。其次,App Store只是发行方式之一,在开发下载区可以获得同样的bin并自由使用,唯一的区别只是服务。最后,这是App Store和苹果姿态的问题,我们希望苹果可以修改协议,但是那并不是射手能控制的事情,也不是射手的义务或责任。
我们清楚其中的风险,仍旧会一试。
[Reply]
Thruth Reply:
February 10th, 2011 at 13:03:34
1) 的关键在于开发版和收费版在源码方面是否有所不同? 如果收费版的开源部分在 hg 中某个时间点完整出现过,则不存在此问题。对于不开源部分,射手有权不提供收费版所独有的专有插件版本。
2) Fork 执行是不违反 GPL 的,违反 GPL 的是开发版和收费版的发行方式。换句话说,不仅收费版有这个问题,免费的开发版也有。
GPL FAQ 里面没有提这种情况是因为 GPLv2 原文写的很清楚:
“If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.“
具体说来,如果把 SplayerX 和 sscl 分开独立发行,符合“distribute them as separate works”情况,则 GPL 不对 sscl 做任何要求。
可捆绑发行就是另一种情况了:“But when you distribute the same sections as part of a whole”。还是完全一样的 sscl,作为 SplayerX 的一部分,作为一个整体提供下载,则 GPL 自动扩展到发行内容的所有部分,包括 sscl。这种发行方式下,sscl 必须开源。
简单说,SPlayerX 和 sscl 如果作为两个程序分别发行是不违反 GPL 的,如果捆绑起来一起提供下载则是违反的。这也是为什么安装 Linux 时不能直接同时装上 Flash Player 插件包,尽管二者都是免费的。
3) 关于 Mac App Store 上先天可以 redistribute 的观点是错误的。苹果限制了 Redistribute 的范围为 5 台 Mac。就算直接拷贝 .app 文件给其它人,不 Hack 的话大部分无法运行。至少用户并没有 Redistribute 的自由。对于其他对复制自由的限制,参见:
http://www.macworld.com/article/157018/2011/01/appstore_licensing.html
问题核心在于,是射手主动选择了不合 GPL 的发行渠道 Mac App Store ,这种行为违反了 GPL,而不是 Apple 强制射手同意 Mac App Store 发行协议。真追究起来,这是射手的义务而不是 Apple 的责任。
之上所有这些问题,与射手是否免费毫无关系。在 GPL 框架下,SplayerX 完全可能进行发行销售,但现在,SplayerX is doing it in a wrong way.
[Reply]
admin Reply:
February 10th, 2011 at 16:46:54
开发版和收费版在源码和二进制码方面是完全一致的。使用字幕服务通过UUID和/或证书授权认证。
[Reply]
admin Reply:
February 10th, 2011 at 23:25:14
关于第二个问题。我建议将这句完整的看:
distribute the same sections as part of a whole which is a work based on the Program,
因为Player的功能不是”based on” sscl。而且sscl是个可选功能。所以我认为这句并不适合应用在sscl的要求上。
payper Reply:
February 11th, 2011 at 00:06:53
Player的功能不是 “based on”,但是SplayerX所标榜的自动字幕匹配下载功能应该是based on sscl吧?我觉得既然SplayerX主打的就是自动匹配(description里面很清楚),那么应该认为SplayerX所拥有的特色功能是based on sscl啊。
Thruth Reply:
February 10th, 2011 at 18:09:32
Cool. 所以第一个问题完全不存在了。:-)
还剩两个问题,可能需要 SplayerX 再调整一下吧,很容易 work around 的。
[Reply]
Thruth Reply:
February 11th, 2011 at 14:44:57
跟进澄清:和作者通信,仔细研读了 Mac App Store 的协议,觉得在 Mac App Store 发布 GPL 是没有问题的。所以第三条违反 GPL 不成立。我在没有阅读 Mac App Store 协议的情况下,直接雷同了 App Store 协议,提出 SPlayerX 违反 GPL(第三条)是错误的。向作者道歉。
第二条怀疑依然有效,”based on” 理由不成立。based on the Program 中 the Program 并不指代 sscl ,而可指代 SPlayer. the Program ,P大写了,在整个 GPL 协议中作为术语专指 GPL 程序(见GPL Terms and Conditions 部分第一条),sscl 不在此列,而此处指代的是 SplayerX。
所以:
distribute the same sections as part of a whole which is a work based
on the Program
tease out 这句话所描述的条件是:
1.存在特定部分(sscl),它不是程序(SPlayerX)的衍生品,本身也不采用GPL协议。
2.发行包整体(a whole, SPlayerX 的发行包)是基于程序(SPlayerX)的作品(work)。
3.特定部分(sscl) 作为组成部分存在于发行包整体(a whole, SPlayerX 的发行包)中。
我认为现在 SplayerX 的发行方式完全符合这种描述,构成了违反 GPL 协议。
呵呵,支持开源。
打广告:Debian 6.0 已经发布,大家快去下载使用:))
[Reply]
Pathetically, a wildcatter titled the so-call open-source supporter has acted such a vampire reselling other’s product, even not feeling shameful.
[Reply]
口头说说而已,如果是真心的,那么就自己开放所有源代码并且从 App Store 自己撤下
[Reply]
上次也是,但后来开放了闭源的部分。不过这次和上次不一样,射手是没有违反gpl的
为什么那些linux distribution未加入flash player?其实是完全可以加的,但是,假如加了的话,安装这个linux时,就必须同意flash player的用户协议,导致整个linux都变得不自由了(虽然依然是免费的),而并非gpl等free license的限制导致的不加flash player。很多linux都同时装上了firefox,firefox的tri-license是gpl不兼容的,但毕竟还算比较自由
如果gpl软件捆绑了一个专事别的什么的插件,这个插件不是为这个gpl软件而定制的,那么就不是基于这个gpl软件的,这个插件和这个整体肯定不需要遵守gpl。用unrar的gpl软件多了去了。sscl也是这样,并非为mplayerx而定制的,可以独立使用。假如sscl是只为mplayerx定制的,只能依赖gpl的mplayerx或者mplayerx的衍生物才能使用,那么sscl可能就必须gpl或者gpl兼容了
所以我看,关键问题不在于软件本身是否违反gpl的问题,更不在于商业收费问题,而是在于gpl是否和Mac AppStore的协议冲突。你把软件放到Mac AppStore,你肯定同意了他的term吧?理论上你肯定必须仔仔细细地阅读了他的销售条款并且check了“I agree”之类的才允许提交吧?
所以可以说,既然gpl和Mac AppStore的协议冲突,那么,你要不就作为销售者,违反了你已经同意了的Mac AppStore的协议,要不就作为mplayerx的使用者,违反了gpl。这才是真正的问题之所在。如果splayerx不通过Mac AppStore,通过其他合理的途径进行销售,那么,不管sscl是否gpl开源(gpl开源的binary依然可以进行销售;不gpl,根据我上述论证,也不违反gpl),都应该没有任何问题。而Mac AppStore单独只销售sscl也没有问题
另外twitter上@virushuo、@fenng等也把射手和VeryCD对比。我看虽然合作,但射手和VeryCD还是不同的。easymule2的开发说了他们“reference”了amule的函数,那闭源就违反gpl。easymule的反吸血组件基于xtreme也违反gpl,而且不但闭源,还几次误杀xtreme。VeryCD的“电驴”大概也侵犯了edonkey的商标吧?所以和VeryCD相比,射手问题倒确实不多
[Reply]
Thruth Reply:
February 11th, 2011 at 12:16:43
“安装这个linux时,就必须同意flash player的用户协议,导致整个linux都变得不自由了(虽然依然是免费的),而并非gpl等free license的限制导致的不加flash player。”
1.论据错误:flash player 协议仅仅针对 flash player,并不针对整个 Linux distro。任何意义上,同意 Flash Player EULA 不可能使得整个 Linux 不自由。
证据:
http://www.adobe.com/products/eulas/pdfs/PlatformClients_PC_WWEULA_Combined_20100108_1657.pdf
其中 5 (ii) 明文说明,允许 Flash Player 作为预装组件发售,并没有扩展协议至cover 发行包整体。
2. 推理错误,假设 Flash Player 能让 Linux 变得不自由,则恰恰是违反 GPL 的情况,因此不被允许。所以不装 Flash Player 归根到底还是 GPL 限制。
[Reply]
抱歉想起来刚才讲错了,不能说Fx的tri-license和gpl不兼容,tri-license是gpl兼容的。而是说他所包含的3.0.5或更早版本的MPL的code不兼容。各大linux distribution里也包含有不少gpl不兼容的软件,只要相对独立就没事。不兼容gpl的free license也实在太多了,apache license就不兼容,2也只兼容了gpl3
[Reply]
照此下去,用splayerx的代码原封不动,fork个显示cpu占用率的或者系统时间的程序改名叫tmplayerx,然后卖0.99美元,未必没人买
只能说是开源的悲哀。
[Reply]
Stanley Xu Reply:
February 12th, 2011 at 09:56:54
哪儿悲哀了。自由(free)软件不是免费(free)软件,开源(opensource)软件也不是免费(free)软件。开源的精神是在于共享知识,避免人类浪费时间去做大家已经做过的事情,不是让喜欢侵犯知识版权的个人用户搭便车的。
[Reply]
Bell Reply:
March 4th, 2011 at 19:36:37
说一句 Splayer是我花钱买过的第一款”自由”软件.
[Reply]
如果我修改了 GPL 软件,但我没有分发出去,是否需要以 GPL 公布源代码呢?
[Reply]
Stanley Xu Reply:
February 12th, 2011 at 09:54:34
不需要,不然那么多企业内部的Enterprise App就不能用很多开源组件了
[Reply]
壮士!能支持Linux吗?
[Reply]
Bell Reply:
March 4th, 2011 at 19:38:49
顺便支持下BSD
不过显然精力都在MAC上
[Reply]
中国需要专业化律师,而不是软件开发者去打嘴仗,太浪费时间和精力了.
[Reply]
沈老师无需再跟其他人在这里做无谓的舌战了,既然认准了自己是对的,就专心去做好了。路是人走出来的,把自己的路走宽了,就会越来越多的人跟你一路同行的! 支持你!
[Reply]
看到Thruth版大了,好熟悉:)同时也是MplayerX的支持者。因为在早期的MplayerX的开发中给原作者发过邮件提过改进意见,因此一直在关注,不管splayer做的对不对,总归是心里不舒服的。不管怎么说,还是希望能把这件事情解决好,不要寒了MplayerX的作者的心。也不要寒了我们这些在windows下原来对射手很有爱的人的心。
[Reply]
固执的人总是嘴上说自己是对的,哪怕他内心里知道自己是错的。
“Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program’s users have the four essential freedom” 好吧,我没付钱,但我还是copy并且“自由”地运行了你这个付费软件,我有没有犯法?我为这个“自由”让你损失了2美金而我自己犯法了,这还叫“自由”么??如果解释为“免费”,那就是说我自由–真正自由地运行这个软件而不用顾忌我付费与否。
作者偏要把FREE这个词解释为“自由”而不是“免费”,只能说为了钱而找借口,寒啊!!!
[Reply]
Sub Reply:
May 9th, 2011 at 11:51:57
free解释为自由而不是免费
这是GPL原文中的说明
freedom, not free for charge.
[Reply]
win7中 ATI显卡 最新版开启硬件加速无法播放mkv高清视频!!!!
希望尽快解决呀
[Reply]
引用:
射手影音主页说:安全绿色.纯绿色软件,无任何流氓插件和间谍软件,开放源代码。智能屏蔽打开视频文件时的网页弹出,安安心心放视频。
但是!v3.6.1836 版,播放影片时,竟然未经同意在背后传送资料出去。
请问:这叫安全吗?这叫绿色吗?
[Reply]
我是从App Store买了的
因为下载字幕方便
但是我很反感Splayer的收费行为,不说Mplayer的事情,我就说字幕的事情,这些字幕的版权是你的吗?你收费?
[Reply]
你就不能再放个Free Version到App Store? 就当这$1.99的是Donate Version.
[Reply]
加个donation的选项不就好了, 这个样子强制收费, 大家肯定不爽的
[Reply]
HHLY Reply:
March 8th, 2011 at 20:16:17
关键不是不爽,向我这样本来就是搞开发的人最烦就是看到混着别人的code然后做东西出来还收费的,这个是原则性的问题.不然我们下了班没事儿搞开发,还给源码,哦你拿去修改了就收钱.那我岂不是在免费给你打工?
[Reply]
请把首页那个比较中,无广告一条去掉吧。真恶心。
[Reply]
最新稳定版本,win7 64bit sp1 4G内存 ATI HD3650显卡 播放高清视频一段时间后,关闭射手会使系统死机
[Reply]
来过了,感谢分享!
http://www.tvmb688.com
[Reply]
说的真好,结果却拿着人家开源的东西做自己的收费软件,呵呵,真是可笑。。。
[Reply]
很好用—–
[Reply]
哈哈。解释精辟!!!!
[Reply]
您不理财,财不理您,欢迎使用免费在线记账理财软件,网址:www.gok100.com,联系QQ:1454590399
[Reply]
都开源软件公司吃什么?
[Reply]