Python in Process Control?
agriff at tin.it
Tue Oct 5 08:10:17 CEST 2004
On Sun, 03 Oct 2004 20:59:07 -0400, Peter L Hansen <peter at engcorp.com>
>Having companies always rewrite their own copy of something
>from scratch is a stupid, stupid way to do business, when
>their business is not supposed to be writing drivers for
>obscure pieces of hardware.
Actually I've observed that the "closed" behaviour is
not only from companies; but even in the research field.
For example on 3D graphics you can find a plethora of
documents on the internet down to the level of the
smallest detail and paper *sold* from universities
are the exception.
I saw this being the opposite (a lot of papers are sold,
a few are free and they don't get to the details) even
about problems that have been probably solved a jillion
times like "good" path computation under dynamic constraints
or motor control.
In my case I preferred solving the problem myself for
the context I faced instead of buying docs about the
solution (after all I don't expect the quality of them
to be terribly high... I wonder for example if researchers
in this area buy each other papers to know what others are
investigating in and what results they got).
In this field seems to me that really people try to
get above by standing on each other feet instead than
on each other shoulders; but this doesn't look to me
like just a software problem.
May be there are reasons for this being the status quo...
for example research in this area is terribly more
expensive than in the pure software field where you
can get quite far just with a $500 PC and some pizza.
>I'd say the "best thing" to do would be to start by
>collecting the various licenses involved and actually
>looking them over. I haven't done that with PyGame,
>but unless it includes GPL stuff, there's a decent
>chance that there's no real impediment to using it
>in a closed source product, except perhaps your guilt
>at attempting to profit from the hard work of many
>others without even a token attempt to contribute
>something back to the community. ;-)
A problem is the LGPL licensing that requires you to
allow your users to re-link the program with a newer
version of the library. This is IMO both basically a
nonsense in this field (I can't think to a customer
even *wanting* to change the library version in a NC
machine he bought, often the investments are rather
high and the approach I see is "if it works just don't
dare to think about touching it") and annoying.
Also I don't understand what is required if a new
version of the library for example changes part of
the interface ... does this imply you're forced to
leave the source code so that it can be adapted to the
new library interface (even if may be not the rights
to use it past the re-linking requirement) ?
For pygame I've rewritten (mostly as an exercise in
writing python extensions) the part that I really
need that is just a little part of the screen and
surface handling as a C module ... after all I'm
not going to need sounds or other fancy things
present in pygame like CD, joystick, or movies.
I don't know if this trying to be opaque to competitors
is really the root of all evil... but even if this is
the case I'm not in the position to decide about those
issues. My impression is that being forced to be
transparent if using python would simply mean wiping
python out from the option list.
More information about the Python-list