OpenCores
First Prev 2/2 no use no use
License
by Unknown on Jan 9, 2005
Not available!
Le dimanche 9 Janvier 2005 12:28, John Sheahan a écrit :
Giacomo Bernardi wrote:
> I can't understand very well why the hardware would require a different
> license from software.


its worth remembering the GPL is based in copyright law, which does not
actually apply to a hardware product. I see little point in choosing a


copyright law apply to hdl source code. There is some more special protection
for "silicon improvement" but i never find somebody to explain about this
special protection.

license that is unlikely to stand up to serious challenge (for a
physical product that is).
Thats only going to dissuade those likely to assist, (and the converse)

> The GPL license, and the LGPL too, defends not only the rights of the
> author, but especially the rights of the author as a part of a
> community.


surely the author gets to choose. Hardware is different to software,
I see these as very software oriented arguments...
While the GPL suits some things fine, its not appropriate for many things.

> An example is the spice program of Berkeley. It was first developed at
> Berkeley and realesed with BSD license.
I never actually found an explicit license for the original spices. john _______________________________________________ http://www.opencores.org/mailman/listinfo/cores




License
by Unknown on Jan 10, 2005
Not available!
Thanks Jecel, the question is now much more clear to me.

License
by Unknown on Jan 11, 2005
Not available!
i learn a lot but how could explain that a patent could be a solution ?

Patent cost money !

nicO

Le dimanche 9 Janvier 2005 17:30, Jecel Assumpcao Jr a écrit :
Giacomo Bernardi wrote on Sun, 9 Jan 2005 12:02:50 +0000

