[Congressional Record Volume 144, Number 17 (Friday, February 27, 1998)]
[Senate]
[Pages S1156-S1160]
From the Congressional Record Online through the Government Publishing Office [www.gpo.gov]

      By Mr. NICKLES (for himself, Mr. Baucus, Mrs. Hutchison, and Mr. 
        Murkowski):
  S. 1692. A bill to amend the Internal Revenue Code of 1986 to provide 
software trade secrets protection; to the Committee on Finance.


                 Software Trade Secrets Protection Act

  Mr. NICKLES. Mr. President, recent Congressional oversight of the 
Internal Revenue Service has revealed an agency which has virtually 
limitless power to enforce the tax code. One aspect of this power is 
the ability of the IRS to use its summons authority to force taxpayers 
to turn over books, papers, records, or other data in the course of an 
audit.
  Recently, the IRS has started to use its administrative summons power 
to gain access to the source code for computer software products. 
Source code for software is a human-readable form of computer language 
written by software programmers, and it contains all the ``tricks of 
the trade'' which a programmer uses to ultimately make the software 
product do its job. After a programmer writes the source code, it is 
``compiled'' into machine-readable form called executable code or 
object code. If the software is being sold or otherwise distributed to 
customers, the executable code is copied onto diskettes or CD-ROM's for 
the customers' use.
  The IRS has used its summons power to obtain computer software source 
code in several different audit situations. The IRS has sought the 
source code for the software used to produce the tax return from the 
vendor of the software.
  The IRS has sought the source code for a software product in 
connection with a Section 482 transfer pricing audit with respect to a 
license for the software product to a foreign subsidiary, and the IRS 
has summoned the source code for software developed by a computer 
service company in the course of an audit of the firm's research and 
experimentation credit. The IRS has summoned the executable code of 
taxpayer's tax preparation software in order to run ``what-if'' 
scenarios based on the taxpayer's records during an audit.
  The primary problem with complying with these summons is that, in 
each instance the IRS would need to hire an outside consultant in order 
to make any meaningful use of the source code. Such outside consultants 
likely would be competitors or potential competitors of the software 
company. A skilled computer programmer can discern the software 
company's trade secrets from an examination of the source code, whereas 
trade secrets cannot readily be discerned from an examination of the 
executable code.
  Further, problems can also arise when the IRS issues a summons to a 
computer software company in connection with an audit of one of their 
customers. This requires the software publisher to look through its 
own, not the taxpayer's, voluminous records for the relevant versions 
of the programs in

[[Page S1157]]

question. This can place an undue burden on the software publisher by 
requiring their key technical personnel to be diverted from their 
regular work to help with the tax audit of a customer.
  Finally, if the IRS is allowed to use a taxpayer's tax preparation 
software and records to run ``what-if'' scenarios during an audit, the 
taxpayer will be forced to justify a tax return they did not file.
  In several of these situations, Mr. President, the owner of the 
computer software source code has objected to the summons in order to 
protect their trade secrets. Unfortunately, because the IRS summons 
authority is so broad, the courts have been constrained to side with 
the IRS in most cases, leaving computer software companies with 
inadequate protection for their trade secrets.
  Perhaps a better way to explain the issue, Mr. President, is with the 
following analogy. Imagine that during an audit of the Coca-Cola 
Company, the IRS issues a summons for the secret recipe for Coke. Even 
though the IRS can see the Coke, taste it, and read the ingredients on 
the side of the can, they still insist on examining the secret recipe. 
Now, imagine further than the IRS admits that since they employ no one 
with expertise in this area, they will have to contract with experts 
from Pepsi to examine Coke's secret recipe. This is the dilemma facing 
the computer software industry.

  For these reasons, Mr. President, I am introducing the Software Trade 
Secrets Protection Act. This legislation is similar to a bill 
introduced in the House of Representatives by Congressman Sam Johnson, 
and the section 344 of H.R. 2676, the House-passed IRS reform bill.
  The Software Trade Secrets Protection Act provides a general 
