|
发表于 2013-1-9 23:11:40
|
显示全部楼层
本帖最后由 happytc 于 2013-1-9 23:15 编辑
回复 1# rst52013353
我来转一篇文章,你看了就知道是au3 的作者是谁了,顺便也看看Autoit和Autohotkey之间的恩恩怨怨
---------------------------------------------------------------------- 转文章 -----------------------------------------------------------------------------
对AutoHotkey 和 AutoIt 都感兴趣的不妨看看。
首先有必要让大家了解一点:AutoHotkey和AutoIt的主作者分别是Chris和Jon。
AutoHotkey 发布过的最古老的beta版本: 0.205 BETA - November 10, 2003(即2003-11-10)
AutoIt v3 发布过的最古老的beta版本: First public beta binary - 4th Mar, 2003.(即2003-03-04)
(以上数据来自各自的官方网站,分别是:
http://www.autohotkey.com/changelog/2004.htm
http://www.autoitscript.com/auto ... ngelog_complete.txt)
在两者的论坛上分别搜索对方的名字(AutoHotkey/AHK 或 AutoIt/AUT/AU3),你肯定会发现有不少的讨论乃至争执。
AutoHotkey “偷用”了AutoIt v2 或v3的源代码?AutoHotkey 抄袭了AutoIt 的idea?究竟事实是怎样的呢?
先看看Chris是怎么说的:
“The AutoHotkey project began about two years ago because I loved AutoIt v2 but wanted faster, better, and built-in hotkeys. ”
我很喜欢AutoIt v2,但我需要更快、更好用的脚本语言,以及更好的热键支持,所以大约在两年前我开始动手写AutoHotkey
“Although AutoHotkey does not use any AutoIt v2 source (I didn't even know its source had been released), it does use AutoIt v3 source for about 34 commands, such as Process
and FileCopy. ”
尽管AutoHotkey未曾使用过AutoIt v2的源代码(我甚至不知道它的源代码有发布过),但它确实使用了AutoIt v3 的部分源代码来实现大约34个命令,比如Process 和 FileCopy等。
“In addition, AutoHotkey includes ahk2exe, which is a modified version of Jon's script compiler.
”
此外,AutoHotkey所带的ahk2exe实际上是Jon(AutoIt的主作者)写的脚本编译器的修改版。
“In addition, it includes AutoScriptWriter (the macro recorder) and Window Spy, both of which were written by
Larry Keys. ”
包括AutoScriptWriter和Window Spy在内,都是Larry Keys写的。
上面提到的34个命令包括:
Control
ControlClick
ControlFocus
ControlGet
ControlGetFocus
ControlGetPos
ControlGetText
ControlMove
EnvUpdate
FileCopy
FileCopyDir
FileCreateShortcut
FileGetShortcut
FileGetVersion
FileMove
FileMoveDir
FileRecycle
FileRecycleEmpty
FileRemoveDir
FileSelectFolder
IniDelete/Read/Write
MouseMove's incremental cursor movement
PixelGetColor
Process
RegDelete/Read/Write
RunAs
Shutdown
SplashTextOn/Off
URLDownloadToFile
(以上内容参见http://www.autohotkey.com/forum/viewtopic.php?p=19710#19710,此帖最后修改日期为2006-08-14)
尽管如此,Chris强调“AutoHotkey.exe is over 95% the work of myself, Aurelian Maga, Gregory F. Hogg, and Joost Mulders”(AutoHotkey.exe 有95%以上的部分都是由Chris, Aurelian Maga, Gregory F.
Hogg, 和 Joost Mulders完成的)
【事实上,之所以Chris使用了AutoIt的源代码来实现这些命令,我想他的初衷是想节省时间,毕竟要完全抛弃已有的东西重新编写是不划算的。而且这些命令大部分都是很容易实现的(不过是使用API罢了),几乎简单到从MSDN上COPY一下就可以了。更何况当时AutoIt是开源的,这样做也没有不对的地方】
或许还是有疑惑:Chris提到他“使用”了AutoIt v3的源代码,那这种行为是否符合相关的国际约定?
我们再来看看AHKnow的说法:
2. I believe AutoHotkey was developed in the period of time when it was believed AutoIt version 2 had stopped development and there was no version 3. Also, the idea of focusing on "hot keys" was presented to AutoIt developers but nobody responded to the idea at the time.
我相信Chris开始写Autohotkey的大致时间是在人们普遍认为Autoit 小组已经停止开发Autoit v2的时候,而在当时AutoIt v3尚未发布。Chris希望能在热键这方面做得更好一些,于是他向Autoit的开发小组表示愿意参与到合作中以实现此部分内容,但似乎没人对他的idea有兴趣,Chris得到的只是冷板凳(我联系Jon商量中文帮助文档的发布时也有着类似的遭遇,yonken注)。
3. The AutoIt version 3 source code was
initially OPEN source. Edit - AutoIt version 2 source code appears to have been only available by request, but if the AutoIt version 2 license was GPL than it is still considered OPEN source even if the author tries to hide or make it hard to get the source.
Autoit v3一开始是开源的,而Autoit v2的源代码却似乎需要用户主动询求才能获得,不过,只要Autoit v2是基于GPL协议的,那么我们仍应视其为开源的(即使它的作者试图“隐藏”源代码或故意使用户不能轻易获得源代码)。
5. Initially, many members of AutoIt (including its author) endorsed, supported, or recommended AutoHotkey to AutoIt version 2 users.
一开始,Autoit的许多成员(包括它的作者在内)都认可、支持AutoHotkey,甚至还向Autoit v2的用户推荐AutoHotkey。
This is why, initially, there was a free flow exchange of information and ideas between the projects.
这也是为什么当时这种在两个项目之间技术信息和创新想法层面上的自由的交流会如此火热的原因
But, when the author and co. decided to go back to developing AutoIt and came out with version 3, it was then that things slowly got hostile. As time went by the author of AutoIt and various other developers of it took issue with AutoHotkey.
然而,自从AutoIt的作者及其团队决定回到项目中继续开发AutoIt并在后来发布AutoIt v3开始,事情开始变得带有敌对的味道了。再后来,AutoIt的作者及其团队成员开始和AutoHotkey争起来了。
6. The exchange of ideas and information
between AutoIt and AutoHotkey was not just one direction. Arguably the idea of adding hot key support came first with AutoHotkey and the idea was "copied" by the AutoIt developers.
在AutoIt和AutoHotkey之间的技术交流可不是单向的。起码添加热键支持这个想法可是首先在AutoHotkey中提出(并实现)的,而这个idea则被“复制”到AutoIt中。
Also, a lot of the syntax and ideas used originally by AutoIt came from ScriptIt. ScriptIt was a Microsoft project based on WinBatch (another and older automation program).
另外,AutoIt的语法和许多idea都是来自/参考ScriptIt的。ScriptIt则是Microsoft的一个基于WinBatch(另一个更古老的自动化程序)的项目。
(参见http://www.microsoft.com/technet ... loads/scriptit.mspx,yonken注)
First off, AutoHotkey was out before I ever saw any version of AutoIt version 3 come out.
首先,在AutoHotkey发布之前我并未看过任何所谓的AutoIt v3出现过。
Back then, the AutoIt author allowed people access to AutoIt's source code and it was not "closed source" as it is now.
那时,AutoIt 的作者允许大家获得AutoIt的源代码,而不是像现在这样“闭源”(相对“开源”而言)。
Even if AutoIt3's source code was out before AutoHotkey, it would have to be given to Chris by AutoIt's author or have been available for download.
即使AutoIt v3的源代码在AutoHotkey发布之前就有了,那也肯定是AutoIt的作者自己把源代码给了Chris,或者当时已提供源代码/工程文件的下载。
(以上内容参见http://www.autohotkey.com/forum/ ... autoit&start=15) 那Chris真的是从AutoIt的作者那里得到的源代码吗?我们可以从AutoIt的论坛上得到论证(发帖者是Holger,AutoIt的开发成员之一):
Dave, Jon told me that he gaves the source-code to Chris (the Re-Author of AHK) so I think this should be no problem.
Dave,Jon告诉我说是他自己把源代码给了Chris的,所以我觉得那样做(指在AutoHotkey中使用AutoIt的部分代码)并没什么问题。
(参见http://www.autoitscript.com/foru ... 7&hl=autohotkey)
最后我们再来看看Chris的总结性发言:
Jon did not want a keyboard or mouse hook in AutoIt because it was not compatible with Win9x and also might increase the chances that AutoIt would be flagged as a virus by various virus detectors. In addition, there was initially little interest by the AutoIt developers in having hotkeys in AutoIt.
当时Jon并不打算在AutoIt中使用鼠标或键盘钩子,因为那和Win9x不兼容,而且还可能会增加AutoIt被防毒软件误报为病毒的风险。另外,AutoIt的开发者们也似乎对增加热键支持“不太感冒”。
接着Chris还列出了AutoHotkey的timeline:
April 21, 2003: Work began on AutoHotkey because I loved AutoIt v2 but also loved hotkeys and was disappointed with the OS's built-in hotkey support.
2003-04-21:开始动工;
July 15, 2003: AutoIt v3 beta development is getting into high gear: A new version has just been released that supports user defined functions
(UDFs).
2003-07-15:AutoIt v3 的开发有了新的进展:新发布了一个支持UDF的版本
Sept 6, 2003: I posted a long proposal to the AutoIt mailing list entitled "Integration of hotkey (shortcut key) support into AutoIt". I expressed my interest in becoming an AutoIt developer who would focus on hotkey support. I also asked for opinions about how difficult it would be to integrate the AutoHotkey concepts and source code with AutoIt, and mentioned the benefits of having a unified product (synergy). I didn't get much response to my post, and overall the impression was that Jon and most of the other AutoIt developers were not interested in hotkeys at that time. Shortly thereafter, I announced my intent to release a separate product that would focus on hotkey support and AutoIt v2 compatibility.
2003-09-06:给AutoIt开发小组发邮件,提议在AutoIt中增加热键支持,并提出了成为AutoIt开发成员以实现该部分功能的请求。我也表达过让两者(AutoHotkey和AutoIt)统一成一个产品的想法。 可惜,我没有得到回应,这让我感觉到Jon和大多数的AutoIt开发成员都对热键不感兴趣。随后,我宣布将发布一个专注于热键支持、提供对AutoIt v2兼容的独立的产品。
Nov 10, 2003: First public beta of AutoHotkey. 2003-11-10:发布AutoHotkey的第一个beta版 Jan 8, 2004: Hotkey support is added to AutoIt v3 (3.0.85 beta). The first non-beta version of AutoIt v3 would be released about 7 weeks later. 2004-01-08:AutoIt v3 (3.0.85
beta)添加热键支持。第一个非beta版的AutoIt v3在7周之后发布。 |
|