171

I wrote a software utility I released freely as GPL on a separate machine some ten years ago. But the machine I wrote it on is lost, and I can't find the source code on any of my backups. I am still searching for it.

Two people have contacted me asking for the corresponding source (and one of them specifically mentioned they are exercising their rights granted by the GPL).

How do I properly reply to these people? And more seriously, am I in legal trouble?

The program was standalone, written from scratch by me.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

  • 13
    was this source code put on any site, anywhere? (github? part of a .tar.gz you put somewhere?) (iow: you only mention looking for it in your own drives and backups : is it the only place the source code was present on?) – Olivier Dulac Aug 30 '17 at 11:28
  • 23
    Where did these people get the software from? Are you still distributing it in binary form? – a CVn Aug 30 '17 at 11:35
  • 13
    @MichaelKjörling This was some 10 years ago, and I distributed the binaries by email or on a flash drive. – QuantumDot Aug 30 '17 at 16:02
  • 7
    or try the Internet Wayback Machine at archive.org/web – Olivier Dulac Aug 30 '17 at 16:39
  • 9
    BTW in addition to the given answers, you may consider telling them that they should feel free to reverse engineer the binaries if they wish. Unless they are in the EU, in that case they can already do that by law. – Andrea Lazzarotto Aug 31 '17 at 22:26
193

If you wrote the program yourself (as opposed to having modified somebody else's program or incorporated parts of somebody else's program(s)) and simply licensed it to others under the GPL, then you are in no way obligated to do anything by the GPL. It's unfortunate that you're missing the source and that others who want it are unable to obtain it, but it's not a legal matter. The GPL governs what others who redistribute or prepare derived works of your program must do in order not to infringe your rights under copyright law; it does not impose requirements on you as the author.

  • 1
    Comments are not for extended discussion; this conversation has been moved to chat. – ArtOfCode Sep 1 '17 at 21:50
  • 4
    "If you wrote the program yourself" would be a bit more accurate as "If you are the copyright holder to the program". The author could have, say, assigned copyright to another party (e.g. the FSF). – jamesdlin Sep 7 '17 at 1:23
114

Just tell them that you've lost the sources. You are not in legal trouble because you as the original sole author (license grantor) are not subject to the GPL.

Even if your code was subject to GPL because you incorporated another person's GPL'ed code, you're not in trouble if you released your code more than three years ago. GPLv2 says (emphasis mine):

  1. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

...

b) Accompany it with a written offer, valid for at least three years, to give any third party, ...

"You" in this case is anyone (the licensee) who received the GPL'ed code directly or indirectly from the author. The author (license grantor) of the code (presuming that they are the sole author and copyright owner, and didn't incorporate any other person's GPL code in their code) did not receive the code under a GPL license (or under any license) and therefore are not subject to its terms.

The license grantor is not required, among other things, to offer source code to anyone. Unfortunately the GPL license text doesn't point out this fact, nor does anything I could find on the FSF site (EDIT: but see Mick's answer which points to an item in the GPL FAQ).

  • 35
    Furthermore, this is only one of the 3 options. The most common option is to offer the source code alongside / together with the binary. If this was originally done, and you lost everything, you are not under an obligation to provide source upon request. – congusbongus Aug 30 '17 at 1:39
  • 26
    Even if the the written offer had to be valid forever, the only person that can drop the hammer is the copyright holder, which is the OP anyway. – whatsisname Aug 30 '17 at 6:30
  • 5
    @whatsisname or someone whose code OP used, presumably? That could get unpleasant... – John Dvorak Aug 30 '17 at 9:29
  • 2
    "You may copy..." refers to the licensee, and not the copyright holder. This does not apply to the OP. Nowhere in the GPL does it say the copyright holder has to release the source code. – Matt Aug 30 '17 at 21:34
  • 8
    @gnasher729 The "you" who is required to deliver the source code is the licensee. The copyright holder is not a licensee -- there is no right the license could grant him with respect to his own code that he doesn't already have, else he couldn't offer it under the GPL anyway. – David Schwartz Sep 3 '17 at 3:15
