V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ysc3839
V2EX  ›  问与答

想模仿一个免费闭源的工具,写一个功能相同的开源工具,需要注意什么?

  •  
  •   ysc3839 · 2017-08-02 17:35:14 +08:00 · 4095 次点击
    这是一个创建于 2700 天前的主题,其中的信息可能已经有所发展或是发生改变。
    要模仿的软件是这个 http://rammichael.com/textify

    听说过一个术语叫 Clean Room Design,是不是按照这个做就没问题呢?
    第 1 条附言  ·  2017-08-02 20:16:09 +08:00
    或者,是不是我不反编译那个工具,只是模仿就没问题了吗?
    13 条回复    2017-08-02 20:15:32 +08:00
    zuolan
        1
    zuolan  
       2017-08-02 17:46:22 +08:00
    这个软件的原理是什么?
    ysc3839
        2
    ysc3839  
    OP
       2017-08-02 17:48:15 +08:00
    @zuolan IAccessible 接口,专门给辅助功能软件用的。
    https://msdn.microsoft.com/en-us/library/windows/desktop/dd318466(v=vs.85).aspx
    geelaw
        3
    geelaw  
       2017-08-02 17:51:45 +08:00 via iPhone
    Clean room 是防止开源协议的传染,例如通过 clean room 实现闭源的 WSL。不过类似思想可以,按照中国法律,你可以以学习观摩的目的摸索出其原理,然后把它教给另一个人,再由另一个人实现并开源发布。
    zhangneww
        4
    zhangneww  
       2017-08-02 17:52:01 +08:00
    这个很 6,路过支持一下
    geelaw
        5
    geelaw  
       2017-08-02 17:52:46 +08:00 via iPhone
    注意这样做不能消除专利的影响
    ysc3839
        6
    ysc3839  
    OP
       2017-08-02 18:01:00 +08:00
    @geelaw 那 ReactOS 是怎么做的呢?
    geelaw
        7
    geelaw  
       2017-08-02 18:03:58 +08:00 via iPhone
    @ysc3839 兼容不代表就要看代码,读文档然后按文档实现一份儿。
    likaci
        8
    likaci  
       2017-08-02 18:13:59 +08:00
    之前用 ahk 写过一个类似功能的脚本,不用 win 之后还挺怀念 ahk 的
    https://github.com/likaci/Get2Search
    ysc3839
        9
    ysc3839  
    OP
       2017-08-02 18:39:11 +08:00
    @likaci 不是你这个原理
    Yvette
        10
    Yvette  
       2017-08-02 19:45:20 +08:00
    http://www.reactos.org/wiki/FAQ#Is_ReactOS_legal.3F

    我理解的是,看起来功能相同但是只要实现方式不同就没问题。如果实现方式也相同,可能就违反专利或者有法律问题了。

    另外你提到他们软件使用 IAccessible,如果你看过那家软件的源代码,确切地知道了他们就是用 IAccessible 或者其他方式实现的,而你用完全一样的方法,就不行。但是如果他们自己有公开的文档说他们使用 IAccessible 实现,或者没有任何公开信息表明具体实现,你用 IAccessible 就没问题。

    所以只是模仿功能就没什么问题。这只是我的理解,不一定对。
    TigerK
        11
    TigerK  
       2017-08-02 19:49:20 +08:00
    我记得以前遇到过一个专门复制无法复制的文字的小软件,是把软件里的一个东西拖动到别的窗口上面实现的,不需要什么快捷键。
    ysc3839
        12
    ysc3839  
    OP
       2017-08-02 19:53:30 +08:00 via Android
    @TigerK 那是一般的窗口探测工具了,和这个原理也不一样。
    crab
        13
    crab  
       2017-08-02 20:15:32 +08:00
    微软 AccExplorer32.exe
    AccessibleObjectFromWindow
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3871 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:12 · PVG 13:12 · LAX 21:12 · JFK 00:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.