-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hartmut Birr wrote:
This type of reverse-engineering is prohibited by law in many countries.
It gives M$ a very easy way to kick the project.
I can't believe that the project was started with this justification.
Reverse-engineering covers a broad scope; however, even this type of
reverse-engineering is permitted. Nobody can prohibit you from looking
at anything, as that would be unconstitutional (in the States).
However, they *can* prohibit you from copying the code. Note that
copying the code doesn't state "Copy and Paste". If a substantial CHUNK
of code is exactly identical, then there's question. However, stacks
and other things that are predefined sizes, cannot be claimed to be
violation of any copyrights; If I want to skip past 4 parameters on the
stack, for example, and that stack has 4 bytes per item, then I must
jump back 16 bytes. That doesn't matter what the implementation is,
those are the mathematical facts.
However, that having been said, while "clean room" development, so to
speak, takes longer, it is preferred in commercial projects so as to
avoid the legal questions. However, when using this approach, much more
documentation must be done to prove the method and document the process.
FLOSS projects that have developers outside of copyright/patent
enforcing countries can pretty well do as they wish; their code cannot
be prosecuted since they hold the copyright. However, in that case,
infringing code can be held against the /distributor/ of the code, and
that can in turn become a very messy legal spat.
Clean room RE processes really are the only way to make the mess go
away; but it will significantly slow development compared to more "dirty
room" methods. It does, however, eliminate many possibilities and
questions as to how code works and how it doesn't infringe upon others.
- Mike
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Mozilla -
http://enigmail.mozdev.org
iD8DBQFD0GYCPXInbkqM7nwRAhpBAJ0ah6ax/r5+X9GDA8ZCNDf06JqfWgCeNV9h
/xCfZhFzkg0/gis6j9KNt/c=
=geK7
-----END PGP SIGNATURE-----