The Industry choice

Alex Martelli aleaxit at yahoo.com
Thu Jan 6 12:05:10 EST 2005


Roel Schroeven <rschroev_nospam_ml at fastmail.fm> wrote:
   ...
> >>Can you point to closed-source licenses that allow using the code *at
> >>all*?
   ...
> > Is this what you mean by "allow using the code *at all*"?  I think it's
> > a pretty common arrangement when the code being sold under closed-source
> > terms is a set of libraries, or a development system part of whose value
> > is a set of accompanying libraries.
> 
> OK, I've been bitten by my exageration. There are indeed special cases
> such as some libraries.
> 
> I was thinking more of end-user packages: if you somehow could lay your
> hands on the source code of Visual Studio itself, you're still not 
> allowed to do anything with it.

Yes, apart from libraries and similar cases (frameworks etc), it's no
doubt rare for closed-source "end-user packages" to be sold with
licenses that include source and allow you to "do anything with it".

However, allowing customization (at least for internal use within the
customer organization), while rare, is far from unheard of.  I used to
work for a software house which sold rich and complex packages of
software meant for 3D mechanical design.  The packages came with tens of
thousands of lines of (closed-source) code, in a proprietary scripting
language implemented by the package itself, which users (typically
mechanical engineers) were _expected_ to tweak to customize the overall
product for their specific purposes -- such modified parts of the
"scripting source" of the overall product were routinely shared among
different customers, and occasionally sold from one to another.

The choice of which parts of code in the scripting language were made
thus customizable and sharable was quite deliberate: the application
contained much more code in that scripting language, but most of it was
only distributed in compiled form (or even with the compiled form
already turned into data in some library or executable) -- the parts
that were sold as sources were picked to be those which would be most
useful for customers to customize and share, yet not damage the business
model of the software house.  (and yes, it WAS closed source software,
anyway -- customers were theoretically not permitted to give our source
or derived works thereof to others who _weren't_ customers, I think;
anyway the engine needed to run the scripts was not redistributable, so
that provisions, if there, was of modest value).

I wouldn't be surprised if such a mixed model was reasonably common
among "end-user packages" which include a substantial proprietary
scripting component, particularly if the end-users are expected to be
technically skilled (mechanical engineers aren't programmers, but they
will probably have some vague clue about it; a consumer product might be
different).  Just a guess, but, wouldn't, say, Mathematica or some
similar closed-source product benefit from this kind of arrangement --
including, as part of the product being sold, some rich amount of
scripting code, freely customizable and sharable among customers
(perhaps with the license prohibiting giving it away to non-customers)?

I believe some (closed-source) games, including ones which use Python as
their scripting language, may also do something of the kind -- include
Python sources for "scenarios" with full license to tweak and
redistribute (making new scenarios which are derived works of ones sold
by the games' authors).  Here the language is not proprietary but no
doubt the scripts use large amounts of calls to proprietary modules, so
again there is no damage to the game author's business model anyway.

Hmmm, come to think of it, doesn't Apple include very large amount of
working Applescript code with many of its closed-source applications?


So, although your general point is no doubt sound, almost by definition
of closed source, you may perhaps still need to tweak it further, beyond
libraries and frameworks, to also exclude that closed source with is a
"scripting", "configuration", or otherwise "ancillary" part of the
application.


One last reflection -- I believe there are or used to be some programs
written by people no doubt of very good will, distributed with all
sources and often with no profit motive at all, which are NOT open
source because they include in the license some restrictive clause, such
as "no military use", "no use by organizations which perform testing of
cosmetics on animals", or something of that kind.  These would be
examples of closed-source software which DO allow ALMOST any kind of use
-- any EXCEPT the specific one the authors dislike so intensely.

While most people may not think of such programs as "closed source",
they most definitely ARE: the definition of open source is very strict
about this aspect.


Alex



More information about the Python-list mailing list