Can You Stop Software Source Code Theft with an Injunction in South Korea?
Table of Contents
- 1. Case Background: From Joint Development to Dispute
- 2. Discovery of Source Code Theft: How Was It Uncovered?
- 3. Technical Structure of Disputed Programs: What Was Infringed?
- 4. Interpreting the Joint Development Agreement: Limits of AP Ownership
- 5. Court’s Decision: Rights to Be Preserved and Necessity
- 6. Injunction Details: Bond Amount and Scope of Prohibition
- 7. Practical Implications: Key Takeaways for Software Developers
- 8. FAQ
Real Case: This is an adapted version of a case handled by Managing Partner Taejin Kim. A shocking situation unfolded between Company A, an industrial automation equipment software developer, and Company B, its business partner. Somehow, Company B had obtained all of Company A’s AP source code. Police investigation revealed that Company A’s source code was stored on Company B’s computers with only the filenames changed.
Core Issue: The Boundary Between Joint Development Agreement and Ownership
※ This case is based on actual events but has been adapted for clarity, and client information has been protected.
The core issue was not simple source code copying. Company B argued that “since we paid the development fee under the joint development agreement, we own all Application Programs (AP).” Indeed, Article 7 of the contract stated that “AP ownership shall belong to Company B after payment of the development fee.” However, the software delivered by Company A included not only AP but also middleware (DLL) for hardware module control, test programs, and common libraries—programs outside the contract scope. The key question was: what exactly constitutes “AP” under the contract?
1. Case Background: From Joint Development to Dispute
Company A was engaged in developing and manufacturing industrial automation equipment software. Company B operated a business installing and managing unmanned automation equipment at franchise stores and other locations.
Joint Development Agreement (December 2018)
In December 2018, Company A and Company B entered into a joint development agreement with the following key terms:
- Company A to manufacture and deliver 1,500 units of unmanned automation equipment to Company B
- Company B to pay approximately 62 million Korean won (approximately USD 46,500) in development fees (excluding VAT)
- Article 3 of the contract: “The automation equipment terminal covered by this agreement consists of H/W, S/W, and Application Programs (hereinafter ‘AP’) used by users…”
- Article 7 of the contract: “After Company B pays the development fee to Company A, AP ownership shall belong to Company B”
Additional Supply Contracts and New Model Development (2019-2021)
In April 2019, Company A and Company B entered into an additional supply contract for 1,500 more automation equipment units. Subsequently, Company A developed and delivered an improved new model at Company B’s request. The question arose whether the software applied to this new model was the same as originally contemplated in the joint development agreement or was separately developed.
Notably, the new model incorporated hardware modules that did not exist previously. When the payment module was changed from Vendor X’s product to Vendor Y’s product, new middleware was required to control it. Company A independently developed this middleware, which became the central issue in the subsequent dispute.
2. Discovery of Source Code Theft: How Was It Uncovered?
From September 2021, Company A and Company B began discussing source code transfer. However, unexpected facts emerged during these discussions.
Source Code Transfer Negotiations (September 2021 – January 2022)
In January 2022, Company A transferred source code to Company B. However, the transferred source code was an early version developed around 2019. Company B claimed to have independently developed version 45 based on this early version. However, upon Company A’s review, Company B’s alleged version 45 contained improvements that Company A had made separately after the initial version transfer. This was strong evidence that Company B already possessed Company A’s latest source code.
Confirmation of Unauthorized Copying (February 2022)
Company A requested a police investigation. In February 2022, decisive facts were uncovered during the police investigation:
- A Company B employee had connected a USB drive without authorization to a Company A employee’s laptop while that employee was briefly away
- All of Company A’s AP source code was copied via USB
- At the time of investigation, Company A’s AP source code was found stored on Company B employees’ computers with changed filenames
Notably, according to the police investigation, the source code stored on Company B’s computers was not merely renamed but had modified comments and variable names. This was evidence that Company B had not simply stored Company A’s source code but had actively attempted to use it.
3. Technical Structure of Disputed Programs: What Was Infringed?
The most intensely disputed issue was “which programs constitute AP under the joint development agreement.” The automation equipment software Company A delivered to Company B was not a single program but a complex system comprising dozens of modules.
Software Architecture
According to facts recognized by the court, the disputed programs were classified by function and layer as follows:
| Category | Program Type | Function | Development Period |
|---|---|---|---|
| Middleware Layer | Integrated Module Control Engine Middleware (DevCntl) | DLL that integrates control of hardware modules such as payment modules and printer modules | During new model development (around 2020) |
| Application Layer | Monitoring/DID Programs | System status monitoring, advertisement display control | Existed at contract signing |
| Application Layer | Main Scheduler | Overall workflow control and task scheduling | Existed at contract signing |
| Management Layer | Administrator Mode Programs | Administrator settings, network control, fault recovery | Existed at contract signing |
| Development Tools | Test/Utility Programs | Development, testing, and equipment diagnostic programs | Developed as needed |
Core Issue: Nature of Middleware (DevCntl)
The most critical technical issue was the nature of the integrated module control engine middleware, DevCntl. DevCntl is a program compiled and distributed as a DLL (Dynamic Link Library) file that performs the following functions:
- Abstracts hardware differences so upper-layer APs can operate identically regardless of whether the payment module is from Vendor X or Vendor Y
- Collects status information from each hardware module and delivers it to upper-layer APs
- Interprets commands from upper-layer APs and converts them to appropriate control signals for the relevant hardware modules
Company B argued that “DevCntl is included in AP since it is ultimately necessary for AP to function.” However, Company A countered that “DevCntl is not AP but middleware operating between AP and hardware, separately developed during the new model development process that was not contemplated at the time of the contract.”
4. Interpreting the Joint Development Agreement: Limits of AP Ownership
The interpretation of Article 7 of the joint development agreement was the key issue determining the outcome of this case. The court comprehensively considered the contract language, circumstances at the time of execution, and performance history to determine the scope of AP.
Court’s Interpretation Standards
The court made the following determinations regarding DevCntl:
First, DevCntl’s core function is to enable AP to operate regardless of whether the payment module is from Vendor X or Vendor Y. This was not a function contemplated at the time of the joint development agreement.
Second, DevCntl was developed a considerable period after mass production began under the joint development agreement (late 2018 to early 2019). Specifically, it was developed around 2020 when new model development began in earnest.
Third, DevCntl was applied to an improved model under a separate supply contract entered into around the time the 1,500 units originally contracted for under the joint development agreement had been substantially delivered.
Fourth, there appears to have been no separate discussion between the parties regarding DevCntl’s copyright, and in such cases, copyright typically belongs to the manufacturer.
Program-by-Program Determination
The court examined each disputed program individually to determine whether it constituted AP under the joint development agreement. As a result, for DevCntl and certain other programs, the court found that “based on the materials submitted to date, it is insufficient to conclude that Company B acquired ownership of said source code under the joint development agreement.”
5. Court’s Decision: Rights to Be Preserved and Necessity
For an injunction to be granted, both the existence of rights to be preserved (right to demand cessation of trade secret infringement) and necessity for preservation must be demonstrated. The court recognized both requirements.
Demonstration of Rights to Be Preserved
The court made the following determination regarding the rights to be preserved: “The programs listed in Appendix 1 (hereinafter ‘disputed programs’) are the applicant’s trade secrets, and it has been demonstrated that the respondent infringed on the trade secrets by unauthorized copying. Therefore, absent special circumstances, the applicant has demonstrated rights to be preserved entitling it to seek prohibition of use and modification of said programs against the respondent.”
Company B’s Defenses and Court’s Response
Company B raised two main defenses:
First, ownership defense: Company B argued that “except for middleware-related DLLs, all other program source codes constitute AP for which ownership is recognized under the joint development agreement, so Company A cannot claim trade secret infringement.” However, as noted above, the court examined ownership acquisition for each program and found that for some programs, it was insufficient to conclude that ownership had vested in Company B.
Second, lack of necessity defense: Company B argued that “there is no necessity for preservation because granting the injunction would cause enormous damage.” However, the court found necessity for preservation because: this application essentially seeks to restore the status quo as if Company B had not wrongfully acquired the source code; and the damage Company B would suffer from the injunction is fundamentally damage Company B caused itself by improperly securing the source code without going through proper procedures.
Grounds for Recognizing Necessity for Preservation
The court specifically considered the following factors regarding necessity for preservation:
- Since Company B wrongfully acquired Company A’s source code, there is concern it will use it in the future
- Company B’s demonstration that it has destroyed the source code or that there is no concern of its use is insufficient
- Rapid revenue decline is occurring due to the dispute between Company A and Company B
- If the current situation continues until the main lawsuit is finalized, there is concern that Company A will suffer irreparable harm
6. Injunction Details: Bond Amount and Scope of Prohibition
The court partially granted Company A’s injunction application, specifically determining the bond provision and scope of prohibition.
Bond: 1 Billion Korean Won (Approximately USD 750,000)
The court set the bond at 1 billion Korean won. The bond could be provided in either of two ways:
- Depositing 1 billion Korean won in cash
- Submitting a payment guarantee entrustment contract document with an insurance amount of 1 billion Korean won
The bond was set at 1 billion Korean won in consideration of potential damages Company B might suffer from the injunction. Company B was operating a franchise business with numerous automation equipment units, and if it could not use the relevant programs due to the injunction, significant business losses could result.
Company A was able to provide the bond at reduced cost through a payment guarantee entrustment contract.
Scope of Prohibition
The court prohibited the following acts regarding the disputed programs:
- Storage prohibition: Storing the relevant programs on storage media
- Use prohibition: Executing or utilizing the relevant programs for business
- Copying prohibition: Duplicating the relevant programs
- Distribution prohibition: Delivering the relevant programs to third parties
- Modification/alteration prohibition: Modifying the relevant programs or creating derivative programs
Denial of Indirect Enforcement Request
Company A also requested indirect enforcement of approximately 130 million Korean won per day for violations. However, the court did not accept this portion. The reasons were as follows:
- Insufficient demonstration that Company B would not comply after being notified of the decision
- Insufficient demonstration that public notice by an enforcement officer would be separately necessary for Company B’s performance of obligations
7. Practical Implications: Key Takeaways for Software Developers
This case illustrates a typical type of dispute that can arise in contractual relationships between software developers and clients.
Considerations When Drafting Contracts
When entering into joint development agreements, clearly specify the scope of programs for which ownership transfers. The problem in this case was the interpretation of the broad term “AP.” The following should be specified in contracts:
- Identify specific program names and versions in an appendix
- Specify ownership attribution for ancillary programs such as middleware, libraries, and test tools
- Include separate provisions for ownership attribution of programs developed after the contract
- Specify concrete terms regarding timing, method, and scope of source code transfer
Establishing Source Code Management Systems
To receive trade secret protection, confidentiality management requirements must be met. The following management systems are necessary:
- Differentiated source code access permissions by developer
- Change history tracking through version control systems (Git, SVN, etc.)
- Obtaining developer confidentiality agreements
- Establishing approval procedures for external disclosure
- Establishing security policies for laptops of dispatched employees
Response Methods When Infringement Is Discovered
When source code leakage is suspected, responding in the following order is effective:
- Step 1: Secure evidence (log analysis, file copy history verification, etc.)
- Step 2: Police complaint (securing objective evidence through computer forensics)
- Step 3: File for trade secret injunction (urgent cessation of infringement)
- Step 4: Main lawsuit and damages claim (final determination of rights)
8. FAQ
This case demonstrates how important contract interpretation and trade secret protection are in disputes between software developers and clients. The legal team analyzed complex technical issues and strictly interpreted the scope of the joint development agreement to obtain a favorable injunction decision.
※ The legal information presented in this article is for general guidance purposes. Legal determinations may vary depending on the specific facts of individual cases. Please consult with an attorney regarding actual cases.
