So I've been following the discussion and keeping my mouth shut since my initial comments. There have been a number of good suggestions and discussions and some not so good ones as well. First I'd like to lay out the project as I see it; there are three parts.

First, we have the design of the chip. This includes all the documentation, the software models, the specs, interfaces, etc. This is all being done by the community as a whole and is being placed under various open source licenses as appropriate. Everybody on the whole seems to be happy with this. This IS the chip. It describes what it is, how it does things, and how to interact. It provides a working model that in time, I hope will even support those who are in the driver writing business. This is the end result of the first community developed 3d graphics card.

For a number of reasons, most financial, the community cannot easily turn the design and models into silicon. To facilitate that, a company willing to implement and fab the design is needed as a partner. Along comes Timothy and friends. They are willing to partner with the project to do what a loosely knit worldwide group of designers can't: implement the design.

This brings us to the second part: the FPGA board. It has two purposes. Firstly it provides a funding source for Timothy's company. In that role, it is a stand alone product with no relation to the community project. It could be used by anyone who wants, to to do whatever they feel like. Several examples have already been given in various threads. A byproduct of the creation of this board is an open source PCI/AGP/PCI Express interface available to the community. The second role of this board is to provide a test platform for the community graphics design. As part of the partnership with the community, Timothy's company is contributing back to the project any enhancements or changes made during the implementation of the design. These changes get put back in the docs and models an released to the community. So far so good, I think everybody is still pretty much in agreement up to this point.

This brings us to the final piece. The RTL implementation of the design. As someone pointed out, there are actually probably two, one for the ASIC and one for the FPGA. For the purpose of this discussion, the can be treated as identical. As part of the community partnership, Timothy's company is providing compiled binary images of the design RTL to load on the FPGA board under a "free as in beer" license. This benefits both groups. For Timothy's company it provides a test group for their implementation of the community design. It also help them sell FPGA boards, thus helping fund the company. For the community it provides a real world implementation of the design which can be installed in a system and used. It also provides a test bed for drivers for the design. This allows both parties to find any problems or incorrect assumptions in the design and model and make corrections. The community gets a better chip design and Timothy's company gets a better chip implementation. Once the design and implementation are mature enough, the ASIC RTL is generated and sent off to be fabbed. Once turned into a physical ASIC and then video card it is placed on the market for sale. Timothy's company gets a return on their investment and hopefully enough capital to move on to the next project. The community gets access to a 3d video card with a completely open design and specs.

Sorry for the long rehash of everything, but I wanted everyone to know the basis for the rest of my comments.

The big discussion seems to surround the third piece, specifically the RTL code. One thing I haven't seen mentioned much is that anyone who comes across the specs and design for this chip on the web is completely within their rights to make a 100% compatible chip and not involve the community at all. What we are releasing under open source license is enough for anyone who knows Verilog, VHDL, etc to create an implementation of that design. You could argue that it would be derivative work and hence must be released under the same open source license, but that would be for the courts to decide and I don't subscribe to that viewpoint with respect to docs and documentation. I believe that it would be completely legal to simply point back to our specs, docs, and model as the source. Now, back to Timothy and co. They have volunteered to do the one thing the community cannot. Turn the design into physical silicon. To do so takes time, money, and effort. While not impossible to do for the community, I believe it would be impractical. In return for this, Timothy and his partners need to recoup their investments as well as those of any other investors in the company. The only piece of the project that can provide that cash flow is the RTL and it's licensing to other companies. It does not belong to the community, as much as some wish it did. It belongs to the company or people that created it. In our case, the company creating it has voiced a desire to eventually contribute it back to the community. As I said above, they do not legally, IMHO, have to do this. It is because the founders of the company believe in open source and the community project that they have pledged to do so.

Working in cooperation with the community is a great competitive advantage for Timothy's company. Much of the testing, testing, debugging, and support work involved is being done by the community. For a company not working with the community, all this adds expense making their chip cost more. If their chip costs more, they have to make less profit or sell it at a higher price, both of which are bad from a business point of view. Before the community starts to feel like they are being taken advantage of, the community is getting something too. They are getting an implementation of a design that is completely documented and understand and otherwise may never have seen the light of day. They are also getting the improvements to that design that come about as part of the process.

Now for the important part. How do you protect Timothy's company's investment while still providing, in a reasonable time frame the RTL source back to the community as the company has pledged. Here is my suggestion.

As others have said, the RTL goes in escrow with instructions to be released to the community under one of a number of conditions. If any of these conditions was met, the RTL source would immediately be released to the community under an open source license.

1. The company dissolves. This would protect the community investment in the project.
2. The company is purchased and the resulting entity no longer wishes to participate in an open source hardware development effort. This would serve as a "poison pill" should the company get purchased by an "unfriendly" entity.
3. The company goes public and the shareholders vote to end participation in open source hardware development. Same effect and reasons as #2.
4. The RTL model is providing less than 20% of the companies gross revenue and gross revenue has fallen to less than 20% of it maximum. This protects the community investment from the company turning into a "evil greedy" corporation while still ensuring that the company is not forced to release the RTL at a point where doing so would jeopardize the viability of the company or because it has a number (more than five) equally successful designs on the market.
5. The controlling interests in the company vote to release the RTL source. Sooner is always better right?
6. The company refuses to contribute any enhancements or changes to the design back to the community or in any other way withdraws from the agreement. This protects the slippery slope back to a closed, proprietary design.


I would propose the above for the Open Graphics project as well as any future open hardware designs.

Some may have noted that I specifically treated Timothy's company as a separate late comer to the design. In reality they are. Timothy being involved both in the community effort as well as the commercial piece may blur a few lines here and there, but the role of his company could be filled by any company willing to partner with the community. I have also been very careful to draw the line between the design and implementation are distinct entities with differing needs surrounding them.

Patrick M


_______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to