Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Dec 2000 23:30:03 -0800
From:      "Jeremiah Gowdy" <jgowdy@home.com>
To:        "SteveB" <admin@bsdfan.cncdsl.com>, "Drew Eckhardt" <drew@PoohSticks.ORG>, <hackers@FreeBSD.ORG>
Subject:   Re: FreeBSD vs Linux, Solaris, and NT 
Message-ID:  <000901c06be9$00910570$aa240018@cx443070b>
References:  <NEBBIGOKKMNLOMOHMJNPAEMJCNAA.admin@bsdfan.cncdsl.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> Trouble is there is no consistency in the rulings.

United States Code Title 17 Chapter 12 Section 1201 Subsection (f)

My basic interpretation of this is, if you legally own a copy of the
software (firmware is software), you can legally reverse engineer the
software for the purpose of achiving interoperability.  Therefore, if you
own a piece of hardware, and you have no driver for the hardware, or the
driver provided is not acceptable, you have the right to reverse engineer
the firmware in order to write your own driver, thereby achiving
interoperability.  According to part 3 of subsection (f) the information
gathered by the person doing the reverse engineering may be shared with
anyone else who wishes to use the knowledge to achive interoperability as
defined in parts 1 and 4.  Hence, if I write a driver from my reverse
engineering to achieve interoperability between FreeBSD and the firmware in
my device, I may share that driver with anyone else who plans to use it for
that same purpose.  This section is part of the Digital Millennium Copyright
Act (Title 17 Chapter 12 Section 1201).


a.. (f) Reverse Engineering. - (1) Notwithstanding the provisions of
subsection (a)(1)(A), a person who has lawfully obtained the right to use a
copy of a computer program may circumvent a technological measure that
effectively controls access to a particular portion of that program for the
sole purpose of identifying and analyzing those elements of the program that
are necessary to achieve interoperability of an independently created
computer program with other programs, and that have not previously been
readily available to the person engaging in the circumvention, to the extent
any such acts of identification and analysis do not constitute infringement
under this title.
  a.. (2) Notwithstanding the provisions of subsections (a)(2) and (b), a
person may develop and employ technological means to circumvent a
technological measure, or to circumvent protection afforded by a
technological measure, in order to enable the identification and analysis
under paragraph (1), or for the purpose of enabling interoperability of an
independently created computer program with other programs, if such means
are necessary to achieve such interoperability, to the extent that doing so
does not constitute infringement under this title.
  a.. (3) The information acquired through the acts permitted under
paragraph (1), and the means permitted under paragraph (2), may be made
available to others if the person referred to in paragraph (1) or (2), as
the case may be, provides such information or means solely for the purpose
of enabling interoperability of an independently created computer program
with other programs, and to the extent that doing so does not constitute
infringement under this title or violate applicable law other than this
section.
  a.. (4) For purposes of this subsection, the term ''interoperability''
means the ability of computer programs to exchange information, and of such
programs mutually to use the information which has been exchanged.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000901c06be9$00910570$aa240018>