It was recently let slip that the new EULA for Delphi XE3 will prohibit Client Server development with the Professional edition without the additional purchase of a Client Server license pack. This is not to say the Professional version will lack the features, but the license will specifically prohibit the developer from using the compiler for a specific class of development, even with 3rd party or home grown solutions.
So my question is if there is a precedent of a compiler or similar creative tool prohibiting the class of work you can use it for. Specifically a commercially licensed “professional” tool like Delphi XE3. Also, would such a restriction be legally enforceable?
I know there have been educational edition or starter edition tools in the past that have restricted their use for commercial purposes, but those were not sold as “professional” tools. Also I know that a lot of computing software and equipment will have a disclaimer that it is not for use in “life support equipment” or “nuclear power” but that is more of avoiding liability than prohibiting activity.
Seems like I recall Microsoft putting a restriction in FrontPage that you couldn’t use it to create a web site that reflected poorly on Microsoft, but they pulled that restriction before it could be tested legally.
Update: The EULA was dropped before the product shipped because of public resistance.
9
It’s not entirely unprecedented.
SQL Server is limited by users/server/database size, etc., effectively limiting its use as a client’server platform, and it’s essentially a programming environment (albeit one with a rich data infrastructure). Many software libraries routinely limit the way programmers can use them, in a variety of ways.
In practice, anyone can put anything they like in a license agreement. Your remedy is to not use it if you don’t like the terms, which I would imagine potential Embarcadero customers will do in droves.
6
Java has long had a restriction against use in nuclear facilities, although the JDK6 license agreement softened the terms slightly (I recall the older variants being much more explicit):
You acknowledge that Licensed Software is not designed or
intended for use in the design, construction, operation or maintenance
of any nuclear facility. Oracle Corporation disclaims any express or
implied warranty of fitness for such uses.
This makes sense: you wouldn’t want to let a GC pause get in the way of SCRAMing the reactor. Which is not to say that there isn’t someone, somewhere, who has accepted a contract for nuclear control systems and decided that it was cheaper/easier to hire Java programmers.
3