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.
Best Answer
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:
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):
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.