```

[Congressional Bills 105th Congress]
[From the U.S. Government Publishing Office]
[S. 1692 Introduced in Senate (IS)]

105th CONGRESS
  2d Session
                                S. 1692

 To amend the Internal Revenue Code of 1986 to provide software trade 
                          secrets protection.

_______________________________________________________________________

                   IN THE SENATE OF THE UNITED STATES

                           February 27, 1998

     Mr. Nickles (for himself, Mr. Baucus, Mrs. Hutchison, and Mr. 
  Murkowski) introduced the following bill; which was read twice and 
                  referred to the Committee on Finance

_______________________________________________________________________

                                 A BILL

 
 To amend the Internal Revenue Code of 1986 to provide software trade 
                          secrets protection.

    Be it enacted by the Senate and House of Representatives of the 
United States of America in Congress assembled,

SECTION 1. SHORT TITLE.

    This Act may be cited as the ``Software Trade Secrets Protection 
Act''.

SEC. 2. SOFTWARE TRADE SECRETS PROTECTION.

    (a) In General.--Subchapter A of chapter 78 of the Internal Revenue 
Code of 1986 (relating to examination and inspection) is amended by 
redesignating section 7612 as section 7613 and by inserting after 7611 
the following:

``SEC. 7612. SPECIAL PROCEDURES FOR SUMMONSES FOR COMPUTER SOFTWARE.

    ``(a) Limitation on Authority to Require Production of Computer 
Software Source Code.--
            ``(1) In general.--No summons may be issued under this 
        title, and the Secretary may not begin any action under section 
        7604 to enforce any summons, to produce or examine any computer 
        software source code or related customer communications, and 
        training materials.
            ``(2) Exception where information not otherwise available 
        to verify correctness of item on return.--Paragraph (1) shall 
        not apply to any portion, item, or component of computer 
        software source code if--
                    ``(A) the Secretary, without examining the computer 
                software source code, is unable to otherwise ascertain 
                with reasonable accuracy the correctness of any item on 
                a return after employing auditing procedures and 
                practices otherwise used pursuant to this title,
                    ``(B) the Secretary identifies with reasonable 
                specificity the portion, item, or component of such 
                code needed to verify the correctness of such item on 
                the return, and
                    ``(C) the Secretary demonstrates that with respect 
                to the issue under examination the need for the 
                portion, item, or component of the computer software 
                source code requested outweighs the burdens of 
                production imposed on the summoned person and the risks 
                of disclosure of trade secrets.
            ``(3) Other exceptions.--Paragraph (1) shall not apply to--
                    ``(A) any inquiry into any offense connected with 
                the administration or enforcement of the internal 
                revenue laws, and
                    ``(B) any computer software developed by the 
                taxpayer or a related person (within the meaning of 
                section 267 or 707(b)) for internal use by the taxpayer 
                or such person and not for commercial purposes.
            ``(4) Enforcement proceeding.--In any proceeding brought 
        under section 7604 to enforce a summons issued under this 
        section, the court shall hold a hearing to determine whether 
        the Secretary has met the requirements of paragraph (2).
            ``(5) Compliance with summons for computer software source 
        code.--Any person to whom a summons for a portion, item, or 
        component of computer software source code is issued shall be 
        deemed to have complied with such summons by producing a hard-
        copy printout of such code.
    ``(b) Protection of Trade Secrets and Other Confidential 
Information.--
            ``(1) Entry of protective order.--In any court proceeding 
        to enforce a summons for any portion of software, the court may 
        receive evidence and issue any order necessary to prevent undue 
        burdens or the disclosure of trade secrets or other 
        confidential information with respect to such software, 
        including providing that any information be placed under seal 
        to be opened only as directed by the court.
            ``(2) Protection of software.--Notwithstanding any other 
        provision of this section, and in addition to any protections 
        ordered pursuant to paragraph (1), in the case of software that 
        comes into the possession or control of the Secretary in the 
        course of any examination with respect to any taxpayer--
                    ``(A) the software may be examined only in 
                connection with the examination of such taxpayer's 
                return,
                    ``(B) the software may be disclosed only to persons 
                conducting such examination whose duties or 
                responsibilities require access to the software,
                    ``(C) the software shall be maintained in a secure 
                area or place, and, in the case of computer software 
                source code and related documents, shall not be removed 
                from the owner's place of business,
                    ``(D) the software may not be copied except as 
                necessary to perform such examination,
                    ``(E) at the end of the examination (and any 
                judicial review of the summons issued under this 
                section), the software and all copies thereof shall be 
                returned to the person from whom they were obtained and 
                any copies thereof made under subparagraph (D) on the 
                hard drive of a machine or other mass storage device 
                shall be permanently deleted and any notes or other 
                memoranda made with regard to such software shall be 
                destroyed,
                    ``(F) the software may not be decompiled, 
                disassembled, or reverse engineered, and
                    ``(G) the Secretary shall provide to the taxpayer 
                and the owner of any interest in such software, as the 
                case may be, a written agreement between the Secretary 
                and any person who will examine or otherwise have 
                access to such software, in which such person agrees--
                            ``(i) not to disclose such software to any 
                        person other than authorized employees or 
                        agents of the Secretary during and after 
                        employment by the Secretary, and
                            ``(ii) not to compete with the owner of the 
                        software for a period of 2 years after 
                        disclosure to such person of such software.
        ``The owner of any interest in the software shall be considered 
        a party to any agreement described in subparagraph (G).
    ``(c) Compliance With Summons for Certain Computer Software 
Executable Code.--Any taxpayer to whom is issued a summons for 
commercially available computer software executable code used to 
prepare such taxpayer's return or to account for the taxpayer's 
transactions with others shall be deemed to have complied with such 
summons by producing a read-only version of such code.
    ``(d) Definitions.--For purposes of this section--
            ``(1) Software.--The term `software' includes computer 
        software source code and computer software executable code.
            ``(2) Computer software source code.--The term `computer 
        software source code' means--
                    ``(A) the code written by a programmer using a 
                programming language which is comprehensible to 
                appropriately trained persons, is not machine readable, 
                and is not capable of directly being used to give 
                instructions to a computer, and
                    ``(B) related programmers' notes, design documents, 
                memoranda, and similar documentation, excluding 
                customer communications and training materials.
            ``(3) Computer software executable code.--The term 
        `computer software executable code' means--
                    ``(A) any object code, machine code, or other code 
                readable by a computer when loaded into its memory and 
                used directly by such computer to execute instructions, 
                and
                    ``(B) any related user manuals.''.
    (b) Unauthorized Disclosure of Software.--Section 7213 of the 
Internal Revenue Code of 1986 (relating to unauthorized disclosure of 
information) is amended by redesignating subsection (d) as subsection 
(e) and by inserting after subsection (c) the following:
    ``(d) Disclosure of Software.--Any person who divulges or makes 
known in any manner whatever not provided under section 7612 to any 
other person software (as defined in section 7612(d)(1)) shall be 
guilty of a felony and, upon conviction thereof, shall be fined not 
more than $5,000, or imprisoned not more than 5 years, or both, 
together with the costs of prosecution.''.
    (c) Conforming Amendment.--The table of sections for subchapter A 
of chapter 78 of the Internal Revenue Code of 1986 is amended by 
striking the item relating to section 7612 and by inserting the 
following:

``Sec. 7612. Special procedures for summonses for computer software.
``Sec. 7613. Cross references.''.
    (d) Effective Date.--The amendments made by this section shall take 
effect on the date of enactment of this Act.
                                 <all>
```