> >> That wouldn't be a "port" as I understand the term.
> Peter> Well, you have a point. A port usually uses whitebox info,
> Peter> because it's assumed that the target system is like the
> Peter> source system, and so the code is of use. But it doesn't
> Peter> have to.
> It does! The word "port" itself means to "bring something to
> somewhere new". e.g. If you're planting your own crops, you aren't
> im"port"ing them.
I take your point, but disagree about the absoluteness of your claim -
not looking at the original source at all is merely a trivial case of
looking at it somewhat. I've often reimplemented C library functions
(strstr, ..) without looking at the C library code, for example, simply
to support platforms which don't have that particular functionality in
their system. The manpage is all I need in order to do a "port".
Quote:> Peter> The linux kernel ports, for example, often don't
> Peter> have any way to make use of each others code, but yes, they
> Peter> do benefit from seeing how it's been done on the other
> Peter> system.
> As long as they adapt the original code to suit the new environment,
> that's technically called "porting".
But they don't. It's usually a "write from scratch". They didn't start
with the original code and go through line by line swapping one thing
for another, which is what I think you are thinking of. They had to
implement an interface and they did it. They might have had to look at
the original code to get the semantics of the interface they were supposed
to be implementing, but that's because they don't have a man page.
Quote:> Peter> Still, a port is quite possible with only a blackbox to
> Peter> look at.
> That's not called "porting" in any technical sense. You can say it's
> "cloning" or "(cleanroom) reimplementation".
Well, I'd call it a port.
Quote:> Peter> And in the case of wine, people run disassemblers, tracers,
> Peter> and so on, to get greybox data.
> Are you sure they really use disassemblers and tracers? In some
Quote:> countries, these are disallowed by copyright. But reverse-engineering
They're specifically allowed in all countries I know! Copyright
cannot control such a thing. You can do what you like with your OWN
copy. It would be a licensing issue if anything, not copyright, and
license cannot abrogate your right to reverse engineer (in europe
Quote:> is usually OK.
> I think the WINE team only developed the API, and used their own
> implementation to watch the behaviours of some Windows programs. They
> did reverse-engineering some non-conformant behaviours. (Yes, even M$
> does not conform to the APIs that they define, and they often do it
That is correct.