prohibition on the IRS using summons authority to obtain computer 
software source code. The bill then sets out three exceptions to the 
general prohibition: (1) cases where the Secretary can demonstrate 
need, (2) criminal investigations, and (3) internally developed 
software where competitive issues are not implicated.
  In the first exception, the Secretary has the burden of showing that 
the need for the source code outweighs the burdens placed on the 
summoned person and the danger that its trade secrets might be exposed. 
The bill further provides a series of protections for both source code 
and executable code if it is eventually examined by the IRS, including 
provisions intended to prevent the IRS from using a taxpayer's software 
and data to run ``what-if'' scenarios during an audit.
  Mr. President, the U.S. software industry leads the world in the 
development of innovative products and cutting-edge technology. They 
are one of the fastest growing and most competitive industries in the 
nation, and their products are unique and ofttimes require special 
consideration. I believe Congressional hearings have shown what the IRS 
can and will do if its power is unrestrained. The Software Trade 
Secrets Protection Act creates good, common-sense restrictions on that 
power.
  I look forward to working with my colleagues on the Senate Finance 
Committee to include this legislation in IRS reform legislation this 
year.
  Mr. President, I ask unanimous consent that additional material be 
printed in the Record.
  There being no objection, the material was ordered to be printed in 
the Record, as follows:

                                S. 1692

       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--

