can I "sell" programs I did with a GPL licensed program?

Started by
22 comments, last by Raduprv 18 years, 11 months ago
I am not sure they can legally change the license retroactively. If so, then MS can change their EULA retroactively and demand your first born plus your immortal soul.
If the software you use was under a certain license, they can't change it.
Advertisement
Unless you are linking directly with gpl code or there is a specific condition on use of the product, then yeah you are allowed to sell it.

Some "learning" licences (like MS Visual Studio Student edition) have the provision that you're not supposed to sell stuff made from it. There are a few academic style licences around.
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
Quote:Original post by Raduprv
I am not sure they can legally change the license retroactively. If so, then MS can change their EULA retroactively and demand your first born plus your immortal soul.
If the software you use was under a certain license, they can't change it.


The "retroactive" is not in the sense of them charging for past use (of which you are perfectly correct). The retroactive is in being able to change the licence for existing programs, overriding the previous agreement (contact) - meaning that from then on any continued use is under the new GPL (many contracts work like this - read the EULA you have with your ISP, or your web email, or many other things)
Suppose I acquire the source code of a given GPL program.

I then create a simple script language, write a non-GPL compiler for it, and have that compiler generate a new program using the source code from the GPL program as well as some of my own source code (written in said language).

Would it be legal to distribute the source for free and the executable for a fee? Keep in mind that I'm not distributing the compiler (although I might be distributing the specification).
The new program (not the compiler) would have to be licenced under the GPL as a derivative work. What you describe is a basically a form of automated porting (same could be done with say, a C to Pascal translator). The "compiler" portion would be no different then if you made modifications to a C++ GPL program that only compiled properly in Visual C++.

They could try and get you by citing the script compiler as a "script used to control compilation", in which case you would need to include it (though interestingly enough there is nothing to say you would have to provide it in GPL form, it could be provided as a binary). Overall however you would be conforming to the letter but not the spirit of the GPL/open source software, basically you'd be Apple but much smaller.
Quote:Original post by Michalson
The "retroactive" is not in the sense of them charging for past use (of which you are perfectly correct). The retroactive is in being able to change the licence for existing programs, overriding the previous agreement (contact) - meaning that from then on any continued use is under the new GPL (many contracts work like this - read the EULA you have with your ISP, or your web email, or many other things)


No, what I meant was, they can't just replace the GPL license with some other GPL license. They will need to write a GPL3 and ask the makers of new programs (or even existing programs) to release the new programs (and updates for the already existing ones) as GPL3.
Otherwise is like signing a contract with someone, and after 2 years you take a red pen, cross the old one, and write a new one on the same page. That's not valid.
Dev-C++ uses the MinGW port of the GCC, so it's license is probably more germaine (sp?, usage?) to this issue. Your compiled output is yours to do with as you please, as long as you did not compile with profiling enabled.

Quote:
How is MinGW licensed?

When Colin Peters released the MinGW runtime he placed the source into the public domain. No one owns a copyright (C) to the source because of this. You as a software manufacturer are free to use the MinGW runtime in your proprietary and OpenSource software as you see fit. The only thing you can't do is to claim ownership of the source and use Colin Peters' name, the MinGW name or the name of any of it's contributors in endorsement of any product.

For those interested in the actual legal details and technical points regarding copyright of the MinGW compiler system, copyright information is included in the headers and the source files of the compiler distribution package. The following also applies:

* The MinGW basic runtime system, which is basically the glue to the underlying operating system, is completely in the public domain. The runtime system includes MinGW headers (such as stdio.h), libraries (such as libmingw32.a) and import libraries for CRTDLL/MSVCRT.
* W32API, which consists of the headers and import libraries related to WIN32 API access, is released under
* copyright . The copyright agreement states no restrictions are placed on programs or object files compiled with the library.
* Mingw development tools, which include compilers, linkers, other tools in the bin directory, etc., are released under the GNU General Public License.
* Profiled code, which is code compiled and linked with the -pg option for runtime profiling, also falls under the GNU General Public License. CAUTION: do not distribute proprietary source with profiling enabled. The profiling library is covered by the GPL which infects your product to conform to the GPL as well.
I think most GNU programs have the clause ' This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.'

Compilers are interesting. Technically, you include some of the compiler libraries by with your code. Hence the GCC library libgcc has an exception clause so that compiled code does not fall under the GPL by mere linkage (if you were to make your own compiler library by cutting and pasting libgcc code then you'd need to license your library under the GPL)
-- Jonathan
Quote:Original post by Raduprv
No, what I meant was, they can't just replace the GPL license with some other GPL license. They will need to write a GPL3 and ask the makers of new programs (or even existing programs) to release the new programs (and updates for the already existing ones) as GPL3.
Otherwise is like signing a contract with someone, and after 2 years you take a red pen, cross the old one, and write a new one on the same page. That's not valid.


As I said, a lot of other companies pull this kind of stuff. As long as there is a "we can change these terms at any time" clause, companies can get away with rewriting contracts in the US as consumers are second class citzens when compared to businesses. As I said, look at the contract you signed with your ISP - I have yet to come across a major ISP contract that didn't include a "change whenever we want" clause to allow them to update their usage policy without having to ask the users to accept the new agreement (a lot of service based businesses, especially on the web, have this kind of clause). The idea is not that the old contract is changed (as you seem to believe), in plain english the clause is:

At any time we can declare this contract void, and replace it with a new contract. If you don't like the new contract, you have to give up whatever you where getting with the old contract, because the old contract is no longer valid.

By including this in the original contract, it allows them to effectively rewrite the contract at any time. With the GPL, you have a number of variations of the "under the terms of the GNU General Public License" line floating around. Some specify a specific version of the GPL, or specify the included copy (meaning whatever version of the GPL appears right after that line). However others have an optional or non-optional specification of whatever is the newest version of the GPL, meaning you get the retroactive contract changing clause.
Several things I'd like to point out:

1. Alpha_ProgDes is completely wrong. You can do whatever you want with the output of a GPL program. You can use GIMP to manipulate graphics on your commercial game; you can release under a restrictive commercial licence, binaries created with gcc.

This text is being sent via of a number of GPL programs, however, it is not convered by the GPL.

2. If you are the copyright holder, you can change the licence on future copies of your software to anything you want.

If I was the copyright holder of a GPL program (which I am, but that's another story), I could decide tomorrow, to change one line of the program (although I wouldn't really need to), then start selling it commercially.

As the copyright holder, I am not bound by the terms of the GPL, as that only controls people who I've licenced it TO under the GPL. Therefore, as it is still my software, I can do whatever I want with it.

Several companies "dual licence" software - that is, they release it under the GPL *AND* another, non-GPL compatible licence (for example, per-server licencing, or per-seat licencing). This is totally allowed as long as they are the sole copyright holder.

What you are *NOT* allowed to do, is do the same thing if it's a derivative of someone else's work (even if they only wrote a small piece of it (unless they agree of course)), or if you were supplied it under the GPL in the first place.

Mark

This topic is closed to new replies.

Advertisement