|
From: | Ivan Vučica |
Subject: | Re: __NSCF** classes and libobjc2 dependency on C++ runtime |
Date: | Tue, 4 Jun 2013 19:52:48 +0200 |
Maxton, On 4. 6. 2013., at 19:27, Maxthon Chan <address@hidden> wrote:
I'm sure most of the GNUstep community is very confident both Apple and David know what they are doing, and that David knows just enough about what Apple is doing without compromising his or GNUstep's legal position :-) Besides, why is this technical detail about library relationships important? We need to have similar behavior, not exact implementation. If GNUstep does or can do things differently without confusing the end user or breaking expectations, that's better from a legal (and, perhaps more importantly, moral!) standpoint. I'm all for as much compatibility with Apple implementation as possible. But, I was told enough times on these very lists that GNUstep doesn't need to be a clone of anything. And I agree. My Core Animation implementation, for example, does not do things "the Apple way". And I mean that on the deepest level. One can accidentally, without digging, see in the backtrace of a crashing program that Apple implemented Core Animation in C++. I didn't. Their implementation will perhaps be faster even when the GNUstep implementation is optimized and reoptimized and reoptimized. My implementation, however, does not really have to differentiate between animatable and non-animatable properties too much. I don't know if theirs internally does; but their docs talk about it as if it does.
I attended Stallman speeches here in Zagreb, one of them relating to patents. Let's just say that sometimes you don't even have to study someone's code to be infringing on a patent. And Apple has DEFINITELY accepted a lot of things that they later pulled; even their own rulebook says that thing happens. For example, recently they let through a full-blown emulator, something they really don't like. That doesn't mean we should take it for granted.
This, I think, is good enough, as long as you don't go out of your way to replicate exact implementations.
Of course you don't have access, that's the 'reverse engineering' part :-) It's a thin line between reimplementing and outright cloning, though. David is making a very strong point here about GNUstep already having a different implementations of the runtime, with its own strengths and weaknesses compared to Apple's implementation. Do we need to replicate every detail of their implementation? :-)
Sure, the primary purpose of classdump is reverse engineering. At issue is what's done after dumping the headers :-) Most people do useful stuff on Apple platforms; I'm sure Apple won't object too loudly to, for example, Dropbox hacking into Finder to deliver better experience. If a different implementation of one of their main products starts poking deep into the system in order to replicate it? Well, you know what happened to Samsung for replicating visual identity.
Now, now. That's actually not a nice statement from you. Although it might seem selfless, it's in fact selfish. Imagine the "risky" knowledge you obtained gets used by a company in a commercial product. (Neither GPL nor LGPL object to commercial use within their terms.) Now, this company gets in trouble. You're safe inside P.R.C.; what about this U.S. or U.K. company? What's the legal climate in Japan? It's good that GNUstep keeps caring about legal issues; this makes it more possible that someday a new midsize or large corporate contributor appears and joins the party. |
[Prev in Thread] | Current Thread | [Next in Thread] |