2012/2/29 Ma Xiaojun <[email protected]>: > 感覺這一點最微妙了……世界上真有辦法確定一個人有沒有看過mfc的代碼?
我想应该没有. 但是, 理论上有一种方法可以规避这类法律风险. 首先, 开发者实现一个stub的mfc42.dll,什么函数都没有 然后, 用户使用wine, 某个程序因为缺少某个mfc42.dll的函数而崩溃, 于是用户向wine报bug 接着, wine开发者根据msdn文档等资料,有针对性地实现用户的bug中提到的函数 接下来, 用户重新测试, 继续报bug, 开发者继续针对性地实现某个或某些函数 在这个过程中, api的正确性并不是通过比较原版ms mfc的代码来确认, 而是通过现实世界 中依赖该api的程序是否正常运行来检验. 在这个过程中, git的代码提交记录和bugzilla的追踪历史共同见证了mfc42是如何一点点 被实现的. 除非很偶然, 不然一个开发者实现一个api的代码不会跟另一个开发者完全一样. 只要wine mfc的代码和ms mfc的代码不完全一样, 就会出现这样的局面: wine开发者没有办法绝对证明自己没看过ms mfc的代码, 但任何想告wine侵权的人也没有 证据可以证明wine开发者看过ms mfc的代码. 根据无罪推断, 再加上git和bugzilla的有利 记录, 可以认为wine这么做是不会有法律风险的. 这里也可以说一下我一再强调要给wine报bug的其中一个原因: 如果一个函数没有已知的程序调用到, 那么wine是不会去实现的. 所以如果用户不报bug, wine就不会进步了. 顺便可以说一下, wine项目要求每个开发者都用实名, 是为了保证每个人为自己的代码负责, 如果有哪个开发者偷偷做了违法的事情, 那么一旦被发现他的代码一定会被清除. -- Regards, Qian Hong - Sent from Ubuntu http://www.ubuntu.com/ -- ubuntu-zh mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
