Copyright and GPL Licences

Posted on 2004-11-08
Last Modified: 2010-04-06
Ive been reading over GPL licences and im still a bit confused. Actully I never really looked into it until a few nights ago.

Ive written a quite a few modules for my company for GPL licensed software that we use in house, mostly for oscommerce. Ive been thinking about offering a few up as contribs for free, but there are a few that I spent allot of time on and would like to sell.

From what I gather, I can charge for downloading the software, but once someone downloads a copy, they can make a few minor changes, and then sell the code, or offer the code for free. Is this correct? Can I copyright my contributions so at least I get credit, is there anyway that I can maintain a licence on the software so that it cannot be redistributed without my permission?

Can someone give me the inside scoop please? also usually put headers in my code like

// designed by (my name) (date released) (version) //

but was also wondering if theres anywhere I can get good examples of copyright disclaimers/ or template licence agreements for my code.

Thanks so much for your time guys. I really do appreciate it.
Question by:redcable
    1 Comment
    LVL 5

    Accepted Solution

    You may charge for software licensed under the GPL, however, people can then re-distribute that code free of charge. For example, Red Hat is under the GPL, they can charge for the boxed copies of RedHat that youmight buy in a store as they see fit, but equally, you as the end user may then copy the CDs and give them to anyone free, or offer the content for download etc.

    They don't even have to change your code to pass it on.

    Yes, you can copyright your contributions/modules/code. The GPL doesn't concern itself with the copyright of your code, just the licensing of it's use.

    AFAIK, you can however write extensions to a system without issuing it under the same license. So for example, Geeklog, which is I beleive GPL, you can write a plugin for it and charge for it releasing it under any license you like. I'm not 100% sure how the licensing restrictions apply to modifications of code. PROVIDED that plugin isn't based on the original product. I.e. it's your work, the killer clause is 2.

    "2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

    c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
    These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
    Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

    In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.


    In other words anything you build based on some GPL software you must issue FOC under the GPL. However, you maintain copyright on portions you have written.

    AS for good examples of copyrights/disclaimers, just grab them from the header in any GPL product. I change my headers based on what I am working on, I use headers consistent with the style used in the core product for any modules intended to work with a product.

    Makes third parties more comfortable.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Top 6 Sources for Identifying Threat Actor TTPs

    Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

    Suggested Solutions

    Title # Comments Views Activity
    Read XML Response From ASP Classic 9 48
    replace quotes with UTF-8 character 38 58
    Problem to echo 6 28
    Problem to file 3 28
    I will show you how to create a ASP.NET Captcha control without using any HTTP HANDELRS or what so ever. you can easily plug it into your web pages. For Example a = 2 + 3 (where 2 and 3 are 2 random numbers) Session("Answer") = 5 then we…
    Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
    Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
    The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    9 Experts available now in Live!

    Get 1:1 Help Now