|
Message
From: Jecel Assumpcao Jr<jecel@m...>
Date: Tue Jan 11 13:51:35 CET 2005
Subject: [oc] License
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
|
 |