> I can't understand very well why the hardware would require a different
> license from software.
Most people here don't seem to understand this, which is why this discussion isn't going anywhere until we step back and agree on the basic terms and issues. Note that I am not a lawyer and what follows is all from memory, so I will eagerly await corrections. [Copyright] Originally only for books, over the years the set of laws that govern copyrights has been extended as required by the evolving reality. An interesting example for us was when it was decided that player piano rolls were copyrightable even though they were meant to be read by a machine instead of a person. Though it is easy to forget today, software wasn't automatically assumed to be protected by copyright. In Brazil, for an example of a Berne convention country (an international treaty that tried to keep local laws in sync), a special law had to be passed in late 1987 to extend copyright to software. Before that what we call "piracy" was perfectly legal. I don't remember when the law was extended in the US, but it was probably in the 1960s or 70s. The US also started to allow software to be patented around 1981 or so, but that is another story. Another interesting extension from the early 1980s which is interesting for us was then the US and Japan agreed to allow integrated circuit mask artwork to be copyrighted. We will get back to this later. [Public domain, Licenses] It is very, very important for us to understand what exactly GPL or BSD style licenses do for us and how they contrast with the End User License Agreements (EULAs) that the commercial software producers normally use. First copyright laws again: what they say is that only the copyright holder (normally the original creator or someone who hired him) can create copies of the material. I can't and you can't. It is a crime for us to do so. But the law also says that the copyright holder can extend that right to any person he chooses under any conditions he wants. The best way to do that is to make use a a separate set of laws: the contract laws. He can have a contract with three of his friends and now they can also make copies of the material and it isn't a crime for them to do so. Now this situation doesn't last (or shouldn't, at least) forever. After some time the material is declared to belong to the "public domain" and anybody at all can copy it. What if you want to allow everybody to copy your material before that time is up? You can explictly put that material in the public domain any time you want. The problem with this is that somebody can get a copy of the material and then decide to sue you for some damage they feel this might have caused them. If the material had naturally become part of the public domain you would be long dead by this time and wouldn't have to worry about this, but by doing it early it could be a problem. So an alternative is to create a contract with everybody. Of course you don't want to go into every place in the world and sign a paper with every person, but it is possible to draft the contract so that a judge will be satisfied that both parties agreed to it even if they have never actually met. Let's look at the GPL license, for example (though in this particular discussion the BSD is exactly the same). Some random person who has a program in his computer can't share it with me - it is illegal for him to copy it. But there is some text on his machine which is a contract with the original author. We can assume that the author agreed to it and if my friend also agrees to it then he can give me a copy legally. How does he prove that he agreed with it? The very act of distributing a copy is defined in the contract itself as proof of acceptance. Note that I, the receiver of the copy, don't have to agree with the GPL. It also doesn't say anything about what I can do with the program. Only if I want to distribute the program myself, which the copyright law forbids, do I have to look at the GPL and decide to accept it. It doesn't take anything away from me (a common misconception) but instead adds stuff that I normally wouldn't have. One of the things me and my friend have agreed to is that the original author is not responsible for any damages we might have as a result of using the program. Note that we can still sue the author (nothing can prevent that, which is another common misconception) but now it is less likely we will win and it would probably be easier and less costly for the author. So there is *some* protection in that. Of course, *before* I agreed with the GPL to distribute the program I already was using it and had not yet agreed to not hold the author responsible for damages. In practice this is not likely to make any difference. The EULAs are also contracts. They are also known as "shrink wrap" agreements since they usually have a term that says that the proof that you agreed to the contract was the removal of the shrink wrap around the box which the software came in. Unlike the previous example, it is the person receiving the program that is bound to the contract, not the person copying it (which is not the store in any case but the original factory) so the copyright laws don't apply at all. This contract does not grant you any rights that the law doesn't already give you, but in fact takes some away. There is some debate about whether it can do that, but we will just assume it can. So normally I have the right to measure how fast the program is while running it and then write a magazine article about what I found. The contract might forbid me to do that. It might not allow me to use the program for some purpose or other or it might require that I only use the program while upside down! There reason why I have gone into all this in such detail is because some people seem to want things from the license that an EULA will give them while writing it in a Open Source License style. That won't work. [different forms] What is this "material" I have been talking about so far? Whatever the original author typed in is obviously one example. But if someone modifies it in some way then we will have a "derived work" related to the material and subject to all kinds of rules we won't go into here. A more interesting modification for us is when some mechanical translation process is applied. Like if we use the Unix program "sed" to replace all variables named "jxk4" with "khg", for example. To a judge that would look like a slightly different form of the *same* work. Any teacher would say the same thing as well. A little less obvious is the case when the original was a C program and we translated it automatically to Pascal or to x86 machine language, but I think we can all agree that it is still the same program and so any copyright restrictions should continue to apply. Now imagine that the "material" is a picture I have drawn. This picture happens to be the schematic for some circuit I invented but that doesn't really matter in terms of copyright. Nobody in the world can make copies of that drawing except for me. If we translate it into a different form (a text with the netlist, for example) that restriction should still apply. The interesting thing is what happens if I give this drawing (in whatever form) to five people. Copyright law keeps them from giving it to other people in turn, but imagine one person builds the circuit described by the drawing and then sells it to someone else. Is that circuit just another form of the drawing? THIS IS IMPORTANT! Some of us are tempted to answer yes, but my experience tells me that many people (including any judges we are likely to meet) will answer no. Richard Stallman thinks the answer is no, which is the reason he has said the stuff he said about free hardware on this very list. So controlling how people copy the material we produce will not be enough for some of us. Commercial use of our cores is not copying but *using* them. I will agree that the case of bitstream files for FPGAs is fuzzy, but for ASICs I hope we can all agree on this. The reason why the IC mask artwork copyright extension worked was that you can't make the chip without the mask and you can't get a copy of the mask unless the author gives it to you. Taking a picture of the chip to generate a mask is still illegal. But if I have some board and then I draw a schematic from it after probing it with a multimeter, I will not have a copy of the schematic that was used to create it. It will be a different drawing. Even if 100% equivalent, it was not mechanically dirived from the original. The bottom line: the difference between hardware and software is that for software we can control just copying and let people use it however they want if we don't want to be as nasty as commercial software. But for hardware redistribution is using our material and not copying it, so if we want more control then we need to be more EULA style. Note that even an EULA contract with restrictions might not have as much "teeth" as an Open Source license since it is easier to get a jury to agree with you when granting new things than when trying to forbid. So one solution is to have one or more patents associated with your design. Now patent law will be forbidding the person who got your material from building stuff with it and you can write a contract that will allows this under your terms. I hope that helps, -- Jecel _______________________________________________ http://www.opencores.org/mailman/listinfo/cores




License
by Unknown on Jan 11, 2005
Not available!
Nicolas Boulay wrote on Tue, 11 Jan 2005 00:33:32 +0100
i learn a lot but how could explain that a patent could be a solution ?

Patent cost money !
You are absolutely right. Even worse: a patent is only valid in the particular country that granted it. Even taking advantage of the PCT (http://www.wipo.int/pct/en/) to reduce costs for filing in foreign countries you can't hope to spend less than $50K just to cover your key markets. In contrast copyrights are free and valid internationally. Another problem with patents is that if you do get one, IBM and others will have many thousands. It is silly to get into a fight with them (like Patriot Scientific is doing over the ShBoom Forth chip patent). But patents allow you to control people who try to build and sell hardware using your designs and copyright doesn't. So what can be done? We have two cases: - people who want to allow unrestricted commercial use of their cores In that case there is no attempt to control the use, so a variation of the BSD license is good enough. It uses copyright to make sure everyone who gets a copy of the core agrees not to sue the author (not quite - actually just those who distribute copies, but close enough in practice). - people who want to force companies using their cores to contribute back any improvements they make The GPL won't do this, as I explained in the previous email. You have to force each person receiving the core into a contract with you, and not just those who are distributing it. One solution is to have a closed group so that you have to agree to some terms before joining the group and only then can you get a copy of the core. Copyright law will keep you from distributing it to anyone not belonging to the group. This is what Sun did with the PicoJava and MicroSparc cores, for example. I have a copy but I can't give it to you. Sun came under harsh criticism for calling this "open hardware", but in practice you can easily join the group and get a copy from Sun instead of me. The problem is that you have to trust them not to stop doing this in the future, while truly free solutions don't allow the author to change his mind. On the Open Cores website I noticed that some cores are easily downloaded anonymously while others require you to log in before you can get them. This could be easily expanded to something similar to what Sun did (not that I am suggesting it - just pointing out a possibility). So the solution to using copyright to enforce some terms on the *use* of a core is to forbid people who have a copy from giving one to anybody who has not agreed to those terms. Copyright doesn't even allow them to distribute to those who have agreed, but the contract can allow that. If someone is using the core in conditions not permitted by the contract then they are either in violation of that contract themselves and can be sued or they got a copy without agreeing to the contract and the person who gave it to them is in violation and can be sued. Personally, I prefer the BSD route. Previously I had seriously considered the use of two patents (just one would be too risky since it can be judged to be invalid, while more than two would be far too expensive) to force people to contribute back any improvements (or to negotiate an alternative license with me and pay royalties). Now I am thinking of a scheme were the cores are kept secret until the next version is ready, then the previous version would be released under a BSD-like license. I am not happy with this (which is similar to how GhostScript is licensed) but it seems to strike a balance between my need to make some money and my wish to make it available to others without restrictions. No single solution will make everybody happy here. But having eight different solutions (licenses) is sure to make us all unhappy. So we should review the basics and then create a few (probably two; at most three) standard alternatives with reasonably well understood consequences. -- Jecel
License
by Unknown on Jan 11, 2005
Not available!
Le mardi 11 Janvier 2005 13:51, Jecel Assumpcao Jr a écrit :
Nicolas Boulay wrote on Tue, 11 Jan 2005 00:33:32 +0100

> i learn a lot but how could explain that a patent could be a solution ?
>
> Patent cost money !
You are absolutely right. Even worse: a patent is only valid in the particular country that granted it. Even taking advantage of the PCT (http://www.wipo.int/pct/en/) to reduce costs for filing in foreign countries you can't hope to spend less than $50K just to cover your key markets. In contrast copyrights are free and valid internationally. Another problem with patents is that if you do get one, IBM and others will have many thousands. It is silly to get into a fight with them (like Patriot Scientific is doing over the ShBoom Forth chip patent). But patents allow you to control people who try to build and sell hardware using your designs and copyright doesn't. So what can be done? We have two cases: - people who want to allow unrestricted commercial use of their cores In that case there is no attempt to control the use, so a variation of the BSD license is good enough. It uses copyright to make sure everyone who gets a copy of the core agrees not to sue the author (not quite - actually just those who distribute copies, but close enough in practice). - people who want to force companies using their cores to contribute back any improvements they make The GPL won't do this, as I explained in the previous email. You have to force each person receiving the core into a contract with you, and not just those who are distributing it.


Is this possible in the contract with the chip builder to force them to
release the code with the chip ?

You say that some people will not interpret chip as a result of the
copyrighted material. So there is no link between the copyright holder and
client of the chip. But is this possible to add an obligation in the licence
to give access to the source code with the chip ? Is it possible de force the
cip maker to provide such access ?

Does i miss something ?

One solution is to have a closed group so that you have to agree to some terms before joining the group and only then can you get a copy of the core. Copyright law will keep you from distributing it to anyone not belonging to the group. This is what Sun did with the PicoJava and MicroSparc cores, for example. I have a copy but I can't give it to you. Sun came under harsh criticism for calling this "open hardware", but in practice you can easily join the group and get a copy from Sun instead of me. The problem is that you have to trust them not to stop doing this in the future, while truly free solutions don't allow the author to change his mind. On the Open Cores website I noticed that some cores are easily downloaded anonymously while others require you to log in before you can get them. This could be easily expanded to something similar to what Sun did (not that I am suggesting it - just pointing out a possibility). So the solution to using copyright to enforce some terms on the *use* of a core is to forbid people who have a copy from giving one to anybody who has not agreed to those terms. Copyright doesn't even allow them to distribute to those who have agreed, but the contract can allow that. If someone is using the core in conditions not permitted by the contract then they are either in violation of that contract themselves and can be sued or they got a copy without agreeing to the contract and the person who gave it to them is in violation and can be sued. Personally, I prefer the BSD route. Previously I had seriously considered the use of two patents (just one would be too risky since it can be judged to be invalid, while more than two would be far too expensive) to force people to contribute back any improvements (or to negotiate an alternative license with me and pay royalties). Now I am thinking of a scheme were the cores are kept secret until the next version is ready, then the previous version would be released under a BSD-like license. I am not happy with this (which is similar to how GhostScript is licensed) but it seems to strike a balance between my need to make some money and my wish to make it available to others without restrictions. No single solution will make everybody happy here. But having eight different solutions (licenses) is sure to make us all unhappy. So we should review the basics and then create a few (probably two; at most three) standard alternatives with reasonably well understood consequences. -- Jecel _______________________________________________ http://www.opencores.org/mailman/listinfo/cores




License
by Unknown on Jan 17, 2005
Not available!
RT wrote on Mon, 17 Jan 2005 09:05:57 +0000
You can write any contract you want, but it's pointless if no-one's
going to sign it.


Exactly. Though in theory you can write any contract you want within the
limits of your local law. For example: in your work contract you might
promise not to work in the same industry for five years after leaving
your job, but in some states in the US the law doesn't allow you to sign
away the right to work anywhere you want and so those words on the
contract don't have any effect.

You can add a clause saying that anyone using your core must hum Italy's
national anthem when compiling it and since this isn't against any law
people who don't do this will be violating the contract. But....

Reality check: the 'average' ASIC costs about $6.5M. The OC cores are
not exactly, to be brutally frank, Golden IP, and it would be a very
brave person who put an OC core into their own ASIC (at least not
without a complete re-write).


Double reality check: anyone who can pay $6.5M can probably also pay for
more lawyers than us. Do we really want to face them in court? Which is
why I said "in theory" in my first paragraph. We *should* be able to win
when people make us sign a contract which is against the law and we
*should* be able to win when people don't follow a contract term which
isn't, but in practice I wouldn't count on it.

What you need right now, IMHO, is a licence which puts no obligations at
all on the user. This increases the chances that your cores will be
used. If Open Cores eventually become popular, then you may be in a
position to make your licences more restrictive.


If Open Cores become popular, more people will be willing to put up with
restrictions to use them. But I would say that it is when you have the
will and resources to go after any "cheaters" that you will be in a
position to put in restrictions. Othewise they will be just a joke.

-- Jecel


License
by RT on Jan 17, 2005
RT
Posts: 10
Joined: Sep 2, 2009
Last seen: Sep 27, 2011
Nicolas Boulay wrote:
Le mardi 11 Janvier 2005 13:51, Jecel Assumpcao Jr a écrit :


- people who want to force companies using their cores to contribute
back any improvements they make

The GPL won't do this, as I explained in the previous email. You have to
force each person receiving the core into a contract with you, and not
just those who are distributing it.



Is this possible in the contract with the chip builder to force them to
release the code with the chip ?

You say that some people will not interpret chip as a result of the
copyrighted material. So there is no link between the copyright holder and
client of the chip. But is this possible to add an obligation in the licence
to give access to the source code with the chip ? Is it possible de force the
cip maker to provide such access ?


You can write any contract you want, but it's pointless if no-one's
going to sign it.

Reality check: the 'average' ASIC costs about $6.5M. The OC cores are
not exactly, to be brutally frank, Golden IP, and it would be a very
brave person who put an OC core into their own ASIC (at least not
without a complete re-write).

What you need right now, IMHO, is a licence which puts no obligations at
all on the user. This increases the chances that your cores will be
used. If Open Cores eventually become popular, then you may be in a
position to make your licences more restrictive.

Richard T




License
by Unknown on Jan 17, 2005
Not available!
RT wrote:


Reality check: the 'average' ASIC costs about $6.5M. The OC cores are
not exactly, to be brutally frank, Golden IP, and it would be a very
brave person who put an OC core into their own ASIC (at least not
without a complete re-write).


maybe not rewrite - but at least some serious verification. Then
evaluate waht (if anything) is required.

Of course - anyone using commercial cores needs to do exactly the same
thing.

john



First Prev 2/2 no use no use
© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.