8

My employer has given me to permission to open source a component of a project that I have been working on, allowing me to retain ownership and control, with the condition that they be acknowledged in some way. This open source tool would be hosted on GitHub, as part of a larger collection of tools in an existing collaborative organization's repository, so not a part of our company's GitHub organization repositories. It would seem that the best way to acknowledge my employer in a permanent and visible way would be to include some note in the software's license, but I was not sure if this were appropriate, or even legal.

Is there a common way of acknowledging people or organizations in FLOSS licenses? If not, what other options are there for acknowledgements?

  • 1
    It'd help if we had some more details. What is the code? How will it be used? What do you mean by "existing collaborative organisation"? Does your company want to notify people who read the source code or end users who won't even look at the code? Also keep in mind that once it is released under a FOSS license, anybody (including you!) can simply delete the acknowledgement. Being allowed to do that is a mandatory part of the code being properly open source. – Abhi Beckert Jul 15 '15 at 3:57
  • @AbhiBeckert You raise valid points, however you don't need to know all of those details to provide an excellent answer to the question: You don't need to know the code. – Zizouz212 Jul 15 '15 at 4:12
  • You could include the company's name in the copyright: "Copyright (c) 2015 John Doe, Foo Bar, Inc." or "Copyright (c) 2015 John Doe, of Foo Bar, Inc." – Glenn Randers-Pehrson Jul 15 '15 at 12:03
  • 1
    @GlennRanders-Pehrson: Wouldn't that copyright notice give my employer claim over the project? – woemler Jul 15 '15 at 13:23
  • 1
    @AbhiBeckert: No, ability to delete acknowledgements is not granted by all, or even most, FOSS licenses. – Ben Voigt Jul 15 '15 at 16:22
4

Let me tell you one thing. Definitely, and please, please don't modify the license that you apply to your software. For example:

The GPLv3, is copyrighted itself (emphasis is mine):

Copyright © 2007 Free Software Foundation, Inc. http://fsf.org/

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

You'll run into many problems by changing the legal code of a license.


In terms of making a note of your company (or even yourself) in the project, there are a few ways you can do this:

  • Edit the project's source code:
    All you need to do is really put a few "commented" lines like so, likely at the top of the file:

    // Haha! This source code file has been viciously made to make a reference to my
    // company! This is lovely for [insert-company-name-here]
    

    Alright, maybe not exactly like that... but you get the point.

  • Add a section in a "readme" file.
    It is common for many projects to include a readme file, with details such as installation instructions, notes, known issues... It makes sense to put some details here. The readme file normally receives tons of traffic: people view it from within your repository, and even if they have the source code on their computer.


Overactor has also raised a good point: Using a FLOSS license would mean that others would be able to modify the files of the project that you make available themselves, when it is in their personal hands.

One problem I see here is that redistributors are not obligated to keep this notice in there.

For a solution... You could specify something to make sure that the license does not apply to these notices or separate files. As far as I can remember, this is allowed (I may be wrong), but I will find a source to back that up. Yar, I can't remember...

Forget all that -> It's non-sense.

Thanks to Bart Van Ingen Schenau, the Apache 2.0 license has a clause requiring a NOTICE file to be kept within the project. The relevant clause is 4d):

If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

Therefore, you can acknowledge your employer in the NOTICE file, and it will pass on to its derivatives.

  • One problem I see here is that redistributors are not obligated to keep this notice in there. – overactor Jul 15 '15 at 4:08
  • @overactor That's a valid point. I'll see if there's anything that I can think of – Zizouz212 Jul 15 '15 at 4:08
  • 1
    @overactor Quite frankly, I can't find this "source?" (Perhaps it doesn't exist). I've raised that question here: opensource.stackexchange.com/questions/1142/… – Zizouz212 Jul 15 '15 at 4:30
  • 2
    @overactor: The Apache License has a clause requiring that a NOTICE file with attribution notices is kept. – Bart van Ingen Schenau Jul 15 '15 at 5:19
  • @BartvanIngenSchenau: I am most likely going to use the Apache license, so maybe using the NOTICE file would be the best place for acknowledgments. – woemler Jul 15 '15 at 13:34
5

