===== Legal Questions: DMCA & Red5 ===== First, we make it clear: we are here to support Macromedia and Flashers the world around. We have always stated it, and we will continue to show it in our actions and statements. We hope to enrich the community AND projects everywhere with Red5. We've been hearing alot about FUD and Reverse Engineering. So, to clear up the questions with where we're coming from, I've posted a blurb from the DMCA that *could have* related to us. I say *could have* because it talks about how and why it's legal to reverse engineer software that you own. Thing is, if you read through the entire doc [[http://www.acmewebworks.com/red5/dmca/dmca.html|here]], you'll see that the issue revolves around the issue of circumventing a security measure put in place by the producer of the software to protect the technology. In the case of RTMP, we're sniffing packets (which is completely legal - read [[red5:discovery|Discovery through Observation]]) for creating software that is completely interoperable with a free Flash player that has *no* security measure in place with regards to RTMP. It recieves packets whether they be HTTP or RTMP - to cause the player to handshake via RTMP, all you have to do is send the proper packets - no encryption is required. So, by the fact that looking at packets to see how they're constructed and then recreating those packets to cause a free player to respond back for the purpose of interoperability, we see no issue with this process at all. Below is a snippet from the DMCA that talks about *IF* we had to by-pass a security measure (which we don't), we'd still have the right to create software that is interoperable. === DMCA Snippet === (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. (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. (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. (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.