DSST Computing and IT study materials
DSST Computing and IT study resources

Open-Source License and Shared Toolchain Audit

DSST Computing and IT · Put your knowledge to work in context.

All case studies

Open-Source License and Shared Toolchain Audit

Northside Software makes a 25-employee SaaS patient-reminder product. It also sells an on-premises appliance to three hospital customers. The appliance firmware statically links a GPLv2 library and dynamically links an LGPLv2.1 library. Northside publishes the GPL source only when a customer asks and charges $500 to cover administrative costs. Six developers share one commercial IDE installation on a build server; the license is named-user. A developer also installed a free cloud code-completion plugin that uploads 200-line snippets to the vendor for model improvement. The appliance is delivered as a locked VMware image, so customers cannot easily replace the linked library. Northside has no open-source policy, and its hospital contracts require confidentiality of patient data. A hospital security review is due in two weeks.

1. Analyze Northside's obligations for the GPLv2 and LGPLv2.1 libraries when it ships the appliance.

Read the worked answer

The static GPLv2 link is the larger problem. Shipping the appliance is conveying a work based on the GPL library, so Northside must provide the complete corresponding source for the combined work under GPLv2, including build scripts and any modifications. A written offer must be valid and must not impose an extra restriction; charging $500 as an administrative fee is likely a license violation because GPLv2 permits only the cost of physically performing source distribution.

The LGPLv2.1 library is dynamically linked, so Northside may keep its proprietary code separate if it allows customers to replace or relink the library, provides the library source and notices, and does not prohibit reverse engineering for debugging those modifications. The locked VMware image may interfere with that relinking right.

Compliance options: replace the GPLv2 library with a permissive or commercial alternative; isolate it in a separate process with a GPL-compatible boundary; or release the appliance source under GPLv2. Publish license texts and notices, and stop the $500 demand until counsel reviews it. The hospital confidentiality clause does not excuse open-source obligations.

2. Evaluate the shared IDE installation and the cloud code-completion plugin against licensing and IP policy.

Read the worked answer

The IDE is a named-user license, so installing it once on a build server does not make it a one-seat license. If six developers use it, the vendor will likely require six seats unless the contract explicitly allows concurrent use. The audit clause may let the vendor inspect deployment records, so Northside should reconcile purchase records with actual users before the review.

The plugin is a separate risk. Uploading 200-line snippets to a free service can disclose hospital data, trade secrets, and unreleased code. Free tiers often reserve the right to use inputs for model improvement, and there may be no data processing addendum. That conflicts with the hospital confidentiality clauses and may taint code provenance.

Remediation: block the plugin at the network and endpoint level, remove it from developer machines, and approve only an enterprise tool with a no-training commitment, a data processing addendum, and access controls. Add a software composition analysis step to the build pipeline so dependencies and licenses are visible before release.

3. What two-week remediation plan would you present before the hospital security review?

Read the worked answer

Day 1-3: freeze new appliance shipments and inventory every dependency with a software composition analysis tool. Identify all GPL, LGPL, and unknown-license components, and map which ones are linked into distributed firmware.

Day 3-7: choose a path for the GPLv2 library: replace it, isolate it, or prepare a compliant source release. Fix the source offer so it is written, valid, and limited to media cost. Add license notices and corresponding-source archives to the appliance build.

Day 5-8: buy the correct IDE seats or move to a license model that matches shared-server use. Remove the cloud plugin and scan developer machines for cached snippets.

Day 8-12: if snippets contained hospital data, notify the affected customers and the privacy officer, and preserve logs. Update the vendor contract terms and issue an interim open-source and tool-use policy.

Day 12-14: run a mock audit, document exceptions with owners and dates, and present the remediation evidence to the hospital. Do not claim full compliance if the GPL source release is still pending; disclose the plan and timeline.