Skip to main content
Editor

Legal and Ethical Concerns: Copyright, Plagiarism and Open Licenses

Beginner30 min3 exercises40 XP
0/3 exercises

Anything you make on a computer, from a song to a game level, belongs to someone, and computers make it possible to copy that work in seconds.

That ease of copying sits behind most of the legal and ethical questions in computing: who owns a piece of work, who gets paid for it, who may use it, and what happens when computing is used to hurt people.

Who owns what you create on a computer?

Material created on a computer, including code, photos, music, videos, writing and game designs, is the intellectual property of the person who made it, or of an organization, such as a company that paid an employee to make it. In the United States, copyright protects an original work automatically as soon as it is saved or written down. You do not have to register it or add a © symbol. Copyright protects work made by people, though. The US Copyright Office has said that an image or text made entirely by an AI tool, with no human creative input, cannot be copyrighted, and federal courts agreed in 2023 and again in 2025.

Digital work is easy to reach and easy to share, and that raises hard questions about it:

  • Ownership: once a song has been copied a million times, who controls where it goes?
  • Value: if a copy costs nothing to make, how do the people who made the original get paid?
  • Use: may someone remix your video, put your photo in an ad, or train an AI tool on your drawings?
  • Creators and companies take measures to safeguard their intellectual property: copyright notices and license terms that say how a work may be used, watermarks on photos, passwords and paywalls that limit who can see a work, and digital rights management (DRM), which stops a downloaded movie or e-book from being copied.

    What counts as plagiarism?

    Using material that someone else created, without permission, and presenting it as your own is plagiarism. Turning in a classmate's code with your name on it, pasting paragraphs from a website into an essay, and submitting a program an AI tool wrote as if you wrote it all count. Renaming the variables in copied code does not make it yours either: the ideas and structure still belong to the person who wrote it. Plagiarism can earn a zero at school, and using someone's work without permission can also break copyright law, which can lead to fines or lawsuits.

    The habit that prevents it: always cite material that someone other than you created, whether it is a photo, a quote, a dataset or a code segment.

    Permission and credit are two separate things. Citing a photo does not give you permission to use it, and permission to use a photo does not remove the need to say whose it is. Plagiarism checkers look for the credit part: they compare your work with other text and flag passages that match too closely.

    Three approaches let you use other people's work legally, often for free.

    Creative Commons licenses are public copyright licenses. With one, a creator gives everyone permission to share, use and build on a work that would otherwise be fully protected by copyright. The creator picks the conditions by combining a few elements:

    ElementWhat it means
    BYYou must credit the creator.
    SA (ShareAlike)If you share a changed version, it must use the same license.
    NC (NonCommercial)You may not use it for commercial purposes, meaning mainly to make money.
    ND (NoDerivatives)You may share it only unchanged.

    So CC BY-NC means "credit me, and don't use this to make money." Separately, CC0 lets a creator give up their rights entirely, so no conditions apply.

    Reading the rules from a license name
    def license_rules(license_name):
    """Read the conditions from a Creative Commons license name like 'CC BY-NC'."""
    parts = license_name.removeprefix("CC ").split("-")
    return {
    "credit": "BY" in parts,
    "commercial": "NC" not in parts,
    "changes": "ND" not in parts,
    "same license": "SA" in parts,
    }
    names = ["CC0", "CC BY", "CC BY-SA", "CC BY-NC", "CC BY-ND", "CC BY-NC-SA", "CC BY-NC-ND"]
    print(f"{'License':<13}{'Credit':<8}{'Commercial':<12}{'Changes':<9}Same license")
    for name in names:
    marks = ["yes" if value else "no" for value in license_rules(name).values()]
    print(f"{name:<13}{marks[0]:<8}{marks[1]:<12}{marks[2]:<9}{marks[3]}")
    Output
    License      Credit  Commercial  Changes  Same license
    CC0          no      yes         yes      no
    CC BY        yes     yes         yes      no
    CC BY-SA     yes     yes         yes      yes
    CC BY-NC     yes     no          yes      no
    CC BY-ND     yes     yes         no       no
    CC BY-NC-SA  yes     no          yes      yes
    CC BY-NC-ND  yes     no          no       no

    Open source software is made freely available, and anyone may redistribute and modify it. Python itself is open source, and so are the Firefox browser, the Linux operating system and much of the software that runs websites. Open-source licenses still have conditions. Most require you to keep the original copyright notice, and some, like the GPL, require changed versions to stay open source too. On a code-sharing site, the conditions are usually in a file named LICENSE at the top of the project, so read it before you copy anything.

    Open access research is published online free of all restrictions on access, and free of many restrictions on use, such as copyright or license limits. Anyone can read the papers on arXiv or PubMed Central without paying, while many traditional journals charge $30 or more to read a single article.

    Creative Commons, open source and open access have together opened up a huge amount of digital information to everyone. Wikipedia's text is shared under a Creative Commons license, millions of photos on Wikimedia Commons can be reused with credit, and students everywhere learn to code with free, open-source tools.

    Check your understanding

    Answers
    Answers
    Answers
    Answers

    Practice: credit, licenses and copying

    Exercise 1: Write an Attribution
    Write Code

    Write format_attribution(title, creator, source, license_name) that returns a credit line in this form:

    "Title" by Creator (source), license

    Remove extra spaces from the start and end of title and creator. If creator is empty after that, write an unknown creator in its place.

    format_attribution("Sunset", "Ana Ruiz", "flickr.com", "CC BY 4.0")
    ->  '"Sunset" by Ana Ruiz (flickr.com), CC BY 4.0'
    def format_attribution(title, creator, source, license_name):
    # Build the credit line with an f-string
    pass
    Exercise 2: Does the License Allow It?
    Write Code

    Write can_use(license_name, commercial, changed) that returns True if a Creative Commons license allows the planned use and False otherwise.

  • commercial is True if the use is commercial. Licenses containing NC forbid that.
  • changed is True if you will share a changed version. Licenses containing ND forbid that.
  • Every other combination is allowed (credit and ShareAlike are conditions to follow, not reasons to refuse).
  • License names look like "CC BY", "CC BY-NC-SA" or "CC0".

    can_use("CC BY-NC", True, False)  ->  False
    def can_use(license_name, commercial, changed):
    parts = license_name.removeprefix("CC ").split("-")
    # parts for "CC BY-NC-SA" is ["BY", "NC", "SA"]
    return True
    Exercise 3: A Tiny Plagiarism Checker
    Write Code

    Write word_overlap(text_a, text_b) that measures how much two texts share. Lowercase each text, split it into words, and strip the characters .,!? from both ends of each word. Collect each text's words in a set. Return the number of words in both sets divided by the number of words in either set, as a percent rounded to 1 decimal place. If neither text has any words, return 0.0.

    word_overlap("the cat sat on the mat", "the cat sat on a mat")  ->  83.3
    def word_overlap(text_a, text_b):
    # Turn each text into a set of cleaned-up words, then compare
    pass

    As with any technology, using computing to harm people raises legal and ethical concerns. Cyberbullying, posting someone's home address online to harass them, and AI-made fake images of real people are all examples. Laws are catching up: the TAKE IT DOWN Act, a 2025 US federal law, made it a crime to post intimate images of a real person without consent, including AI-generated fakes, and requires websites to remove them within 48 hours of a valid request.

    Computing also plays a role in social and political issues, which brings its own legal and ethical questions. Social media helps people organize protests and campaigns, and it also spreads political misinformation. In January 2024, voters in New Hampshire received robocalls in which an AI-generated copy of President Biden's voice told them not to vote in the primary election. A month later, the Federal Communications Commission ruled that AI-generated voices in robocalls are illegal under an existing law.

    The digital divide raises ethical concerns too. When school assignments, job applications or government services are online-only, the people without access are left out through no fault of their own.

    Some well-known computing innovations that raised legal and ethical concerns:

  • Software for downloading and streaming media. In 1999 a program called Napster let millions of people swap music files for free. Record labels sued, and a court order shut Napster down in 2001 for helping users copy songs without permission. Streaming services now pay artists for each play, though many musicians argue the payments are too small, and pirate streaming sites still raise the same legal questions Napster did.
  • Algorithms that include bias, such as hiring tools and face-recognition systems that work worse for some groups of people. The computing bias lesson covers these.
  • Devices that collect and analyze data by monitoring activities all the time, such as smart speakers listening for their wake word, fitness bands tracking heart rate and sleep, and smart TVs. In 2017 the TV maker Vizio paid $2.2 million to settle US charges that its TVs recorded what millions of people watched and sold that information without their consent.
  • Check your understanding

    PROCEDURE canShare(isCommercial, isChanged, allowsCommercial, allowsChanges)
    {
    IF((isCommercial AND NOT allowsCommercial) OR (isChanged AND NOT allowsChanges))
    {
    RETURN(false)
    }
    RETURN(true)
    }
    Answers
    Answers
    Answers

    Exam topics: 5.5 Legal and Ethical Concerns (IOC-1.F)

    Related Tutorials

    Was this tutorial helpful?