03月 29, 2013

针对知乎上曾恺提出的问题,谈一下看法。

问题:从法律角度看,Smartisan OS 改第三方应用的图标可行吗?

如果改动后的图标第三方认为有丑化(如上图的百度?)的嫌疑呢?这个图标商场如何规范?

附「微信」和「知乎」的相关条款。

非专业,抛砖而已。但回答法律问题前,我必须先补充一点计算机专业知识。没有证据和事实,空谈法律或用户选择,只会越扯越远。

=== 以下为事实 ===

Android rom中修改应用程序图标的做法由来已久,各家Android启动器(即桌面管理器,Launcher)都有实现过,但少有系统化的解释。CSDN 曾对小米公司负责换肤机制的几位程序员们进行过一次专访,说的就是这个。目前我们确实没有锤子手机的实现细节,但考虑到两者底层同是Android,原理应该是类似的。我在下面列出了专访的几个链接。考虑到非计算机专业的朋友可能不太清楚原理,我在此简单说明:

更改图标属于系统级资源修改。一般来说修改图标的方法有两种:一种是破坏性的,即解密 Android app 的安装包(apk 文件)并修改其中的图标资源。第二种是非破坏性的,其中又分为两种:一、 在启动器级别修改,即利用启动器能够获取程序启动图标的机会,建立一张自己的图标表和 app 的映射表;二、 在系统级别修改 AssetManager 服务。这种方法可以更全面地修改整个程序的界面等信息,不只是图标。但需要更改 rom 的代码。考虑到一个个破解并修改程序安装包的工作量,多数启动器都应该不会采用第一种方法作为首选,而会采用映射表方法;至于AssetManager,则只有在需要修改全局主题时才会遇上。

我暂时还不能接触锤子 rom 的具体代码,但小米工程师的讲座可以作为参考。考虑到锤子rom显然自己设计了启动器,它有足够的条件使用非破坏性方法将显示图标修改为它需要的任何内容,同时包含一个例外:如果锤子 rom 试图修改的不仅是程序图标而包括程序内资源,那么它可能会用到修改AssetManager 的做法。

=== 以下是法律讨论 ===

理解了事实之后,我们才可以谈法律。我考虑从著作权角度切入。假定我们试图证明锤子rom的做法违法,根据上面的说明,我们不难得出两种可能的思路:

从锤子 rom 修改图标的手段界定其是否违反法律。

从程序图标本身是否属于程序观感的一部分界定锤子手机的做法是否违反法律。

后一种举证困难,我也不是专业人士,只好忽略。前一种比较容易界定事实。一般如果说侵权问题,我们的主要参考来自中华人民共和国新闻出版总署,《计算机软件保护条例》。因为它是规定计算机软件保护的最直接的条文。其中第二十一条规定了合法持有软件复制品的单位和公民(课堂教学、科学研究、国家机关执行公务)可以享有的权利。

第二十一条 合法持有软件复制品的单位、公民,在不经该软件著作权人同意的情况下,享有下列权利:

(一)根据使用的需要把该软件装入计算机内;

(二)为了存档而制作备份复制品。但这些备份复制品不得通过任何方式提供给他人使用。一旦持有者丧失对该软件的合法持有权时,这些备份复制品必须全部销毁;

(三)为了把该软件用于实际的计算机应用环境或者改进其功能性能而进行必要的修改。但除另有协议外,未经该软件著作权人或者其合法受让者的同意,不得向任何第三方提供修改后的文本。

注:此法条的最后一部分有明显问题。因为修改并不仅仅意味着文本,也包括图标等二进制文件。但在这个语境下我们可以忽略此问题。严格地说,三种替换图标的方法都可以通过此条规范判断:

破坏性方法。显然违反第二十一条(三)。

非破坏性方法一(启动器)。无修改 app 情节,不违反上述条款。

非破坏性方法二(rom 级别修改)。无修改 app 情节,不违反上述条款。

注二:@Raymond Wang 律师提到这个问题首先是一个商标权的问题。我对此的考虑是,Rom开发者虽然更改了 app 的图标,但有两个理由使得它不违反商标法的商标侵权认定:一、主观上修改图标的行为并不是为了误导消费者;二,客观上说,rom 使用者不会因为图标被改变而将 app 误认为其他类似产品。但我承认我不懂商标法,所以也许我的思考有错,希望有真正的专家解释。

至于说丑化原产品的嫌疑么,我认为这个说法过于主观,也难取证。老实说,我不认为这样的理由可以作为诉讼的起点。

参考:

Android系统如何实现换肤及MIUI-CSDN.NET

CMDN CLUB 14期:Android系统主题风格实现与系统资源访问机制

中华人民共和国国家知识产权局商标法。

(iDoNews 小牛注:文章经小牛编辑整理,原文来自知乎上的问答,链接http://www.zhihu.com/question/20892127/answer/16524728)

Tags: ,,.
12月 25, 2012

笼统的回答是:当然是有用的。但如果不说明白里面到底有什么,恐怕大家还是不能理解。

当程序崩溃时,Windows 的发送错误报告对话框实际上会在后台发送相当一部分数据,大体上包括下面这些数据:

  • 一个64K 左右的 mini dump,包括崩溃时的寄存器和调用栈。
  • 一组主要 Windows 关键 DLL 的版本号信息。用来确定当前系统状态。
  • 一部分系统的日志。

其中最主要的,也是最重要的,实际上是第一个,就是dump。对程序崩溃这个特定的场景来说,dump最重要,日志次之。版本号信息主要是用来确定系统确实是处于正常的状态,不是盗版或者自行精简之类的情况。

那么dump是不是就能帮我们找出问题所在?这个答案可能是所有人最关心的,但很可惜,正确的回答是:不一定。事实上真正分析问题时我们需要的数据很多,比如内存违例而崩溃时,我们实际上需要至少这个进程内的内存快照,但现实是这些数据我们实际上无法得到。一方面是隐私问题,另一方面也是如今软件占用内存都很大,完全做快照可能占用数百MB的空间,哪怕压缩后也是如此。这么大的数据上传在实践中并不现实。而现在上传的dump不过64KB,多数情况下这么点数据实在不够用。

所以平心而论,单凭dump找出问题的可能性并不高。但是如果用户踊跃提交bug报告仍然可以帮助我们的程序员:如果大家的问题都指向同一个调用栈,那么 Windows 服务器端这边的统计数据就可以更好地定位出问题的热点范围。程序员们也会相应地在这里投入更多的精力。投入的精力越多,问题被解决的可能性越大。

Tags: ,,.

Welcome to DoNews Blog. This is your first post. Edit or delete it, then start blogging!