First, don't change the license. For most free software licenses, including GNU GPL, this is not even allowed. Why having credits in the license itself is not a good idea is pointed out by the FSF in the essay: The [unmodified] BSD License Problem.

A legal requirements to preserve the integrity of authorship and copyright information follows from article 6bis of the Berne Convention (about moral rights). In the USA, U.S. Code § 1202: "Integrity of copyright management information", is quite explicit about this - https://www.law.cornell.edu/uscode/text/17/1202 - but similar provisions exists in the local laws for most Berne signatories. Since preservation of attribution, etc. is a legal requirement, it applies universially (i.e. does not depend on the license used).

In addition, a reminder about this legal requirement can be found in many FLOSS licenses, such as Apache and the GNU GPL.

For example, the GPL explicitly let you add "legal notices or author attributions" in any materials you distribute and also obliges any downstream recipient to not remove such notices (see sec. 1 in GPLv2 and sec. 7 of GPLv3).

Here is the relevant language in GNU GPLv3 sec. 7:

b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version;

In an appendix to the license, there is a section titled: "How to Apply These Terms to Your New Programs" that gives some examples, including a notice where you can assert authorship attribution and/or copyright. If the program is interactive, you may also display this notice upon startup.

Section 1 of Gnu GPLv2 section 7 of GNU GPLv3 states clearly that it is a breach of license to remove such notices.

Please also note that legal notices asserting authorship, attribution and copyright does not give anyone more rights than the right of acknowledgement. FLOSS licenses are designed to allow new maintainers to take over (in the worst case by creating a fork) if the initial sponsors/owners of a FLOSS project pull their support.

  • Per my comment above, I am concerned about unintentionally granting my employer ownership of the project by putting them in the copyright notice. I am less concerned about maintaining an iron grip over my code as I am granting my employer the ability to pull support for it once it is released. – woemler Jul 15 '15 at 13:26
  • 2
    First, as pointed out by @GlennRanders-Pehrson, you may use a copyright format that gives you (the author) the copyright by still acknowledging your employer. Second, copyright on a FLOSS project does not empower anyone to pull support. You employer may pull their support (e.g. by no longer paying anyone to support it), but FLOSS licenses are designed to allow new maintainers to take over (in the worst case by creating a fork) if the initial sponsors pull their support. – Free Radical Jul 15 '15 at 14:02
  • I want to note that the notices that the op would like are not necessarily legal. – Zizouz212 Jul 15 '15 at 14:29
  • @Zizouz212: Could you clarify? – woemler Jul 15 '15 at 15:08
  • 1
    @FreeRadical my point was that OP made no mention of the license, yet your entire answer revolves around the GPL. – RubberDuck Jul 16 '15 at 10:09
2

There are a couple of options to give credit or "shoutouts", depending on the owner of the copyright, and the license you use.

If you hold the copyright:

  • Hosting. Hosting on your employers GitHub page already establishes a strong link to your employer. Hostile forking could reduce the effectiveness of this measure, but is uncommon.
  • Hosting 2: Distributing binaries somewhere from your corporate website, including a nice project description, and hosted documentation cementing it as the official or original distribution.
  • Depending on the language: namespacing. If the code is namespaced in com.thecompany.yourproject it implicitly links your company to everyone using the code

If your company holds the copyright, in addition to the above:

  • A copyright-holder notice (your company) in addition to an author (you) in file headers and/or license file. Depending on the license, this could be forked out, but that's widely regarded a bad idea and/or a dick move, and is not common.

In addition, it is always a bad idea to edit the license. This may be illegal (for example (A/L)GPL, which are copyright protected), or may just be a bad idea, as editing well-understood legal documents as licenses by a layperson might inadvertedly introduce legal hazards

Note: In various comments you state that you believe that you hold the copyright. You state you live in MA, USA and there are no specific copyright ownership clauses in your contract. That leads me to believe this work is a Work for hire: "(1) a work prepared by an employee within the scope of his or her employment; (2)(...)", and your employer holds the copyright. If you want to know the fine details, law.stackexchange.com would be a good place to ask.

1

A common way would be to add the company to the copyright statements, e.g.

Copyright 2012, 2013, 2014 Company Name
Copyright 2012, 2013, 2014, 2015 Your Name

