Rat wrote:Unless they changed every line of code, (unlikely in the extreme), then the FSF could quite reasonably launch an action against them, (as they did with LinkSys and the WRT54G). They are basically thumbing their noses at the Open-Source community...
Maybe, maybe not. Absent a "clean room" implementation with no access to the previous open source version (which in my view would be the only way to do it legitimately), it would be kind of an elementary exercise to rewrite each routine in a slightly different way. I just don't know how much of such "open book" rewriting would constitute a successful evasion of copyright law. (And it's important to remember that the code isn't protected by the GPL so much as that it's protected by simple <b>copyright law</b>. Teamviewer has no more right to re-use and close UltraVNC code than they have right to re-use MS Word or Photoshop code. Unless they paid all the original and contributory developers of course.)
Secondly, I think it wouldn't be the FSF who would have to initiate any action, but rather the copyright holders. The last UltraVNC server I checked simply shows "Copyright 2009 UltraVNC". Without a complainant I don't think the FSF does (or can do) anything.
[ Edit: Downloaded readme actually shows "Copyright (C) 2002-2008 Ultr@VNC Team - All rights reserved" This is for the 1.0.8.2 source which curiously reads "Ultr@VNC 1.0.5 release" throughout. Other copyright notices include "// Copyright (C) 2002 Ultr@VNC Team Members. All Rights Reserved.
// Copyright (C) 2000-2002 Const Kaplinsky. All Rights Reserved.
// Copyright (C) 2002 RealVNC Ltd. All Rights Reserved.
// Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.
// " ]
Thirdly, for all we know they DID pay UltraVNC for a closed license. (Whether that's even possible considering the origin of the GPL code, through both AT&T/Olivetti and RealVNC, is another question.)
Fourthly, couldn't one simply decompile the relevant executables and compare against a similar binary decompile of UltraVNC and/or the UltraVNC source? Changing variable names would be easy (and expected) but if entire sections of code have the same syntax and substance, it couldn't be <b>too</b> difficult to identify, or so I would guess.