42

From the FAQ on gnu.org:

Is the developer of a GPL-covered program bound by the GPL? Could the developer's actions ever be a violation of the GPL? (#DeveloperViolate)

Strictly speaking, the GPL is a license from the developer for others to use, distribute and change the program. The developer itself is not bound by it, so no matter what the developer does, this is not a “violation” of the GPL.

However, if the developer does something that would violate the GPL if done by someone else, the developer will surely lose moral standing in the community.

(https://www.gnu.org/licenses/gpl-faq.html#DeveloperViolate)

However, in other places it appears that under the GPL developers should (or are expected to) either distribute the source with the binaries or make the source available in some other way, either by separate download or even with an "source available on request" note.

But, as others have also said, GPL doesn't require you to keep sources and binaries forever. Suppose you wrote something in gw-basic or turbo pascal? Suppose you uploaded everything to some repository which no longer exists? Suppose you no longer have the hardware, software nor the desire to maintain the code? 10 years is a long time in dog years as well as in software years. As the developer you can choose to stop supporting and distributing whenever you want.

  • I would say more than "strictly speaking". A licence grants rights to users/modifiers/sharers if they follow the licence's rules. The creator has all the rights already. The "moral standing" seems like a imho for the GNU people. It's not unheard of for software to be re-licenced into a lower obligation commercial licence: Mac OS X is a commercially licensed version of BSD Unix. – Nathan Cooper Aug 31 '17 at 15:48
  • 1
    @NathanCooper I think Unix is different to FreeBSD. – wizzwizz4 Aug 31 '17 at 20:20
  • 9
    @NathanCooper Furthermore, there's a difference between saying "I have the source and refuse to share it, even though I claimed it was open source", which might cause you to lose moral standing, and saying, "Sorry, it's been ten years since I wrote this and I have no idea where the code is. I tried to find it, but have had no luck so far. I'll let you know if it turns up." No reasonable person would object to the latter. – Ray Sep 1 '17 at 17:35
  • 1
    @Ray Yeah, good point. I'm not sure, in retrospect, that my comment makes sense. wizzwizz4: en.wikipedia.org/wiki/Unix#/media/File:Unix_history-simple.svg – Nathan Cooper Sep 1 '17 at 20:26
9

You wrote the program, and it's not a derivative of someone else's program. This means, you are not in trouble, and you can actually stop reading now.

It's unfortunate that you lost the sources, but that is it. You may tell those people that you're sorry but you lost the source code (in lack of a time machine, what else would you say!). End of story.

As you can read on gnu.org:

Note that the GPL, and other copyleft licenses, are copyright licenses. This means that only the copyright holders are empowered to act against violations.

The copyright holder(s), that's you. So nobody but yourself could act against your "violation". I'm rather sure you won't sue yourself.

Also note the wording of the license:

Each licensee is addressed as "you".

That means none more and none less than "you" in the GPL refers to the licensee, not you, the author. Apart from the fact that the original author (with very few exceptions) automatically holds the copyright and originator-right (and cannot even transfer the former in some countries, except under very specific conditions), that should also be evident from the fact that many GPL-licensed programs are dual licensed while the GPL states:

You may not copy, modify, sublicense [...] except as expressly provided under this License

Ouch! That would mean every company dual-licensing their software would place themselves in serious legal trouble. Surely, someone would have gotten the idea of sueing Oracle for GPL violation in the mean time?

But even if you cannot be pursued for the violation, is it strictly a violation in the first place? I daresay no. The GPL is a license where you document your goodwill intent of releasing your software as "free", which among many other things means people should have access to the source code. A number of possibilities how this could happen is given in the license, but it is only compulsatory to those redistributing your program.

Now, let's assume (hypothetically) the obligations of the license did indeed apply to you as well. It is entirely reasonable to assume that you acted in good faith, and that you indeed would send them the source code if only you could. Alas, you lost the sources. That's an accident, not a violation.
Sure, the net effect is that something was promised, and you can't deliver, but the spirit of the GPL is not to place silly obligations and liabilities on the authors, but to prevent someone from taking away the rights of the users, and to protect the authors.
But accident or not, you are failing to comply with the terms, so you possibly owe someone damages? No. The very license that you've chosen, and which is the only base for the user's right to obtain the source code explicitly denies warranties of any kind (paragraph 11 in v2 / 15 in v3) and damages (paragraph 12 in v2 / 16 in v3). This includes implied warranties and (explicitly) denies damages due to the inability to use the program.

I could imagine that someone might construct a (weak) case against you if you dual-licensed the program and had charged them money for the software together with the promise of getting access to the source code. In that case, they might argue having paid for the source code, which you now owe them (though after over 10 years, it's fair to assume the right has forfeited). Paragraph 17 of GPLv3 basically says the same thing, backwards, too ("unless... in return of a fee"). Well, you didn't do that. No fee, no sweat.

  • Regarding your "Now, let's assume (hypothetically)" paragraph, mind also that your license under the GPL is terminated if you fail to comply with the terms of the GPL. In GPLv3, this is codified in section 8, Termination. So if, in a hypothetical scenario, the GPLv3 terms did apply to the copyright holder, and if the copyright holder failed to provide the source code in accordance with the terms of the license, then the copyright holder would lose their rights under the GPL, including redistribution - but previous actions presumably would not suddenly change status. Compare GPLv3 section 10. – a CVn Sep 3 '17 at 13:46
  • @i486 Not only does "FSF" never appear within the GPLv2 nor GPLv3 text, the "Copyright (C) 1989, 1991 Free Software Foundation, Inc." (GPLv2) refers to the text of the licence document, not the software. In any case, that's known as a notice of copyright, not a transfer or assignment. If you actually did provide a notice with an incorrect name, that may provide a defence to people who were misled and later sued, but that doesn't apply in this case anyway. – Bob Sep 6 '17 at 5:09
  • @i486: There is a misunderstanding on your part (two, actually). First, you are of course right that there is a copyright note, it does however very obviously apply to the license (that is, the text of the GPL), not the software placed under the license. Second, You are again right with your quote, but do not correctly interprete it. Where it says "FSF acts on all GPL violations..." the important emphasis is on "FSF copyrighted code". That is not the case except for code that was created/released by (a member of) the FSF. The copyright holder is -- of course -- the original author. – Damon Sep 6 '17 at 9:27
  • @i486: In all countries which signed the Berne Convention (originally 172 nations, as of 2017 189 of 195 nations) the author of an original work is automatically and unconditionally assigned the copyright without any formalities. The copyright note in the GPL very obviously refers to the license text, not the licensed software, if for no other reason then because it states the year 2007. Consider what would happen if you licensed a newly written program in 2017 under the GPL today, copyright 2007. If this worked (retro-copyrighting), that'd be a workaround for invalidating every patent... – Damon Sep 6 '17 at 21:41
3

And more seriously, am I in legal trouble?

No. If the code was written from scratch by you with no other participation, then you can't be bound by the Gnu General Public License as it was your copyright. Only a copyright holder can enforce the GPL.

So if you wrote the code from scratch with no contributions from anyone else, you're fine. If that's not correct (e.g. someone else contributed code to the project), then please better describe the situation.

I lost the source code for programs I released as GPL. What to do?

If you are still distributing the binary, ask if anyone else has the source. I'm guessing that you probably distributed it to someone at some time. Just explain that you lost the source and want to distribute it again. Also, then people won't bother you for the source. You may also want to remove any GPL claim and just distribute the binary as freeware.

This is the whole point of open source. You shouldn't be the single point of failure here. If you distribute the source, then other people have it. You don't need to provide it.

This is also why it is often better to distribute the source through something like Github. Then you can just point people to your repository and you'll never lose the source. They have a program where they host open source programs for free. So then it's no longer your worry. It's in source control and the source is always available.

This is also why it is often better to bundle the source with the binary. If you bundle the source with the binary, bunches of people have it and you have no GPL responsibilities. That's true even if your program has external contributions.

TL;DR: it sounds like you are legally fine. However, there are things you can do to be covered better in the future.

2

If you are the sole author, you are in no obligations to anybody. There were ample explanations about that.

Now the question is: where do you go from there? You obviously had some intent behind releasing your software under the GPL, and all the recipients are not allowed to redistribute it without offering access to the source. So your program is no longer redistributable, and that seems clashing with your original intent. So you might want to consider telling the recipients what conditions for redistribution you want to hold, given that the GPL can no longer be met even in the light of lots of handwaving, and what that would mean if somebody were to reverse-engineer the source, or you were to rediscover the original on some backup media after all.

Personally, I think it sounds like you don't want to be bothered either way. In that case it might make sense to use something like the MIT license: if somebody is going to reverse-engineer the software, good for them. The GPL does not currently make a lot of sense since "the preferred form for modification" is only a hypothetical right now, and if you want to infer some other preferred form for the case of lost original source, you are walking on rather thin ice which does not make sense if you don't actually want to invest further energy into that project. Or if you do, it would make more sense to do it by rewriting the source (you probably still are the most capable person for that alive) rather than trying to invent new case law for rules not intended for it.

1

As others said, everything is legally safe because you are the only copyright holder, because only the copyright holder can sue you, and you are not going to sue yourself.

For developers who are not the sole copyright holder, because they took some GPL licensed code and adapted it, there is a simple method to avoid all future problems: Never give the code away, unless you accompany it with the source code. For example, you might create a zip file with your application or library and the source code, and only distribute that zip file, never the application or library on its own.

This is one of the three methods how you can legally distribute GPL licensed code (accompanying ever single copy that you distribute with the complete source code), and if you do it that way, you have no other obligations whatsoever. And therefore you have no problem if you lose the source code (except that you lose your ability to distribute the code following GPL rules), or if you can't be bothered to give people copies of the source code.

0

A copyright license is about granting permissions to other people to do things that normally only the copyright owner would be allowed to do. Such licenses can be conditional, and impose obligations on the other people in exchange for the permissions they are granted.

In the case of the GPL, the permissions you are granting other people include the freedom to make and distribute copies of your work (or derivative works thereof), and to further grant anyone else they wish the same permissions. The obligations include that they must also grant the same permissions (and obligations) to anyone they distribute your work to, and that they must also distribute the source code.

But you are not a licensee of your own copyright. You don't need anyone to grant you permission to distribute your own work. When you license your work to somebody under the GPL you are obligating them to distribute the source code along with any further distribution of your work. By giving them a copy of your work under the GPL you are not obligating yourself to distribute the source code.

Technically if you wanted you could license someone a binary distribution of your work under the GPL, without ever giving anyone the source. This would be weird since the legal effect would be that they couldn't distribute the work at all, which is much the same situation they would be in if you simply distributed it without any license at all. But there's nothing stopping you doing it.

Of course many works distributed under the GPL incorporate at least some code that is under somebody else's copyright, meaning you need to have a license to distribute it - usually also the GPL. If that is the case here, your license grant from that copyright holder obligates you to distribute your source code, but technically your license grant over your own copyrighted additions to other people still does not impose any obligations on you.

-2

It is your programme, you are not obligated to do anything - this is just common sense.

  • 15
    Common sense has little to do with legalities. You are correct, but explaining why would help here. – CGCampbell Sep 1 '17 at 16:37
  • 2
    @CGCampbell Common sense does have a lot to do with legalities. The idea that what is "legal" and what is "common sense" are diametrically opposed is just a popular meme which makes a caricature of the legal profession and law. – Kaz Sep 1 '17 at 23:20
  • 2
    @Kaz: there is no such thing as common sense. – whatsisname Sep 3 '17 at 18:58
  • @Kaz if "legal" and "common sense" were diametrically opposed, then they would have a lot to do with each other. In reality, there's some law that will make sense from a personal perspective, some law that won't make sense to you until you understand who advocated for it, and some law that won't make sense unless you study the entire history of the laws in that area, plus often the legislative debates surrounding it. – prosfilaes Sep 7 '17 at 5:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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