This is free software, licensed under the terms of the GNU General Public License, version 2.

etc.

This reflects the reality quite well (they are still a copyright holder, which is why they had to agree to relicensing the software to make it open source), and also creates an attribution that may not be deleted.

  • My understanding is that in my state, and with my employment contract, my employer does NOT own the source code. Further, with their blessing to release the source code, they now have no actual control over what I do with it or whether I acknowledge them at all. – woemler Jul 15 '15 at 13:55
  • 2
    If they never owned it, then you don't need permission. Also, did they permit taking it open source (that would be licensing), or did they allow you to do anything you want (including building a proprietary product)? – Simon Richter Jul 15 '15 at 15:44
  • They explicitly granted me permission to release the code under a TBD open source license as part of an ongoing collaboration with several organizations. – woemler Jul 15 '15 at 16:48
  • That smells to me as if they are indeed copyright holders. – Simon Richter Jul 15 '15 at 17:23
  • They have avoided directly answering my questions as to whether I am the sole copyright holder, which I interpret as them not holding the rights, but trying to make me believe they do. – woemler Jul 15 '15 at 17:50
1

You do not own any copyright to any code you've written on this project, based on what you said in a comment to @SimonRichter's answer:

What I am open-sourcing is a core component of a work project I have developed on work time, using work computers.

Copyright law is clear. Since you did it as part of your job your employer owns all of the copyright and they are allowed to do anything they want no matter what license you choose.

Unless somebody outside the company contributes to the project, the terms and conditions of the license won't apply to your employer.

Your goal is "to retain ownership and control" of the project, but unfortunately as things stand now you have zero ownership and zero control over the project and that will not change unless/until you leave the company and start working on the project from scratch.

Your employer has asked to be acknowledged in the project, and the best way to do that right now is to simply say "Copyright Acme Inc" (perhaps with a year). Some licenses (like MIT) will have you place that line at the top of the license. Other licenses (like GPL) have you create an "Authors" file with that line in it.

Basically any open source license will allow you to continue to work on the project after you leave the company, and they will also allow you to create a fork of it.

If your goal is to have as many rights as possible when you leave the company then you'll need to carefully consider what license you choose.

Some licenses (such as GPL) are "copyleft" and have strict restrictions (for example, you cannot place any GPL'd code on the iPhone App Store unless your employer gives you permission) so you may wish to avoid those licenses. GPL also has some pretty strong repercussions around patents if your employer owns (or licenses) any of those, but this probably isn't a concern for you.

Other licenses (Such as MIT) are "permissive" and will let you do almost anything after you leave the company. Personally I prefer these licenses but it's up to you.

  • 1
    "Copyright law is clear. Since you did it as part of your job your employer owns all of the copyright and they are allowed to do anything they want no matter what license you choose." Actually, this depends on jurisdictions. In jurisdictions with "Work for hire"-provisions in their copyright law, employer owns the copyright. I jurisdictions without, author owns the copyright, but right to unrestricted use is given to employer, – Free Radical Jul 16 '15 at 4:38
  • Copyright law is clear? Take a look: allowing me to retain ownership and control – Zizouz212 Jul 16 '15 at 5:05
  • @FreeRadical the OP is in MA so he does fall under the Work for Hire doctrine. Obviously copyright law varies around the world but I'm trying to answer his specific question here... – Abhi Beckert Jul 16 '15 at 6:45
  • Thanks for the answer! I suppose the best course of action would be to consult an outside IP lawyer, who can give me a straight answer as to my rights in this situation. I neither want to screw over my employer, who has been quite generous in this situation, or open myself up to any legal repercussions. – woemler Jul 16 '15 at 13:49
  • @willOEM contacting a lawyer may be expensive... but you might like to start with the ones on this list: wiki.creativecommons.org/wiki/CC_Friendly_Lawyers#United_States. if I was you I'd just play it safe and release the code under a "permissive" license with your employer listed as the copyright holder. And if you ever leave the company, you can continue to work on it adding your own name then as a second copyright holder. If your employer isn't willing to let you take over the project when you leave you can just make a fork. – Abhi Beckert Jul 16 '15 at 23:58

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.