← VCE Software Development U4O2

Ethical issue: copyright when using third-party and AI-generated code

Using someone else's code, including AI output that copies licensed work, without checking its source or licence. It can breach copyright and is an ethical issue for developers.

Understanding Ethical issue: copyright when using third-party and AI-generated code in VCE Software Development U4O2

What it does: The TODO shows the developer checking AI output for matches with licensed code before using it, which addresses the risk of AI reproducing licensed work. Running a check on all code and recording its source shows an organisation taking responsibility for the licences of the code it ships. Code on forums or repositories is still protected by copyright. Without checking the licence you may not have permission to reuse it. Acknowledging AI use is honest and transparent. It also supports checking the output for licence and accuracy concerns. Clear policies and code review help catch unlicensed code before it reaches production, protecting the organisation legally and ethically.

Common mistakes: The forum code should only be used when its licence allows reuse. The condition should be lic == "allowed". With != the program uses code whose licence does not permit it, which risks copyright infringement. AI output should only be added when the scan finds no copied licensed work. The test should be hit == False. As written, code that matches licensed work is the code that gets added.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 97–130) and word search (Modules 49–130).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
A developer copies a code snippet from a public forum into a client's app without checking the licence. Is this safe?
No, it may breach copyright and is an ethical issueYes, anything posted publicly is free to use
Matches
paste forum_code into app # it is public, so it is free to use
↓
Assuming code is free to use just because it is publicly visible. Public code can still be copyrighted and have licence conditions.
Applying
Meanings
Term
copyright infringement
Meaning
Using someone else's code, including AI output that copies licensed work, without checking its source or licence. It can breach copyright and is an ethical issue for developers.
Practice
BEGIN CheckCodeBeforeUse
Testing
Gaps
# (c) 2023 Jo Park. All rights
Check Answer
Spots
2lic = check_licence(snippet)
3if lic != "allowed":

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Moose' badge — Tundra Champion, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. A developer copies a code snippet from a public forum into a client's app without checking the licence. Is this safe?
A. No, it may breach copyright and is an ethical issue ✓
B. Yes, anything posted publicly is free to use
Code on forums or repositories is still protected by copyright. Without checking the licence you may not have permission to reuse it.
2. Which action best avoids copyright problems when using code from a repository?
A. Check the licence and follow its conditions ✓
B. Delete the licence file and keep the code
Licences set out how code can be used. Removing one hides the source and does not remove the author's rights.
3. An AI tool generates code that closely matches a licensed open-source project. What is the risk?
A. There is no risk because an AI wrote it
B. The output may reproduce licensed work and breach copyright ✓
AI tools learn from existing code and can reproduce licensed work. The developer and organisation are still responsible for what they use.
4. A student uses AI to help write part of their SAC solution. What is the ethical approach?
A. Acknowledge that AI was used and check the output ✓
B. Hide the AI use and present all code as your own
Acknowledging AI use is honest and transparent. It also supports checking the output for licence and accuracy concerns.
5. Who is responsible if a company ships software containing unlicensed copied code?
A. Nobody, because the code was found online
B. The organisation, as well as the developer who added it ✓
Organisations are responsible for the software they release. They need policies and checks so staff do not copy code without permission.

Match the Pairs

# Copied from a forum post, no licence checked → Pasting code from a forum into a project without checking its licence or source can breach copyright.
# Generated by AI, checked against licence → Acknowledging AI use and verifying that the output does not reproduce licensed work is ethical practice.
AI output can reproduce licensed work, so developers should check where the code came from before using it. → // TODO: search AI snippet for matching licensed code
Organisations are responsible for making sure the code in their software has a clear source and licence. → licence_check(all_code) -> record_source
paste forum_code into app # it is public, so it is free to use → Assuming code is free to use just because it is publicly visible. Public code can still be copyrighted and have licence conditions.
ship(ai_code) # AI wrote it, so no copyright issue → Assuming AI-generated code is automatically safe. It can reproduce licensed work, so its source and licence still need checking.

Key Term

copyright infringement
Using someone else's code, including AI output that copies licensed work, without checking its source or licence. It can breach copyright and is an ethical issue for developers.

Fill in the Blanks

1. # (c) 2023 Jo Park. All rights reserved
Hint: Type the word that ends the standard copyright notice, showing the owner keeps their legal rights.
2. # Generated by AI, reviewed by a developer
Hint: Type the two-letter abbreviation for the kind of tool whose use should be acknowledged in a comment.
3. usable = licenceChecked and sourceKnown
Hint: Type the logical operator that makes the code usable only when both the licence and the source are confirmed.
4. if not licenceChecked: print('Stop')
Hint: Type the logical operator that reverses the check, so the warning runs when the licence has not been verified.
5. aiUsed = True # acknowledge in report
Hint: Type the Boolean value that records AI help was used, so it can be openly acknowledged.

Spot the Error

Question 1
A snippet = get_forum_snippet()
B lic = check_licence(snippet)
C if lic != "allowed":
D use(snippet)
Line C — The forum code should only be used when its licence allows reuse. The condition should be lic == "allowed". With != the program uses code whose licence does not permit it, which risks copyright infringement.
Question 2
A code = ai_generate(prompt)
B hit = scan_licensed(code)
C if hit == True:
D add_to_project(code)
Line C — AI output should only be added when the scan finds no copied licensed work. The test should be hit == False. As written, code that matches licensed work is the code that gets added.
Question 3
A used_ai = True
B credits = []
C if used_ai:
D credits.remove("AI tool")
Line D — When AI helped write the code, the use should be acknowledged. The line should be credits.append("AI tool") to add the acknowledgement. Removing it hides the AI use, which is an ethical problem.
Question 4
A def approve_release(code):
B if not code.licence_ok:
C return "approved"
D return "blocked"
Line B — The organisation is responsible for what it ships, so only code with a checked licence should be approved. The test should be if code.licence_ok:. With not, unchecked code is approved and checked code is blocked.
Question 5
A licence = read_file("LICENSE")
B if licence != None:
C print("Ask owner first")
Line B — If no licence file is found, the developer should stop and ask the owner before using the code. The test should be licence == None. With != the message is shown when a licence exists, and code with no licence slips through unchecked, risking copyright infringement.

Student with a class code? Join your class →