On Tue, Nov 02, 2004 at 09:53:21PM +0100, Wesley W. Terpstra wrote: > What I am concerned about is the following scenario: > > Mr. John Wontshare writes a streaming multicast client. > To deal with packet loss, he uses my error-correcting library. > Without my library, Mr. Wontshare's client can't work at all. > Mr. Wontshare's client represents only a small investment of effort and > without having had access to my library, he could have never written it. > He then distributes his client along with my library to end-users. > > These users don't get Mr. Wontshare's code, even though he uses my library. > Even worse, he refuses to port his client to MacOS X for business reasons. > (intentionally giving an unfair competitive advantage to another platform)
Given that Mr. Wontshare's client represents only a small investment of effort, "refuses to port" doesn't sound like much of a problem. Regardless of whether you make your code available under a simple API, there's other possibilities: Mr. Wontshare (or someone else) puts your library behind a simply api and then builds some application which uses that api, and yet refuses to release his code. Someone works with the ecc concepts behind your code and reimplements them in some proprietary code base. Unfortunately, ideas are hard to protect in the first place, and the laws aimed at protecting ideas were originally designed based on the assumption that "not sharing ideas" is "protecting the ideas". -- Raul