Thank you for your comments. You appear to have some experience with this.
On Thu, Jan 3, 2013 at 5:27 PM, Eitan Adler <[email protected]> wrote: > On 3 January 2013 16:45, Timothy Normand Miller <[email protected]> wrote: > > Here's a proposed draft of my hardware licensing terms. Read everything > > carefully before complaining. > > Meta comment: > > Licensing is hard and depends on subtle choice of wording. "Crayon > licenses" not drafted by a lawyer almost certain mean something > different than one would expect. Think about a Lawyer trying to write > C code. ;) > Yeah, this is a dilemma I am facing. > > Second Meta Comment: > > Could we try for something LGPL like instead of GPL. This allows this > code to be mixed with freely licensed hardware as well without losing > the motivation for the restrictive license. > I specifically DO NOT want this. By applying LGPL some company could sell this in their SoC for $billions, as long as they published their modifications to just the GPU portion. If someone uses this under the terms of the GPL (like putting it together with other open source hardware components), then I want to encourage that and don't want to ask for royalties. If some smart phone maker decides that our design is more energy efficient than PowerVR and wants to use it in their SoC, then I want us to bring in revenue in the same way that PowerVR does. So the basic idea is that to get the design without the GPL "viral" element, they have to pay money. Note that there is a small issue with some chips where a standard component is hard to open source with the rest of the design, and we need to exempt this. For instance, it may be more cost-effective to use a pre-built PCIe controller or GDDR5 memory controller, and we should exempt this from the GPL requirement. Carefully. > > Third Meta Comment: > > Try contacting the OSI via the license-discuss list: they may have an > interest in this discussion. > Good idea. Maybe I can delegate that to someone. :) Meanwhile, I need something I can slap on code I want to post to the list next week > > > OpenShader Open Hardware License (OSOHL) > > > > > (0) This "Work" is defined to be this document or source code, parts of > > this document or source code, or derivative works of this document or > > source code. Use of the Work, in whole or in part, must comply with > > the licensing terms > > This work does *not* include derived works. Those are different works > derived from this one. > Well, it does in a viral way, but this is an IP distinction that I'm sure a lawyer would take issue with. > > > below. > > So term 0 need not be complied with ;) ? > > > > > (1) This Work is licensed as a proprietary ("Original") copyrighted work, > > all rights belonging to Timothy Normand Miller. Timothy Normand Miller > may > > use this Work under those terms and has the right to publish, license, > and > > sell this Work and derivative works as he sees fit. > > This is assumed. I would use the generic term "licensor" instead of your > name. > > > To remove these rights, > > you must remove this clause. Under the Original licensing terms, third > > parties may download, view, and redistribute this Work. Third parties > are > > NOT permitted to sell this Work or relicense it under any terms other > than > > those expressed in clauses (1) and (2). > > This clause likely does not work as intended. See how the LGPL / GPL word > this. > > > (2) At your discretion, you have the right to REMOVE the Original > copyright > > in clause (1) and APPLY the GNU General Public License (GPL) as > published by > > the Free Software Foundation; either version 2 of the License, or (at > your > > option) any later version. By performing this action, you are making an > > explicit fork. This is the only circumstance where modification of this > > license by a third party is permitted. Contributions to such a fork may > > not be contributed back to Original version. > > This clause is not required. Instead "dual license" the code under > the (L)GPLv2. This makes this license simpler. > I tried dual-licensing and got into some trouble over it. > > > (3) Use of this Work without clause (1) forfeits the right to use any > > trademarks owned by Timothy Normand Miller, Traversal Technology, the > Open > > Graphics Project, or related organizations. "OpenShader" is a trademark > of > > Timothy Normand Miller. > > No forfeiture require. Is OpenGraphics or OpenShader registered. > They are not registered, but I supposed I should register them. > > "No trademark or patent rights held by ______ are waived, abandoned, > surrendered, licensed or otherwise affected by this document." is the > language to use. (See > https://creativecommons.org/publicdomain/zero/1.0/legalcode). > Got it. > > Note that inclusion of this language may not qualify this license as > open source per the OSI. > IIRC, the FSF made a statement that they're perfectly fine with companies using trademark protection for a brand identity. So they defend the right of CentOS to maintain a more accessible fork of RHEL, and they also think that Red Hat is within their rights to say that CentOS cannot use the trademark "Red Hat" without permission. > > > (4) Patches, modifications, changes, and extensions (collectively, > > "Modifications") to this Work that are submitted to the Open Graphics > > Project, the Open Graphics Mailing List, directly to Timothy Normand > Miller, > > or to an agent thereof must be SIGNED by the author of said Modification > > (including the words "signed off by" and the author's name), granting > > Timothy Normand Miller copyright privileges under clause (1). > > Unsigned Modifications will be ignored. Your inclusion of > > the signature implies that you have read and agreed with this license > > and have verified that you are in compliance with applicable law. > > This is called copyright assignment and should not be part of the > license. Rather it should be a policy of the project. > Ok. So at the very least, I need two documents, one for licensing terms, the other for project policy. I also agree that I should generify the name of the copyright holder, because I don't mind if someone else copies my license. > > > (5) Modifications committed directly to an officially recognized source > > code repository are signed implicitly. Those who have write access to > > such a repository and who commit Modifications to that repository grant > > rights to Timothy Normand Miller under clause (1), by virtue of having > > write access and choosing to submit Modifications. > > Ditto. This may require a legal document as well. > > > (6) It is the responsibility of the submitter of a Modification to ensure > > that they have the right to submit the Modification and that they have > > all the necessary permissions (including without limitation, patents > > and copyrights) from any other contributors or third parties. > > Once again, policy, not license. > > > (7) An implementation of this Work that is considered analogous to a > > "binary distribution" is defined as any form that is not easily > > readable by humans ("non-preferred"), which includes, but is not > > limited to: Fixed-function IC (e.g. ASIC), fixed-function IC masks > > or other fabrication intermediate step, variable-function IC (e.g. > > FPGA), FPGA bitfile, compiled or translated simulation model. > > This needs to be cleaned up by a lawyer. > > > > > (8) The submitter of a Modification assigns copyright of the Modification > > to Timothy Normand Miller. Depending on your local laws, you may be able > > to assign joint copyright to Timothy Normand Miller and yourself. > > Alternatively, you may need to assign copyright exclusively to > > Timothy Normand Miller. Assigning joint copyright to Timothy Normand > Miller > > yourself is preferable because it will allow you to make unrestricted > use of > > your work in the future. > > Policy, not license. What if I *fork* the project, and commit my own > changes. This is what the license is intended to cover. > Somehow, I'm trying to get across that if you fork the project, it has to be under GPL. Of course, you can commit anything you want to the GPL version. The next question is what about if you BOTH fork the project AND commit things to the original. You might have to demonstrate proper compartmentalization due to the potential conflict of interest; you need to be sure that what you commit to the Original is your own work and not something you got from someone else committing to the GPL'd fork. > > Also, is it fully assigned or joint copyright? > Whatever gives the original licensor all of the rights specified here. > > > (9) The submitter of a Modification forfeits the right to any patents > > covered by This Work and pledges to not enforce any patents covered by > > This Work. > > See the Apache license for appropriate text here. > > > (10) At your discretion, you are encouraged to add comments to the > > "Contributions" section of this Work, indicating the nature of your > > Modification. > > This needs to be cleaned up - or rather removed. > Yeah, this is a hold-over from old stuff. It's neither license nor policy. It's coding standard. :) > > > Frequently Asked Questions > > People asked questions already? > Well, some of them have been asked before. Others I expect to be frequently asked. > > > A: Yes, if you apply clause (2), removing the Original license. Then, > > you may sell the Work under the terms of the GPL. > > Again, any chance of LGPL instead of GPL? This is more free without > loss of function. > I want it to be free to you and to people at other universities. I want the likes of Apple and Samsung to have to pay for use of it. > > ... > > A: If you are a user under a royalty contract, permitted modifications > will > > be governed by the contract, and you are NOT REQUIRED to publish those > > modifications. > > this is a difference license / contact and may depend on *those* terms > > > share a Modified version of the Work within a COMMERCIAL institution > > (e.g. a chip manufacturer), then this IS considered to be redistribution. > > This isn't how the license reads. > Then this should be moved into the license. > > > > > > *** Why does the original licensor (Timothy Normand Miller) insist on > full > > legal rights to covered Works? > > > > A: Frankly, I don't trust any other organization to manage this > properly. > > I am the custodian of this Work and have the moral responsibility to > ensure > > that the contributing community is treated fairly. The only way for me > to > > ensure this is to ensure that I have full legal control over covered > Works. > > I'm sure that many paranoids will be watching me carefully, looking for > any > > reason to complain. Do bear in mind that this project is very important > to > > me, and I would not do anything to abuse the FOSS community that places > > their trust in me. > > Perhaps the OSI / SPI / SFLC may be willing to help. In particular > the SPI offers legal services to organizations. > We'll have to look into that. > > > > *** Why do you require the Original license be explicitly swapped with > the > > GPL, > > rather than employing a dual license? > > > If someone contributes to a > > GPL version, then it's not called OpenShader, and it's off limits to me. > If > > someone contributes to the Original version, they know that the GPL does > not > > apply (but can if someone forks according to clause (2)). > > There are practical differences: it mainly makes the license more > complex without much reason. > That's true. I just want to avoid what happened before. > > > A: The license will NOT be applied to Works that are purely software. > > This includes software drivers and the OpenShader GPU simulator. For > those, > > we will always use FOSS licenses. The simulator will be licensed under > > pure GPL, and drivers will use the X11/MIT license. > > Yay! Free drivers! > > This isn't clear from the license, but it shouldn't be. This is > policy, not license. :) > > > *** Will the hardware design ever be considered to be a derivative work > of > > the simulator? > > Derivative work is a legal term of art. The answer doesn't cover it. > So, what I gather from Wikipedia is that a "derivative work" is a work that contains substantial new creative content that it can be considers a new work, but which is nevertheless based substantially on preexisting works. What I'm trying to make clear here is that although the simulator and synthesizable GPU will mirror each other's architectures, they are not derived from each other in any way that should require that one's licensing terms would apply to the other. > > > > -- > Eitan Adler > Thanks for the feedback. We now have another sub-project, which is to devise licensing and policy terms to apply to the code that I want to start releasing. Meanwhile, I'm thinking it'll be safe for me to just say that I own the copyright and that anyone wishing to contribute will have to explicitly make arrangements with me first. Same for getting a GPL version -- we can apply the GPL explicitly to snapshots, including a comment that explains that the GPL version is not the original. Something like that. -- Timothy Normand Miller, PhD Assistant Professor of Computer Science, Binghamton University http://www.cs.binghamton.edu/~millerti/<http://www.cse.ohio-state.edu/~millerti> Open Graphics Project
_______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
