Including a little GPL code makes the whole project GPL

Including a little GPL code makes the whole project GPL

Timothy Takemoto -
回帖数:7

If one were to include a little bit of moodle (or other) GPL code in a large non-GPL, that seems to imply that the large non-GPL project would then have to be released as a GPL project.

Is that the case? Here is the licence
http://www.gnu.org/copyleft/gpl.html
And the relevant part
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.

I thought that for example Red-Hat linux, uses Linux which is GPL but adds code of its own which is not GPL.

But I probably got the wrong end of the stick.

Tim

回复Timothy Takemoto

Re: Including a little GPL code makes the whole project GPL

Martín Langhoff -
Yes, it is the case that, if you distribute the combined works, you have to do so under the terms of the GPL.

On the other hand, if you don't distribute the combined works (for example, an internal project) then the point is moot. GPL is great for in-house coding in that sense.

Of course, we'd like you to share it back with us, but it's up to you. At Catalyst, we sometimes write custom code for clients who want to keep it private, and they are able to do so. Now, if they wanted to sell the combined product to a 3rd party, they are bound by the GPL at that stage.

Red Hat adds code to the kernel that is strictly GPL. On the other hand, they sometimes also sell other programs -- outside of the kernel, independent code -- and they include it with the OS distribution. Those may or may not be GPL, it's up to RedHat. They can put it on the same CD in the same way that you can put Moodle on the same webserver as other web applications.

The "separate works" vs "combined works" distinction is very important here.
回复Martín Langhoff

Re: Including a little GPL code makes the whole project GPL

Timothy Takemoto -
How does the seperate works and combined works distinction work?

If a program uses a routine from moodle (I am thinking of the javascript copy "prevention" in protect_jp.php) included in test pages of a different testing system, then is that a seperate or combined program?

Us? I guess I must be one of them 微笑

Tim
回复Timothy Takemoto

Re: Including a little GPL code makes the whole project GPL

Martin Dougiamas -
Core developers的头像 Documentation writers的头像 Moodle HQ的头像 Particularly helpful Moodlers的头像 Plugin developers的头像 Testers的头像
It's combined, but the key question is: will that other system be distributed to others?
回复Martin Dougiamas

Re: Including a little GPL code makes the whole project GPL

Timothy Takemoto -

Hi Martin

My university wants to sell the system and thus distribute it to others. I personally don't think that they will succeed but that there is their intention.

How does one come to the decision that a piece of software is combined or not? 

E.g.

If there were a setupitem somewhere saying,
"Do you want use to use Moodle's GPL copy protection javascript (freely downloadable here)"  yes [ ] no [ ]

How about if if there were a "press browse to find javascript copy protection routines"  (like associating an external editor say) where one could go and seek a script stored on ones hard disk?

The rest is academic.

I am not at all interested in selling software, so I did not check up. I have thus mislead those that funded this particular GPLed script. The script,
moodle/mod/quiz/protect_js.php
was, I believe (there may have been subsequent modifications) funded by my university. It was my mis-understanding that GPL software could be used in a system for sale, on the analogy of RedHat Linux, the rebadged version of ATutor, a couple of posts 2, 3 here and the "free as in speech not beer" phrase that one hears a lot. If using a bit of GPL software means the entire package became GPL then it seems to be economically impossible to sell since many places distribute GPL software for free.

Hence it is stange that GNU says in its page on "Selling Free Software", "Free programs are sometimes distributed gratis, and sometimes for a substantial price. " It seems a bit misleading to me for GNU to repeat that one can sell the software, since if the code must be available for free, I am not sure how one can sell it.

I realise now that Redhat seems to sell software, but in fact offers compilation services, as well as support services.

Since Moodle is written in interpretted language, as soon as one uses a routine from Moodle in a similar php product, then that product would become free as in beer too, it seems to me. Of course one could still charge for support.

But as I say I am not into selling software in the slightest. Generally, I wish my university would give up on software development but that is the path they decided to take.

Tim

回复Timothy Takemoto

Re: Including a little GPL code makes the whole project GPL

Martin Dougiamas -
Core developers的头像 Documentation writers的头像 Moodle HQ的头像 Particularly helpful Moodlers的头像 Plugin developers的头像 Testers的头像
I think it'a a lot simpler than this for THIS CASE.

Yes, the code was funded by your university. We didn't put a separate copyright notice on code so the understanding is that it falls under the general copyright notice for Moodle.

However, I don't care who the copyright holder is, as long as the code is released to Moodle under GPL. This is a condition of any paid development work that we (Moodle Trust) undertake for Moodle-related features.

So what we can do is put your University's name on it, with a GPL license notice (done). Moodle gets the code under the GPL (and that version can not be revoked), and your University is free to use the code elsewhere under whatever license they like.

In general, if the GPL portion is not DISTRIBUTED WITH the main software then it's OK. A link as you describe would be fine. It's all about distribution.
回复Martin Dougiamas

Re: Including a little GPL code makes the whole project GPL

Timothy Takemoto -
That will be fine by me and very kind of you.
I understand the general case too.
Thanks Martin,
Tim
回复Martin Dougiamas

Re: Including a little GPL code makes the whole project GPL

Martín Langhoff -
And therefore, the copyright holder for that piece of code (Timothy's uni in this case) can sell it separately under whatever terms they wish. But if they offer it together, the aggregation can only be distributed under the GPL, which is what all copyright holders agreed to.