FPGARelated.com
Forums

Xilinx Legal

Started by Austin Lesea January 30, 2006
Austin Lesea wrote:
> John, > > No, you can not assume anything. In fact, I think you (personally) > should talk to our legal department, and reach an agreement.
It seems to me that part of the problem is that Xilinx is used to negotiating special provisions with customers one by one, and may even be quite responsive and liberal in doing so with fairly small customers. That's fine for closed projects, but open source efforts under "free software" licensing may only make use of information or components which may be freely shared with all potential users, with the only restrictions on disclosure, permissable uses or modifications being that you cannot impose new restrictions on disclosure, permissable use or modification. As a result, the only usefull answers to the kinds of questions that have been asked are published, public ones. Though some of the questioning and floating of trial answers could take place behind the scenes.
cs_posting@hotmail.com wrote:

> That's fine for closed projects, but open source efforts under "free > software" licensing may only make use of information or components > which may be freely shared with all potential users, with the only > restrictions on disclosure, permissable uses or modifications being > that you cannot impose new restrictions on disclosure, permissable use > or modification. > > As a result, the only usefull answers to the kinds of questions that > have been asked are published, public ones.
I can not personally broker a deal for an open source project, because I can not control the use and modification of the project in the open public. I would not accept the personal liability should Xilinx think I could even control what happens to the information after we publish it. So public discussion, that all can use is the only productive forum for open source uses.
fpga_toys@yahoo.com wrote:

> I can not personally broker a deal for an open source project, because > I can not control the use and modification of the project in the open > public. I would not accept the personal liability should Xilinx think I > could even control what happens to the information after we publish > it. > > So public discussion, that all can use is the only productive forum > for open source uses.
I think you could get the ball rolling with some email, but I agree that all of the 'decisions' woul d have to be very public, and even enough late-stage discussion to illuminate them, for the result to be of any use for a free and open project. It seems like you are hoping Xilinx legal will meet you here. That might be a good result, but you may have to first talk to them on their turf to issue the invitation.
Austin Lesea wrote:

