10

I'm working on a calendar project, on my own. In this project I've to use Swiss Ephemeris. It is licensed under GPLv2 and commercial. With commercial version of license, developers entitled to distribute the software, as his/her wish. But as this is my personal project, I've to use the GPLv2 license.

By using the library and data file, I'm generating data for calendars. In future I shall publish these calendars in a website, freely. In this process obviously I've to modify the library, write some of my own code and other chores. Will I've to make my final source code open.

I don't have any problem to make this public. But I'm asking, if I've to.

Edit: From the detailed answer from @apsillers & others, it is clear to me that, I'll not have to make my software GPL or even give source code to the visitors to the website. Though I've to make my displayed data GPL by the clause, as the Swiss Ephemeris data, licensed under GPLv2 or later and commercial:

More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from.

2

4 Answers 4

15

Since you're making a derivative work of GPL-licensed software, your combined work would need to be licensed under the GPL as a whole. However, if you don't want to distribute your work, you are in no way compelled to shared your changes.

The GPL FAQ has this to say on keeping your modifications private:

Does the GPL require that source code of modified versions be posted to the public?

The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them...

But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

Thus, you are not required to make your modified program public, but you if you do, you must share it under the GPL.

Perhaps you're also worried that sharing your output calendars will compel you to share your modified code. The FAQ explains that output data produced by a GPL-licensed work is not covered by the GPL, unless the output actually contains GPL-licensed material (e.g., if part of the GPL-licensed program itself is included in the program's output):

Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free?

In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert his own data, the copyright on the output belongs to him, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from.

So the only way you have a say in the use of the output is if substantial parts of the output are copied (more or less) from text in your program. For instance, part of the output of Bison (see above) would be covered by the GNU GPL, if we had not made an exception in this specific case.

In what cases is the output of a GPL program covered by the GPL too?

Only when the program copies part of itself into the output.

So, your output is probably not GPL-licensed. Note that even in some unusual case where the output is somehow GPL-licensed (like a Bison grammar), the output is a separate work from the program that created it. You'd need to obey GPL restrictions on the output, but sharing GPL-licensed output does not mean you must share changes on the GPL-licnesed program that created that output. The GPL on the program only comes into effect when the program itself is distributed, not when its output is distributed.

8

The GPLv2 only requires you to provide source code (and unencumbered redistribution rights) to those whom you give the software. If the software is only on your computer, you don't need to distribute code, because you're not distributing binaries. (As an aside, the Affero GPL (AGPL) has more strict requirements than the plain GPL: with AGPL-licensed software, you must also share the source code with anyone who interacts with your software through a network.)

Regardless of the GPL version you use, however, any data file you create with the software is NOT part of the same work, and so does not typically need to be licensed under the GPL.

In addition, be aware that simple lists are in many cases not even eligible for copyright protection. If you were to want to claim a copyright on your calendar data, I'd recommend consulting with an attorney.

1
  • 1
    In GPLv3, you also don't have to distribute your code if you don't distribute the application. It is only with AGPL (Affero GPL) that just providing remote access also compels you to distribute your code. Oct 22, 2014 at 12:24
2

You have to only if it was a Affero GPL otherwise not.

From the FSF FAQ:

A company is running a modified version of a GPL'ed program on a web site. Does the GPL say they must release their modified sources? (#UnreleasedMods)

The GPL permits anyone to make a modified version and use it without ever distributing it to others. What this company is doing is a special case of that. Therefore, the company does not have to release the modified sources.

It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications. However, putting the program on a server machine for the public to talk to is hardly “private” use, so it would be legitimate to require release of the source code in that special case. Developers who wish to address this might want to use the GNU Affero GPL for programs designed for network server use.

Also in the description of the Affero GPL they specifically state that the Affero GPL is there to require release in an open source license. This implies that the non-affero GPL allows to use GPLed code on webserver also for closed source projects.

1

The data incorporated in Swiss Ephemeris is, according to their web site, derived from data provided by NASA JPL. As this is a work of the US Government, it is therefore free from copyright in the US and any country conforming to the Berne Convention (which requires works to be subject to copyright in their country of origin in order to qualify for protection in other countries). See http://en.wikipedia.org/wiki/Copyright_status_of_work_by_the_U.S._government

3
  • 1
    As Swiss ephemeris has done considerable work on the base data, they may well be able to claim copyright on what they have produced.
    – Jaydee
    Oct 23, 2014 at 14:26
  • AFAIK, the work they've done is limited to storage technique (irrelevant for the asker's purpose), user interface (also irrelevant), and translation between coordinate systems (which lacks a creative step therefore is not eligible for copyright protection). But I may be wrong, there may be something else that I've not spotted in the description of the software that does make it eligible, but it really doesn't look like it from here. Oct 24, 2014 at 3:45
  • They report they have done considerable extra work, for example they say "In addition to the astronomical planets as contained in the JPL integration, we have included all other bodies and hypothetical factors which are of interest... We have used our own numerical integration program to provide ephemerides for all known asteroids, once they are officially numbered."
    – MarkJ
    Nov 28, 2014 at 13:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.