Giter Club home page Giter Club logo

Comments (8)

jordangov avatar jordangov commented on August 17, 2024 1

This one is pretty old... @marctjones Can you look at the current FAQ (in the static-site branch) and see if you would suggest changes with specific regard to contributions? I'm going to close this issue as we have other issues on similar topics, but if there is a concern we should open a new, specific GH issue for each topic (versus piling on a bulk issue).

from code.mil.

tomberek avatar tomberek commented on August 17, 2024

In order response:

  1. DDS has sought OSI comment and are trying to find a way to avoid proliferations.
  2. We've been in touch with several and would be happy to reach out to more for their comments and advice.
  3. Any help in creating a plain English summary would be amazing. Feel free to submit. (also, please consider the approach outlined in #33, #34)

from code.mil.

BrandonBouier avatar BrandonBouier commented on August 17, 2024

We've pivoted based on user feedback. Take a look at the current CONTRIBUTING.md

from code.mil.

shawoods avatar shawoods commented on August 17, 2024

@xizhao What do you think about the updated open source strategy captured in CONTRIBUTING.md? The software would become of mosaic of code with and without copyright protections. At some point, the software may become a joint work, with the entire work copyright protected and subject to the license associated with the project. Any thoughts about that? What about selecting a copyleft license, like GPLv3, for the project?

from code.mil.

ckaran avatar ckaran commented on August 17, 2024

I've put the idea up on the OSI license-discuss mailing list. If you are interested in this idea, I suggest either joining the mailing list, or visiting the archives, both of which can be found here.

from code.mil.

marctjones avatar marctjones commented on August 17, 2024

@shawoods Without discussing my thoughts on how valid a position it is. I will share that a lot of FOSS attorneys try to treat contributions to a project as a series of separate individual derivative works. Bringing up the concept of a joint work makes some of them twitch.

And if you play it out, I am not sure that is helpful in your strategy either. But I truly don't know how the lack of copyright protections for government works would play out in the context of a joint work.

The following is most definitely not legal advice! But it is my understanding of the most popular legal theory on how FOSS licenses work in practice. A lot of this has never been tested in court so results may vary.

For a brief reminder on the requirements and impact of joint work here is a link to the 9th circuit's jury instructions on joint work. Notice that both intent to merge the independent works into a unitary whole and intent to be co-authors are requirements for a joint work to be created. (I know my second citation to the 9th circuit in a issue; my apologies to those who know why I am apologizing).

I think the theory goes something like this though:

  1. Developer A writes some software and publishes it as Work A. Not a joint work since there is only one author.
  2. Developer B independently writes some software library and publishes it as Work B. Not a joint work since there is still only one author.
  3. Developer C writes a patch a patch to Work A that incorporates Work B and publishes it as Work C. For simplicity let's assume Work C is a derivative work of Work A and Work B. But Work C is not a joint work because only one person intended to create Work C. Developer A and Developer B did not intend to create Work C at all.

The more complicated case I guess would be Developer C does not "publish" work C, but rather submits his original work, Contribution C, as a patch to Developer A. (This raises the question of how do you submit a contribution without publishing it while still operating in the open?) For this scenario assume that Contribution C does not including any code from Work A, but including Work B. Developer A accepts Contribution C and publishes Work C.1. Now it appears that Developer C intended for his work to be incorporated as part of the whole of Work C.1. And that Developer A intended for his work to be integrated into Work C.1 as well. So who owns the copyright in C.1? And who owns the copyright to Contribution C? Is it just Developer C subject to Developer B's copyright interests? Or does Developer A have a copyright interest in Contribution C as well. When Developer A publishes Work C.1 who is the author of Work C.1? Is it just Developer A or is Developer C a joint author? If so to what extent does Developer A have a right the copyrights independently of Developer C for the portions contributed as Contribution C. And to what extent does Developer C have a copyright interest in Work A? If Developer C has a copyright interest in Work C.1, is Developer's C copyright interest subject to Developer A's copyrights in Work A?

To me it seems pretty clear that Developer B remains the sole author of Work B, because at best(worst?) Contribution C, and Works C and C.1 are merely derivative works of Work B. Therefore Developer B shouldn't be considered a joint author of Contribution C, Work C, or Work C.1. But would Developer C be free to relicense Work C.1 as he sees fit free of any copyright claims from Developer A?

To make this simpler (?), it seems like a lot of people (developers and attorneys) who have thought about this take the position that the contribution is an independent work not intended to create a joint work. Thus avoiding joint work altogether. So you end up with no joint authors but a big ball of independent derivate works with multiple independent copyright holders. A mosaic as @shawoods said.

Note however even if no joint work is create, the fact that at least some portion of the work is copyrightable means that anyone using the ball of independent works needs to comply with all of the licenses applicable to each independently licensed component. If each author has coordinated their licensing terms so that they all release their portion under the exact same license it makes it pretty easy to comply. Just track all of the author's copyright notices and comply with the terms of that one license.

If multiple licenses apply, say for example Work B was licensed under the BSD license and Works A and C.1, and Contribution C were licensed under the MIT (Expat) license, then you need to comply with both the BSD and MIT license. That is not too hard to do either. Since the BSD and MIT license are pretty similar. If Contribution D comes along under a GPL license and Developer A publishes D.1 the theory goes everyone needs to comply with the terms of the BSD, MIT and GPL license. In practice what most people say is that Work D.1 is published under the terms of the GPL, but you do actually still need to comply with the licenses associated with Works A, B, and C.1.

Once you have a copyleft license like the GPL involved now you now get into the issue of compatibility and derivative works. You could combine Works A and B into a single work without violating copyright because it was possible to comply with both the BSD and MIT license at the same time. You could also combine Work C.1 and Contribution D into Work D.1 because you could comply with the terms of the BSD, MIT and GPL license at the same time. That is to say there is a way of distributing Work D.1 without violating any of the those licenses. They are "compatible" licenses.

Let's assume Work E exists and is licensed under the terms of the CDDL. Barring special circumstances, most people assume that it is not possible to comply with the terms of the CDDL and the GPL at the same time. In other words the CDDL and the GPL are "incompatible" licenses. (See e.g., the Linux/ZFS controversy which may or may not include special circumstances). If Developer F creates Contribution F that incorporates both Work D.1 and Work E, is it possible for Developer F to distribute Contribution F while still complying with both the terms of the CDDL and the GPL. If not, then Developer F can not distribute Contribution F without violating the copyrights of either Developer D or Developer E. Interestingly Developer F is probably still able to create and use Contribution F without violating any copyrights, but just not distribute since most FOSS licenses place restrictions on distributing and copying, not use or modification. (See e.g. the AGPL for a exception to that).

I say all of this because it seems to me like the government code would remain forever beyond copyright protection regardless of joint work status. But would be able to take advantage of copyright protection at some point by the government source code becoming impractical to use without also using another piece of code that is subject to copyright protection. I do not think you need joint work to make that happen. And you might not want to, because if there is joint work does that mean some authors start getting permission (via a special copyright or some implied license by operation of law) to the whole mosaic of code free of the FOSS licenses? I have no idea. If you have thoughts/citations on how joint work would operate, I would love to read them.

from code.mil.

shawoods avatar shawoods commented on August 17, 2024

@marctjones Thanks for this! Is it fair to say your conclusion is that it's more accurate to characterize the outcome of our strategy as a mosaic of public domain and copyrighted code, rather than a joint work?

...the fact that at least some portion of the work is copyrightable means that anyone using the ball of independent works needs to comply with all of the licenses applicable to each independently licensed component.

I agree.

Given your thoughts about joint work, how do you reconcile this FAQ?

http://dodcio.defense.gov/Open-Source-Software-FAQ/#Q:_Can_government_employees_contribute_code_to_open_source_software_projects.3F

from code.mil.

marctjones avatar marctjones commented on August 17, 2024

@shawoods I have questions for the author of that Answer. Maybe he is right, but I /feel/ like that is not what joint work means. I think that answer makes more sense if joint work was read to mean a derivative work or compilation. I have never dug up a law review article on joint works, and I think I need to read a primer on it to really understand if the law is even clear enough in this area to make a good assessment of that answer.

But yes, I take the conventional understanding amongst FOSS lawyers is that they at least want to "characterize the outcome of [y]our strategy as a mosaic of public domain and copyrighted code, rather than a joint work." And since intent is so important to creation of joint works that desire might mean a lot, at least for commercial actors.

It seems like a random community project's intent would have a lot more to do with the intent of a garage band or a unincorporated partnership then what a Fortune 500 company decides to do though. So honestly I am still hoping to run into a music copyright lawyer someday. I feel like those guys would have a better handle on joint work. But asking them about free culture licenses would probably not get a warm response.

No idea how one determines the intent of the government though, I am sure you would know better then I.

from code.mil.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.