> "XDL and related info being a public use interface to ISE outside of NDA > restrictions" is clearly prohibited. > > But, if XDL is used inside of the agreement, then that is OK. > > For example, if you created a XDL file with our tools, and then > processed it with your tool, and then wanted to use in in silicon other > than Xilinx, that is prohibited.
It seems that there are really two different issues at stake here (in the context of people wanting to release open source XDL-interfacing tools). 1. - disclosing the XDL interface. The XDL file format is not published anywhere (I don't think, not even in Xilinx doco). So almost by definition, to use it you have to reverse engineer it. Thus, to release an open source tool that speaks XDL, you are disclosing Xilinx proprietary information that was obtained contrary to the terms of the EULA. That's naughty, and probably justifies a nastygram from the lawyers. 2. - targetting non-Xilinx parts. Disregarding (1) above, if I release a tool that speaks XDL, am I responsible for what people do with it? I would argue "no", but I'm sure you could find a lawyer who would argue "yes". That's a legalistic interpretation. But, back in the real world, what Xilinx wants to do is sell FPGAs. The best way to get Xilinx on side is to help them do that. They'll either look the other way, help you along, or if you're really good at it - buy you out. So, how do you create an XDL tool that does a "reach through" on Xilinx's condition that you only use Xilinx tools to target Xilinx parts? Well, maybe hybrid licensing is one approach. As long as you write the software from scratch, with no existing GPL (e.g.) code, then you can license the tool under any conditions you like[1]. For example, you could say "This software is released under the terms of the Gnu General Pulbic License version 2.0 (or BSD or whatever), PLUS the provision that the tool be used only to target Xilinx FPGAs". You'll probably want a lawyer to write this one, and Xilinx's lawyers would also want a look in. Richard Stallman would probably have a minor fit over the concept of bundling an commercial exclusivity clause with the GPL, but oh well. What you've now created is a hybrid license, incompatible with the pure GPL (ok, so you can't host it on sourceforge, no big deal). If someone uses the tool to target an Altera part, then they are breaking the conditions of their license and it is therefore immediately revoked. You would add a viral clause which makes sure that further refinements of the tool are also covered by the same dual condition (GPL + Xilinx only). So, if the goal here is to develop open source XDL tools, I think there are probably creative solutions, that will involve some compromises. If the goal is just to whinge about Xilinx's EULAs, then mission accomplished, and we can all go back to work. Regards, John [1] If it's your code, you can insert any condition you like, no matter how silly. How about "It is a condition of using this software that you wear a propellor-head cap and stick your tongue out while doing so". Very silly, but if you don't like the conditions, don't use the software!
cs_posting@hotmail.com wrote:
> It seems like you are hoping Xilinx legal will meet you here. That > might be a good result, but you may have to first talk to them on their > turf to issue the invitation.
Actually what I was hoping for was an open source advocate inside the company to act as the interface point between public discussions and Xilinx Legal. If the culture is clearly anti-open source, then I surely would not expect someone to put their job on the line as an advocate. Actually, I think I've already been accurately given the answers, and took a lot of heat for exposing part of the private discussions I have had about this touchy subject.
cs,

Going from "using XDL" for some unspecified reason, to "open source" is 
a big step.  Too big.

There is nothing "open source" about any of Xilinx's software.

Right now, the discussion has been about an ASCII representation of 
connections that Xilinx developed as a convenience (replaced an earlier 
format).

XDL's use is only restricted by the agreements on the software that 
created it, and uses it (that we supply).  It also specifically allows 
uses (for which it is intended) like someone writes a parser to generate 
a nice report from the XDL file (noted in the comments on XDL in our 
documentation).

If you chose XDL to use as your intermediate language for your CS111 
FPGA, I think it would be a curious choice, but one we would not have 
much claim to, as if you had your own tools to create it, and use it, 
test it; and you never used our tools, IP, or patents, why would we care?

Austin

Austin Lesea wrote:

> Going from "using XDL" for some unspecified reason, to "open source" is > a big step. Too big.
For you perhaps, but open source code under a freedom-preserving license is perhaps the most likely variety of tool that volunteers might develop. The other alternative, closed software developed by those who hope to sell seats, and will license what they need from you, seems more in your comfort zone to date.
> There is nothing "open source" about any of Xilinx's software.
That's not what we're talking about, though I seem to recall some cygwin-ish files floating around in the install - but let's call that off topic.
> Right now, the discussion has been about an ASCII representation of > connections that Xilinx developed as a convenience (replaced an earlier > format).
Which if half of your comments are to believed is too encumbered to be of any use outside a private or closed source tool - or if the other half are to be believed, is available and harmless.
> XDL's use is only restricted by the agreements on the software that > created it, and uses it (that we supply). It also specifically allows > uses (for which it is intended) like someone writes a parser to generate > a nice report from the XDL file (noted in the comments on XDL in our > documentation).
Yes, but someone else can take that parser and use it as a starting point for something like reverse engineering. Unless the license terms _of the parser_ prevent that. But if they do, then parser (despite not being Xilinx software) is not a free and open tool.
> If you chose XDL to use as your intermediate language for your CS111 > FPGA, I think it would be a curious choice, but one we would not have > much claim to, as if you had your own tools to create it, and use it, > test it; and you never used our tools, IP, or patents, why would we care?
If it really talks the same XDL you do, then someone can use it as a bridge between a new language and your silicon (which you would like) or between your tools and someone else's silicon. The later would allegedly be a violation of your license terms, but not of the license terms of the proposed XDL tool - unless the XDL tool is not a free and open piece of software. If the proposed XDL tool is not a free and open piece of software, then some of the participants in this discussion aren't interested in writing it. We could have a whole other discussion about why, but the obvious reason is that it's too big a project to be worthwhile without input from many sources and the justification of many users.
Austin Lesea wrote:
> Going from "using XDL" for some unspecified reason, to "open source" is > a big step. Too big. > > There is nothing "open source" about any of Xilinx's software.
This is the companies right, no matter how much we object. There has to be a business decision that open source is in the companies best interests ... which is where talking about this and lobbying might be of use.
> Right now, the discussion has been about an ASCII representation of > connections that Xilinx developed as a convenience (replaced an earlier > format).
Until a document shows up on the public web site, with equiv data to the XNF specifications ... file format and object definitions, it's a closed proprietary standard, that requires violating the ISE EULA NDA to make public any use of it.
> XDL's use is only restricted by the agreements on the software that > created it, and uses it (that we supply). It also specifically allows > uses (for which it is intended) like someone writes a parser to generate > a nice report from the XDL file (noted in the comments on XDL in our > documentation).
*IF* there were a public document like the XNF spec, this statement would be true. Today it is false, as no one has been able to find such a public document yet.
> If you chose XDL to use as your intermediate language for your CS111 > FPGA, I think it would be a curious choice, but one we would not have > much claim to, as if you had your own tools to create it, and use it, > test it; and you never used our tools, IP, or patents, why would we care?
With a public XDL format and library objects document, this is exactly what we hope for.
John Williams wrote:

> What you've now created is a hybrid license, incompatible with the pure > GPL (ok, so you can't host it on sourceforge, no big deal). If someone > uses the tool to target an Altera part, then they are breaking the > conditions of their license and it is therefore immediately revoked. > > You would add a viral clause which makes sure that further refinements > of the tool are also covered by the same dual condition (GPL + Xilinx only).
But what if someone figures out XDL by reverse engineering your tool, rather than Xilinx's software? How do you prohibit someone from reverse engineering (ie, reading and taking notes) open code?
On 2006-01-30, Austin Lesea <austin@xilinx.com> wrote:
> > There is nothing "open source" about any of Xilinx's software.
I think everyone here understands that. While I consider it regrettable, I choose not to agitate for a change in that situation.
> XDL's use is only restricted by the agreements on the software that > created it, and uses it (that we supply). It also specifically allows > uses (for which it is intended) like someone writes a parser to generate > a nice report from the XDL file (noted in the comments on XDL in our > documentation).
That's a nice statement. Please back it up by posting the document titled "Xilinx Design Language" on the 'net, accessible to people who have not clicked on the ISE EULA. The copy I see in an old ISE-6.2 install is Version 1.6, updated 07/07/2000. Nobody (I hope) wants to pirate that copyrighted work. But our rights to use the information contained in that document would be much clearer -- and legally match both the assertions made here in c.a.f and the implications in the XDL document itself -- if that document got untangled from the ISE EULA.
> If you chose XDL to use as your intermediate language for your CS111 > FPGA, I think it would be a curious choice, but one we would not have > much claim to, as if you had your own tools to create it, and use it, > test it; and you never used our tools, IP, or patents, why would we care?
That's not for me to decide. The point of being squeaky-clean legal is that an XDL-using project would not get shut down even _if_ Xilinx decided to care. - Larry