[[Page S1158]]

       ``(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.
                                                                    ____


   Software Trade Secrets Protection Act--Section-by-Section Analysis


                          1. factual scenarios

       Recently, the Internal Revenue Service has started to use 
     its administrative summons power to gain access to the source 
     code for computer software products. The use of the summons 
     power to compel production of computer software source code 
     has come up in three situations. First, in connection with 
     the audit of certain taxpayers under the Coordinated 
     Examination Program, the IRS has sought the source code for 
     the software used to produce the tax return from the vendor 
     of the software. In other cases, IRS has sought the source 
     code for a software production in connection with a Section 
     482 transfer pricing audit. In the third class of cases, IRS 
     has summoned the source code for software developed by a 
     computer service company in the course of an audit of the 
     firm's research and experimentation credit. In each instance, 
     the IRS has signaled its intention to hire outside 
     consultants in order to make any meaningful use of the source 
     code. Such outside consultants likely would be competitors or 
     potential competitors of the software company.
       The source code for computer software is the human readable 
     form prepared by software programmers. After the source code 
     is prepared, it is then ``compiled'' into machine-readable 
     form called executable code or object code. The executable 
     code is then copied onto diskettes or CD-ROM's for 
     distribution to customers. A skilled computer programmer can 
     discern the software company's trade secrets from an 
     examination of the source code. Trade secrets cannot readily 
     be discerned from an examination of the executable code.
       The ease of misappropriating software trade secrets and 
     capitalizing on such secrets is unparalleled, especially 
     given advances in computer and communications technology.
       Computer software products undergo nearly continuous 
     change. Many times, it is not possible to match a particular 
     version of a product in the hands of a customer with a 
     discrete source code version. Software companies continually 
     revise their products and issue new versions. Within a 
     particular version, companies frequently issue updates and 
     corrections after a product is released. These interim 
     changes must first be made to the source code before the 
     machine-readable versions are released. Software companies 
     make such bug-fixes and patches available to their customers, 
     but typically the vendor does not know whether the customer 
     has installed them or not.
       Summonses issued to third-party record keepers typically 
     require the recordkeeper to identify and turn over to the IRS 
     documents regarding the taxpayer's financial transactions. By 
     contrast, a summons for source code could require a software 
     publisher to look through its own, not the taxpayer's, 
     voluminous records for the relevant versions of the programs 
     in question. Further, this would require programmers to 
     divert attention from programming to search for the summoned 
     code. Merely complying with a summons for source code could 
     cause competitive damage to a software company because key 
     technical personnel will be diverted to help with the tax 
     audit of a customer. This could be especially damaging to 
     small or medium-sized companies.


                          2. trade secret law

       The law of trade secrets provides an effective and 
     efficient method to protect commercially sensitive and 
     important business information. For many companies the law of 
     trade secrets is the method of choice for protecting valuable 
     business information. Trade secret law arises from state law. 
     Unlike patent, copyright and trademark law there is no 
     federal scheme for trade secret protection. The law of trade 
     secrets, depending upon the state, derives either from the 
     common law or the Uniform Trade Secrets Act. A slight 
     majority of states use the uniform act. The common law, as 
     set forth in the Restatement of Torts, Sec. 757, defines a 
     trade secret as follows:
       ``A trade secret may consist of a formula, pattern, device 
     or compilation of information which is used in one's 
     business, and which gives him an opportunity to obtain an 
     advantage over competitors who do not know it or use it. It 
     may be a formula for a chemical compound, a process of 
     manufacturing, treating or preserving materials, a patter for 
     a machine or other device, or a list of customers.''
       The Supreme Court has relied upon this definition to 
     require that for information to constitute a trade secret, it 
     must (1) be used in one's business, (2) provide a competitive 
     advantage, and (3) be secret.
       Under the Uniform Trade Secrets Act (Sec. 1(4)), a trade 
     secret is defined as follows:
       ``trade secret means information, including a formula, 
     pattern, compilation, device method, technique, or process 
     that:
       ``(1) derives independent economic value, actual or 
     potential, from not being generally known to, and not readily 
     ascertainable by proper means by, other persons who can 
     obtain economic value from its disclosure or use, and
       ``(2) is the subject of efforts that are reasonable under 
     the circumstances to maintain its secrecy.''
       The cornerstone of both definitions, whether common law or 
     statutory, is that the information must be kept secret. The 
     standard for secrecy for a trade secret comprises a two-
     pronged test: (1) whether the information alleged to be a 
     trade secret is generally known or available, and (2) whether 
     the trade secret owner takes affirmative steps to safeguard 
     the confidentiality of the information.
       Trade secret owners may protect information from 
     unauthorized disclosures by entering into contracts with 
     those to whom the confidential information is disclosed. Such 
     contracts typically take two forms. First, a trade secret 
     owner may require such a person to enter into a 
     ``nondisclosure agreement'' under which the individual 
     promises not to disclose or use trade secret information 
     without first obtaining the permission of the owner.
       The second type of contract is a post-employment ``non-
     competition agreement.'' Under this type of contract, an 
     employee or outside consultant agrees not to compete with the 
     present employer or client or become employed by a competitor 
     of the employer or client after termination of the current 
     relationship.
       Both types of agreements are widely used in the software 
     industry to protect trade secrets that might exist in 
     software source code.


                          3. IRC Section 6103

       Internal Revenue Code Section 6103 generally prohibits 
     Internal Revenue Service employees from disclosing tax 
     returns and ``tax return information.'' the United States and 
     its agents can be held liable for improper disclosures of tax 
     returns and tax return information. See I.R.C. Sec. 7431. 
     However, Section 6103 does not protect software source code 
     regardless of whether it is owned by the taxpayer or a third-
     party software vendor. Section 6103 expressly excludes from 
     the definition of ``return information'' ``data which is in a 
     form which cannot be associated with or otherwise identify, 
     directly or indirectly, a particular taxpayer.'' Generally 
     speaking, source code would not identify, either directly or 
     indirectly, the taxpayer and thus would not qualify as 
     ``return information.''
       In addition, were computer source code to be treated as 
     ``return information,'' Section 6103 contains numerous 
     provisions that actually authorize disclosure of return 
     information. Section 6103(n) permits disclosure of return 
     information to IRS contractors working on programming IRS 
     computers. Thus, defining computer source code as ``return 
     information'' actually would expose it to disclosure to 
     potential competitors of the software owner.


                        4. Overview of the Bill

       The bill reflects the basic premise that the subject matter 
     (computer software) is unique and justifies all relevant 
     provisions being collected in one section. The House bill, on 
     the other hand, attempts to address the problem by amending 
     several code sections in patchwork fashion.
       The general rule of the bill is a blanket prohibition on 
     the IRS using the summons authority to obtain computer source 
     code and related customer communications. It also prohibits a 
     summons for training materials. It then sets out three 
     significant exceptions to the prohibition: (1) cases where 
     the Secretary can demonstrate need, (2) criminal 
     investigations, and (3) cases involving internally developed 
     software where competitive issues are not implicated.
       Under the first exception, before a summons can be issued 
     for source code, the Secretary has the burden of 
     demonstrating that the need for the source code outweighs the 
     burdens placed on the summoned person and the danger that its 
     trade secrets might be exposed. The bill also sets out a 
     series of protections for both source code and executable 
     code in the hands of the IRS. These protections are in lieu 
     of whatever protections might be afforded by Section 6103.

[[Page S1159]]

                          5. Detailed Analysis

       Section (a)(1):
       This section establishes the general rule that no summons 
     may be issued, and no enforcement proceeding may be 
     commenced, for computer software source code and related 
     customer communications or training materials. This general 
     rule with respect to source code is subject to three 
     exceptions.
       Section (a)(2):
       The first exception is for cases where the Secretary can 
     establish that he cannot perform an accurate audit without a 
     review of computer software source code.
       The provision for a needs-based test recognizes that 
     questions may arise during an audit that can only be answered 
     with reference to the source code. It is intended that such a 
     summons might be issued only as a last resort and only 
     after traditional audit techniques have been exhausted. In 
     these circumstances, it is contemplated that the audit has 
     become focused on a particular issue or set of issues. The 
     Secretary may have had access to an executable version of 
     the software loaded with the taxpayer's financial data. At 
     some point in the audit, the Secretary and the taxpayer 
     may have been unable to verify the correctness of the 
     computation of an entry on the tax return under audit. 
     Further, in such a case, it is contemplated that the 
     Secretary will have asked the software publisher for 
     assistance in resolving this issue but been unable to 
     obtain a satisfactory answer. After the Secretary has 
     sufficiently identified the specific item on the return 
     for which source code is sought a summons can be issued 
     only for that portion of the source code that relates to 
     the specific entry on the tax return.
       In deciding whether a summons has been properly issued, a 
     balancing test is established in lieu of the current 
     standard. Under current law, all that the Secretary needs to 
     show is that the summoned material ``might shed some light'' 
     on the accuracy of the tax return. See United States v. 
     Powell, 379 U.S. 48 (1964). This standard was developed well 
     before the computer revolution and the proliferation of 
     software in the United States economy. It provides 
     considerably less protection that the standard applied by 
     most other federal agencies in similar cases. Despite having 
     written administrative policies acknowledging the importance 
     of protecting trade secrets, the Secretary has not, in 
     practice, honored those policies by showing adequate 
     sensitivity to the legitimate concerns of software 
     publishers.
       The bill replaces the Powell standard with a new balancing 
     test. To meet the balancing test, the Secretary, and any 
     court conducting a review, must determine whether the need 
     for the source code outweighs the burden on the owner of the 
     source code in complying with the summons and the danger that 
     its trade secrets might be exposed to a competitor.
       The initial threshold requires that the Secretary 
     demonstrate some need for the portion of the source code that 
     is sought. To meet this test, the Secretary must show that he 
     is unable to verify the correctness of the item without a 
     review of the source code. Ordinarily, the audit process 
     focuses on the taxpayer's financial records to determine 
     whether the tax return reflects a proper application of the 
     internal revenue laws to the facts. Importantly, traditional 
     computer audit techniques used to verify data in an efficient 
     manner are a part of this process and are not effected by the 
     bill. Such a process does not require the source code for the 
     software that might have been used to prepare the return. 
     However, in cases involving tax issues related to software 
     products, it is anticipated that very little if any probative 
     evidence could be gleaned from the source code.
       In assessing the burdens imposed on the owner of software 
     in complying with a summons issued under this section, it is 
     anticipated that the Secretary, and the courts, will focus on 
     a variety of issues. The chief factor to consider is the 
     degree of business interruption that would be caused by 
     compliance with the summons. Other factors to consider 
     include: (1) whether the software was initially developed by 
     the current owner of the software source code, (2) whether 
     the source code was developed by former employees, (3) the 
     degree to which the source code has changed since the 
     software was first developed and (4) whether the software 
     owner itself has put into issue the use or content of the 
     source code.
       The danger of trade of trade secret disclosure exists 
     anytime non-employees of the trade secret owner are allowed 
     access to confidential information. In weighting the risks of 
     trade secret disclosure, a factor to consider is the ability 
     to impose safeguards on such disclosure, including the 
     statutory protections available under subsection (b) of this 
     section.
       Section (a)(3), Other Exceptions:
       The general prohibition on issuing a summons or computer 
     source code does not apply to a summons issued in furtherance 
     of an inquiry into any criminal offense or with respect to 
     software developed by the taxpayer for its own internal use 
     and not for commercial purposes. The exception for internal 
     use software is to be applied to situations where the 
     taxpayer-developed software is used to process the taxpayer's 
     own financial transactions, provide internal accounting 
     functions, or to prepare such taxpayer's own tax return. It 
     is not to be applied to situations where a taxpayer develops 
     software that is used by it to provide a service to its 
     unrelated customers.
       Section (a)(4), Enforcement proceedings:
       Currently, the Secretary and the Court handle summons 
     enforcement proceedings in a summary fashion. Because the 
     burden on the Secretary is so low, the Secretary merely files 
     the affidavit of the Revenue Agent conducting the affidavit. 
     This shifts the burden to the summoned person to show cause 
     why the summons should not be enforced. This burden is a 
     heavy one and the summoned person often is not allowed 
     discovery for evidence that bears on such issues.
       Any time the Secretary brings an action to enforce a 
     summons issued under this section, the Court would be 
     required to conduct a hearing to determine whether the 
     Secretary has met the requirements of paragraph (2). The 
     courts shall allow the summoned party to conduct discovery so 
     that a proper defense can be presented. When a summons is 
     issued under this section for source code in the hands of a 
     third-party software publisher, the summoned person 
     ordinarily will have no independent knowledge of the facts 
     and issues surrounding the audit of the taxpayer. The Court 
     can enter such protective orders that are necessary to 
     prevent widespread disclosures of returns and return 
     information.
       Section (a)(5), Compliance with Summons for Source Code:
       A person in receipt of a summons for computer software 
     source code may comply with such a summons by producing a 
     hard copy printout of the portion of the source code 
     identified in the summons. If a person were required to 
     produce a digital copy of source code, the danger of multiple 
     copies being generated and transmitted outside the owner's 
     premises is heightened.
       Section (b), Other Protections:
       (1) Court Ordered Protections: Under current law, there is 
     a split among the courts of appeal over the authority of 
     district courts to conditionally enforce IRS summonses. The 
     Fifth Circuit and the Ninth Circuit hold that the court's 
     authority is limited and may issue only two types of orders: 
     (1) an order enforcing the summons in full, or (2) an order 
     quashing the summons in full. In the Eighth Circuit, the 
     courts have discretion to issue orders limiting the scope of 
     the summons and can place restrictions on the Secretary's use 
     of information obtained with a summons. With regard to 
     summonses issued under this section, the district courts are 
     given express statutory authority to issue such orders that 
     are necessary or appropriate to prevent disclosures of trade 
     secrets or other confidential information or to prevent undue 
     hardship on the summoned person. With respect to summonses 
     issued under this section, United States v. Barrett, 837 F.2d 
     1341 (5th Cir. 1988), is overruled. This provision has no 
     effect on the authority of the district courts with regard to 
     other types of summonses.
       (2) Protection of Computer Software Code: The provisions of 
     this subsection apply to both source code and executable code 
     in the possession of the IRS, and apply whether or not an 
     enforcement proceeding is commenced. The provisions of this 
     section are in lieu of any protections that might be afforded 
     or disclosures that might be permitted under Section 6103. 
     These provisions are designed to: (1) limit the examination 
     of computer software code by the Secretary, (2) limit the 
     number of IRS employees who might be permitted access to such 
     computer code, (3) ensure that no unauthorized copies are 
     made, (4) require that all copies be returned or destroyed at 
     the end of the audit, and (5) bind any person who might be 
     exposed to such computer software code to the same or similar 
     restrictions on disclosure and competition that might be 
     imposed on its employees by the owner of such computer 
     software code. With regard to computer source code, the bill 
     permits the owner of such code to insist that it not be 
     removed from its business premises. Because the software 
     publisher will not be in direct privity of contract with 
     the IRS employee or outside consultant who will have 
     access to such code, the provision treats such owner as if 
     it were a party to the agreement. Thus, the software 
     publisher will have statutory standing to directly enforce 
     the terms of such agreements to prevent disclosures or 
     uses of trade secrets obtained in the course of an 
     examination.
       The list of protections in the bill is not intended to be 
     exhaustive. The Secretary and the trade secret owner may 
     agree to other protective measures in a particular case. For 
     the avoidance of doubt, a district court in fashioning a 
     protective order is not limited to the list of protective 
     measures set forth in the statute.
       Sec. (b), Compliance with Summons for Executable Code:
       This section describes the circumstances under which a 
     taxpayer will be deemed to have complied with a summons 
     issued for certain computer software executable code. This 
     section only applies to commercially available computer 
     software executable code that is used by the taxpayer to 
     produce the tax return under examination or accounting 
     software that is used by the taxpayer to process 
     transactional data. A taxpayer will be deemed to have 
     satisfied a summons for such software upon production to the 
     Secretary of a read-only version of such software or a run-
     time module containing data files produced by such software. 
     The Secretary shall not be entitled to a fully executable 
     version of such computer software executable code. However, 
     the version of the computer software executable code provided 
     by the taxpayer must allow the Secretary to

[[Page S1160]]

     access such interim data files as might be produced by the 
     fully executable software. Such data files must be in a fully 
     readable mode.
       Section (d), Definitions:
       The term ``software'' is defined to include both computer 
     software source code and computer software executable code. 
     The general prohibition on issuance of a summons applies only 
     to a summons for computer software source code. The 
     additional protections apply to summons for software which 
     will include both source code and executable code.
       This section adopts the common definitions of source code 
     and executable or ``object'' code.
       ``The source code for a computer program is the series of 
     instructions to the computer for carrying out the various 
     tasks that are performed by the program, expressed in a 
     programming language which is easily comprehensible to 
     appropriately trained human beings. The source code serves 
     two functions. First, it can be treated as comparable to text 
     material, and in that respect can be printed out, read and 
     studied, and loaded into a computer's memory, in much the 
     same way that documents are loaded into word processing 
     equipment. Second, the source code can be used to cause the 
     computer to execute the program. To accomplish this, the 
     source code is ``compiled.'' This involves an automatic 
     process performed by the computer under the control of a 
     program called a ``compiler'' which translates the source 
     code into ``object code'' which is very difficult to 
     comprehend by human beings. The object code version of a 
     program is then loaded into the computer's memory and causes 
     the computer to carry out the program function.''--See, SAS 
     Institute, Inc. v. S & H Computer Systems, Inc., 605 F. Supp. 
     816, 818 (M.D. Tenn. 1985).
       Machine language, on the other hand, which is most commonly 
     referred to as executable code or ``object'' code, is the 
     only language that a computer can actually understand. All 
     computer programs must be converted into machine language if 
     the computer is to be able to execute the instructions in the 
     program. Machine language is usually a binary language using 
     two sybols, 0 and 1, to indicate an open or closed switch. 
     Theoretically, computer programs can be written by 
     programmers in machine language, and at one point, they 
     actually were. But it is extremely difficult for humans to 
     think and write operational instructions in the form of 
     binary code.
       Section (b), Criminal Actions:
       This section amends Section 7213 to provide that 
     disclosures of the types of information dealt with under this 
     section would be punishable in the same manner as disclosures 
     of returns and return information.
       Effective date:
       The amendments made by this section shall take effect on 
     the date of enactment of this Act.
                                 ______