Avoiding LispWorks Personal annoyances

1082 views
Skip to first unread message

gnubeard

unread,
Sep 25, 2009, 7:48:02 AM9/25/09
to
For those annoyed with the 5-hour timeout in LispWorks Personal
Edition:

You can disable the time-out by using the library interposition
mechanism on your platform (LD_PRELOAD on linux, DYLD_INSERT_LIBRARIES
on Mac .. not sure about a mechanism on Windows).

Write your own implementation of gettimeofday() that:

Lets time proceed normally for the first N seconds (10 < N < 5*60*60).
This allows the startup
dialog boxes to time-out properly.

After N seconds have passed, the bogus gettimeofday() function should
freeze time to a
constant value.

This will prevent LispWorks from prompting you about the impending
timeout, and will allow
Lisp code to continue running past the 5-hour mark. Code running in
Lisp will, however, always get the bogus time - so code dependent on
proper clock values won't work right.
Depending on your application, you may be able to get around this by
avoiding LispWork's internal time functions and getting the time
through some other fashion.

Alternatively, you can constrain the time to some interval (with some
modulo arithmetic, for example), but when the clock first rolls back
LispWorks will prompt. Click continue, and you're all set. It won't
time out, and it doesn't appear to prompt again.

For those offended by the mildly unethical nature of this post, I
apologize. For those whom this helps in some small way, you're
welcome.

For those that can't write the small amount of C code needed to make
this work - I'm sorry, but I won't give you the code I use. That would
become slightly more unethical than I can comfortably just shrug off.
So please don't ask. The best I can do in that regard is to tell you
to research the LD_PRELOAD mechanism and learn how to use it.

To the LispWorks crew: a better way of managing this would be to
either statically link your own gettimeofday(), or at least draw in
the gettimeofday() function yourself, right from the system library
into your own function pointer so that it can't be hijacked as easily.

Pascal J. Bourguignon

unread,
Sep 25, 2009, 8:12:32 AM9/25/09
to
gnubeard <gnub...@gmail.com> writes:

> For those annoyed with the 5-hour timeout in LispWorks Personal
> Edition:
>
> You can disable the time-out by using the library interposition
> mechanism on your platform (LD_PRELOAD on linux, DYLD_INSERT_LIBRARIES
> on Mac .. not sure about a mechanism on Windows).
>
> Write your own implementation of gettimeofday() that:
>
> Lets time proceed normally for the first N seconds (10 < N < 5*60*60).
> This allows the startup
> dialog boxes to time-out properly.
>
> After N seconds have passed, the bogus gettimeofday() function should
> freeze time to a
> constant value.

A better way would be to slow down the clock. If you make 1 s from
gettimeofday = 4 s real time, you get 20 hours of work, and everything
should still work well (as if the processor was four times faster,
from the point of view of Lispworks and your lisp programs).

It's slightly more ethical than stopping the clock, since you'd still
get the timeout once a work day.


While it might go against the spirit of the license, I don't think
they forbid relativistic time play. If you find a black hole 100
Earth masses, and you can put yourself on a 1-meter orbit, then you
would have a time dilation of about 4:1 that would give the equivalent
work time between timeouts. Read the license closely, but I'd bet this
is not forbidden.


Another solution, would be to drink a lot of caffeine, and pack one
day work in 5 hours ;-)

--
__Pascal Bourguignon__

Espen Vestre

unread,
Sep 25, 2009, 9:34:11 AM9/25/09
to
p...@informatimago.com (Pascal J. Bourguignon) writes:

> While it might go against the spirit of the license, I don't think
> they forbid relativistic time play.

LOL - good one :-) But if you bring your machine with you, you and the
machine are ticking away in concert, so what did you gain? But of
course, instead of travelling to the next available black hole, you
could also buy one billion LispWorks licenses and still save a lot of
money...

Or, you could simply appreciate the good work the LispWorks guys do and
buy one Professional Edition License!
--
(espen)

kodifik

unread,
Sep 25, 2009, 10:15:53 AM9/25/09
to gnubeard
On Sep 25, 1:48 pm, gnubeard <gnub...@gmail.com> wrote:
> To the LispWorks crew: a better way of managing this would be to
> either statically link your own gettimeofday(), or at least draw in
> the gettimeofday() function yourself, right from the system library
> into your own function pointer so that it can't be hijacked as easily.

They could always be found ways to play with the primary time source
perceived by the software.

I once had an Allegro free edition past its expiry date in a Windogs
box
with no possible internet connection: One just had to twiddle the
taskbar clock
by one whole month or year back, and leave the clock widow opened to
do the reverse
once the software had started.

If you use a lisp system for lucrative purposes, buy the required
licences.
Its no money for any company.

Kenneth Tilton

unread,
Sep 25, 2009, 10:29:11 AM9/25/09
to

What does it matter? All any good Lisper needs is a C tool stack so they
can write their own Lisp.

hth, kt

Dave Searles

unread,
Sep 25, 2009, 10:53:44 AM9/25/09
to
gnubeard wrote:
> For those annoyed with the 5-hour timeout in LispWorks Personal
> Edition:
>
> You can disable the time-out by using the library interposition
> mechanism on your platform (LD_PRELOAD on linux, DYLD_INSERT_LIBRARIES
> on Mac .. not sure about a mechanism on Windows).
>
> Write your own implementation of gettimeofday() that:
>
> Lets time proceed normally for the first N seconds (10 < N < 5*60*60).
> This allows the startup
> dialog boxes to time-out properly.
>
> After N seconds have passed, the bogus gettimeofday() function should
> freeze time to a
> constant value.
>
> This will prevent LispWorks from prompting you about the impending
> timeout, and will allow
> Lisp code to continue running past the 5-hour mark. Code running in
> Lisp will, however, always get the bogus time - so code dependent on
> proper clock values won't work right.
> Depending on your application, you may be able to get around this by
> avoiding LispWork's internal time functions and getting the time
> through some other fashion.

Or, you can get around this by avoiding using crippleware. There are
plenty of truly free Lisps out there -- ABCL, SBCL, and others among
Common Lisps, at least one free Scheme, and Clojure.

gnubeard

unread,
Sep 26, 2009, 2:17:19 AM9/26/09
to
On Sep 26, 12:15 am, kodifik <kodi...@eurogaran.com> wrote:

> On Sep 25, 1:48 pm, gnubeard <gnube...@gmail.com> wrote:
>
> > To the LispWorks crew: a better way of managing this would be to
> > either statically link your own gettimeofday(), or at least draw in
> > the gettimeofday() function yourself, right from the system library
> > into your own function pointer so that it can't be hijacked as easily.
>
> They could always be found ways to play with the primary time source
> perceived by the software.
>
> I once had an Allegro free edition past its expiry date in a Windogs
> box
> with no possible internet connection: One just had to twiddle the
> taskbar clock
> by one whole month or year back, and leave the clock widow opened to
> do the reverse
> once the software had started.

Yes, such naive methods are easy to defeat. There are ways to do
fairly effective time-locking for the case of a 5-hour run time.
Nothing is unbeatable, of course - but that usually isn't the goal
anyhow. Usually you aren't interested in a nearly unbeatable security
system. Rather you are satisfied with a security system which is
difficult enough to defeat to be a deterrent.

For the $1k+ price tag, if I were LispWorks, I'd want a security
mechanism which would require about a weeks worth of serious hacking
to defeat - not 15-20 minutes of casual playing around. Then again,
the market for people interested in LispWorks is small enough that
they don't really need to worry about serious cracking / piracy.

My only reason for wanting to circumvent the 5-hour limit is that I
use LispWorks to do some audio processing - I've been toying with
writing some custom audio filter stuff. On some evenings and certainly
on weekends, I go back and forth between coding and playing guitar -
for far longer than 5 hours at a time.

It is super annoying to finally be getting through a difficult guitar
passage flawlessly, only to have lispworks pause or time out on me and
screw everything up..

>
> If you use a lisp system for lucrative purposes, buy the required
> licences.
> Its no money for any company.

Nope. I'm not a professional programmer, nor a professional musician.
Just a geek who spends more than 5-hours at a time mixing up two
enjoyable hobbies.

Rainer Joswig

unread,
Sep 26, 2009, 4:02:37 AM9/26/09
to

The LispWorks Personal edition is not the same as a full LispWorks
with a 5 hours limit. Defeating the time limit of the Personal Edition
does not get you the LispWorks Professional or Enterprise product.

> My only reason for wanting to circumvent the 5-hour limit is that I
> use LispWorks to do some audio processing - I've been toying with
> writing some custom audio filter stuff. On some evenings and certainly
> on weekends, I go back and forth between coding and playing guitar -
> for far longer than 5 hours at a time.
>
> It is super annoying to finally be getting through a difficult guitar
> passage flawlessly, only to have lispworks pause or time out on me and
> screw everything up..
>
>
>
> > If you use a lisp system for lucrative purposes, buy the required
> > licences.
> > Its no money for any company.
>
> Nope. I'm not a professional programmer, nor a professional musician.
> Just a geek who spends more than 5-hours at a time mixing up two
> enjoyable hobbies.

What would be a price where you would start thinking of buying
LispWorks for your hobby? Actually quite a lot hobbyists bought
LispWorks, because it is easy to use and has extensive GUI
capabilities.

Btw., LispWorks 6 beta has just been announced. Major new features:
multiprocessing, GTK+ support and a port for Solaris/Intel.


Pascal Costanza

unread,
Sep 26, 2009, 4:06:01 AM9/26/09
to

How much did your guitar cost?

Pascal

--
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/

Kojak

unread,
Sep 26, 2009, 6:17:39 AM9/26/09
to
Le Sat, 26 Sep 2009 10:06:01 +0200,
Pascal Costanza a écrit :

> How much did your guitar cost?

I guess nothing... He probably cracked eBay to get it for free... :-)

--
Jacques.

Alain Picard

unread,
Sep 26, 2009, 8:40:17 PM9/26/09
to
gnubeard <gnub...@gmail.com> writes:

> My only reason for wanting to circumvent the 5-hour limit is that I
> use LispWorks to do some audio processing

I suspect Lispwork's only reason for offering the 5-hour limited
edition is to allow you to come to a determination of whether or
not the product is suitable to your needs, so you can decide if
you're willing to purchase it or not. YOUR reasons for circumventing
such limit are utterly irrelevant.

> It is super annoying to finally be getting through a difficult guitar
> passage flawlessly, only to have lispworks pause or time out on me and
> screw everything up..

I'd even bet that if you could make a convincing case to them that
you need a 10 hour limited edition to make such a determination, the
helpful folks at Lispwork would accommodate you. But I'm starting
to get the impression that you could not make such a convincing case.

> Nope. I'm not a professional programmer, nor a professional musician.
> Just a geek who spends more than 5-hours at a time mixing up two
> enjoyable hobbies.

Ah. Well, then, you've determined that you don't want to shell out
the money for that software for the purposes of your hobby, right?
Then it seems pretty clear to me that you should simply stop using
it---trying to manipulate the software into accomodating your needs
without you accomodating the needs of the authors seems... well...
dishonest.

I'm kind of amazed that anyone would have have the audacity to discuss
how to defeat the meagre circumvention devices in that software, which
are clearly there just as a reminder to "be honest".

You ARE aware that there are high quality Free (as in libre) lisps
out there, right?

gnubeard

unread,
Sep 26, 2009, 8:50:38 PM9/26/09
to

Agreed. I don't need professional/enterprise. The heap-size limit, for
example is of no concern to me.

> What would be a price where you would start thinking of buying
> LispWorks for your hobby? Actually quite a lot hobbyists bought
> LispWorks, because it is easy to use and has extensive GUI
> capabilities.

At a sub-$300 price point, I'd buy right away. Limit the heap size if
you like, just give me the ability to build and distribute freeware
apps if I want.. and of course, no nags or timeouts. Drop SQL support,
probably a few other things. I'd consider up to $500, depending on
what I actually get on my chosen platform.


gnubeard

unread,
Sep 26, 2009, 8:54:45 PM9/26/09
to

That is actually somewhat offensive. Circumventing limitations in a
piece of software that I am able to download freely, and which - after
circumvention - in no way affects the ability of anyone else to use
the software -- is VERY different, both conceptually and ethically,
from theft - which, among other things, denies the ability of others
to use it properly since it is in my possession.

I don't steal.

Pascal J. Bourguignon

unread,
Sep 26, 2009, 9:17:19 PM9/26/09
to
gnubeard <gnub...@gmail.com> writes:

> On Sep 26, 8:17�pm, Kojak <nntp...@janville.Borg.invalid> wrote:
>> Le Sat, 26 Sep 2009 10:06:01 +0200,

>> Pascal Costanza a �crit :


>>
>> > How much did your guitar cost?
>>
>> I guess nothing... He probably cracked eBay to get it for free... :-)
>>
>> --
>> Jacques.
>
> That is actually somewhat offensive. Circumventing limitations in a
> piece of software that I am able to download freely, and which - after
> circumvention - in no way affects the ability of anyone else to use
> the software -- is VERY different, both conceptually and ethically,
> from theft - which, among other things, denies the ability of others
> to use it properly since it is in my possession.
>
> I don't steal.

There's a copyright. The owner of the copyright has the right to
determine who may copy or not their software, and of course, they're
allowed to put additionnal constraints against this right of copy they
give you, such as that of not using their software for more than five
hours in a row. That's their right, and if you're not happy with it,
you have two choices:

- lobby your representant to have him repeal the copyright laws (good
luck!).

- use software whose owner allows you to copy against a better set of
constraints. For example, clisp has a GPL license, which let you do
whatever you want it, as long as you pass along the sources. There
are even other owners who let you do whatever you want with their
software.


--
__Pascal Bourguignon__

gnubeard

unread,
Sep 26, 2009, 9:19:20 PM9/26/09
to
On Sep 27, 10:40 am, Alain Picard <Dr.Alain.Pic...@gmail.com> wrote:

> I suspect Lispwork's only reason for offering the 5-hour limited
> edition is to allow you to come to a determination of whether or
> not the product is suitable to your needs, so you can decide if
> you're willing to purchase it or not.  YOUR reasons for circumventing
> such limit are utterly irrelevant.

To you, clearly, my reasons are irrelevant. To me, naturally, my
reasons ARE quite relevant. I fail to see how this has any bearing on
the discussion.

Also consider that the LispWorks offers a personal edition - not an
evaluation, or demo. It is a limited copy of their software for
personal use. And it is NOT just a time limited enterprise or
professional version. There are other limitations (lack of application
delivery, heap size, maybe some others I'm not even aware of) besides
the timeout.

I don't need a larger heap size. I don't need to deliver applications.
I just need the software to run a bit longer.


> > Nope. I'm not a professional programmer, nor a professional musician.
> > Just a geek who spends more than 5-hours at a time mixing up two
> > enjoyable hobbies.
>
> Ah.  Well, then, you've determined that you don't want to shell out
> the money for that software for the purposes of your hobby, right?

I've determined that I don't want to shell out over a $1000 dollars,
yes. If they offered a product more in line with what I'm willing to
pay, I'd be happy to purchase it. While I don't NEED application
delivery - it might be come in handy a few times. I don't need a
larger heap, but it would be nice to know that I don't really have to
worry about hitting the ceiling.

But it isn't worth $1000 to me.

> I'm kind of amazed that anyone would have have the audacity to discuss
> how to defeat the meagre circumvention devices in that software, which
> are clearly there just as a reminder to "be honest".

What amazes me is that people like you believe that your moral code is
in some way absolute, and clearly when other people act according to a
different code it elicits an emotional response from you. A
superiority complex, perhaps. Mild autism, maybe. I don't know you so
I can't really tell. Suffice it to say, I am not bothered by writing a
bit of code to circumvent dumb limitations. You're right that the
protection is meager - and considering how easy it is to make
it more difficult to circumvent, if Lispworks was serious about me not
using it for more than 5 hours at a time - they could have easily done
so probably by investing as much time, or less, that I spent writing
the code to work around it.

I've spent more time responding to you, for instance, than it took me
to write that work-around.

Lispworks has lost no money directly because of me. I won't pay the
high price tag, and I wont distribute code to crack their software. If
they offered a package that met my needs, for a price I'm willing to
pay, I'd pay for it.

They DO _ALMOST_ offer such a package. It is called LispWorks
Personal. Using this package on my machine is ALMOST what I want. I've
modified MY machine (I haven't modified the Lispworks package AT ALL)
to work the way I want.

If you're offended by that, as I said in my original post - I'm sorry.

> You ARE aware that there are high quality Free (as in libre) lisps
> out there, right?

Yes, of course. How is that relevant to LispWorks?

gnubeard

unread,
Sep 26, 2009, 9:29:28 PM9/26/09
to
On Sep 26, 6:06 pm, Pascal Costanza <p...@p-cos.net> wrote:

> How much did your guitar cost?

About $200 USD for the guitar. I built my own amp, and I've dropped a
total of probably another $150-200 on a couple of used pedals, cables
and such.

The whole rig is much less than a LispWorks license, if that is what
you're asking.

gnubeard

unread,
Sep 26, 2009, 9:39:52 PM9/26/09
to
On Sep 27, 11:17 am, p...@informatimago.com (Pascal J. Bourguignon)
wrote:

> There's a copyright.  The owner of the copyright has the right to
> determine who may copy or not their software, and of course, they're
> allowed to put additionnal constraints against this right of copy they
> give you, such as that of not using their software for more than five
> hours in a row.  That's their right, and if you're not happy with it,
> you have two choices:
>
> - lobby your representant to have him repeal the copyright laws (good
>   luck!).
>
> - use software whose owner allows you to copy against a better set of
>   constraints.  For example, clisp has a GPL license, which let you do
>   whatever you want it, as long as you pass along the sources.  There
>   are even other owners who let you do whatever you want with their
>   software.


Sorry, still not theft. I have neither pirated, modified, or otherwise
TOUCHED the Lispworks software. I installed their software, as they
gave it to me. I modified MY system to make the
whole thing work the way I want. If they don't want this to have
happened, they should inspect the environment for LD_PRELOAD and
refuse to run on this "unsupported platform".

I could have kludged this a different way, and scripted my system to
roll back the system date/time as needed to prevent time out. In
effect, that is all that has happened. Neither the Lispworks
copyright, nor EULA, has any bearing on how I configure my own system.
If that configuration in some way changes how their code works, tough
shit, really. I'm an unsupported user. If my config hinders me, thats
my problem. I have no right to support. If it hinders them, equally
so.

gnubeard

unread,
Sep 27, 2009, 3:19:13 AM9/27/09
to
On Sep 27, 11:17 am, p...@informatimago.com (Pascal J. Bourguignon)
wrote:

> There's a copyright.  The owner of the copyright has the right to


> determine who may copy or not their software, and of course, they're
> allowed to put additionnal constraints against this right of copy they
> give you, such as that of not using their software for more than five
> hours in a row.  

Yes, but the 5-hour limit is not referenced at all in the LispWorks
SLA. Therefore it is a technical limitation, and not a contractual
one. The contractual obligation laid out in the SLA is that LispWorks
Personal is not to be used for commerical purposes. The various
limitations in Personal Edition are technical attempts to enforce
this. Circumventing one, of even ALL, of those limitations, would not
violate the SLA unless it is ACTUALLY used in a commercial
environment, OR the modified edition is redistributed to a third
party.

Furthermore, I've quoted section 5 of that SLA here with emphasis on a
particularly interesting
sentence. It would seem, from this section, that I am explicitly
entitled to hack up my own copy of LispWorks Personal any way I
choose. I am, however, forbidden to distribute that modified version.

While I would argue that I have not modified LispWorks, even if the
counter point is taken and the claim is made that a run-time preloaded
library constitutes modification, that is A-OK by the terms of the
license, for my own use.

From the SLA (emphasis is my own):

5. Copying, Modification and Distribution. You may not
copy the Software except as necessary to exercise your
rights under this Agreement and to make one (1) copy of
the Software in machine readable form for back-up or
archival purposes only. You may not translate, reverse
engineer, decompile, disassemble, modify or create
derivative works based on the materials, except as
expressly permitted by the law of this Agreement.

**** You may modify the Software and/or merge it into another
program solely for your use in accordance with this
Agreement. *****

Any portion of the Software merged into
another program will continue to be subject to the terms
and conditions of this Agreement. Except for the
distribution of runtime versions of the software
("Runtimes") in accordance with the following paragraph,
this license does not permit the distribution of the
Software, or any part thereof, to any third party.

Tamas K Papp

unread,
Sep 27, 2009, 3:32:22 AM9/27/09
to

Nice try, but that kind of hair splitting wouldn't hold up in court.

You are still stealing, but you are getting away with it since they
are not very likely to go to court over this; so you feel safe and
brag about how you disabled a simple limitation which was clearly
there just to remind people that this is a trial version. Kind of
like a cable lock on a bike: it is very easy to cut with simple hand
tools, but is still OK in a small community when people are basically
honest. You are not.

The software vendor plays really, really nice in this case by allowing
you to try their software even for extended periods and decide whether
you want it. You are just abusing this, then whine how they didn't
make it even more convenient for you. WTF?

Tamas

PS.: I hope that the first 3 letters of your nick are referring to the
animal, not the organization, because you certainly don't comply with
their principles.

Tamas K Papp

unread,
Sep 27, 2009, 3:40:15 AM9/27/09
to
On Sun, 27 Sep 2009 00:19:13 -0700, gnubeard wrote:

> On Sep 27, 11:17 am, p...@informatimago.com (Pascal J. Bourguignon)
> wrote:
>
>> There's a copyright.  The owner of the copyright has the right to
>> determine who may copy or not their software, and of course, they're
>> allowed to put additionnal constraints against this right of copy they
>> give you, such as that of not using their software for more than five
>> hours in a row.
>
> Yes, but the 5-hour limit is not referenced at all in the LispWorks SLA.
> Therefore it is a technical limitation, and not a contractual one. The
> contractual obligation laid out in the SLA is that LispWorks Personal is

You mean that if I don't post a note on my apartment door stating that
"No one shall circumvent the safety mechanisms of this door either by
picking the lock, utilizing crowbars, excessive physical force, or any
other means.", burglars are free to enter? Sorry, didn't know that. We
live and learn.

Gee, I know it is not gonna happen, but now I really wish that LW went
after you. I would like to see the face of the judge when you are
explaining this in court.

Tamas

Message has been deleted

gnubeard

unread,
Sep 27, 2009, 4:34:33 AM9/27/09
to
On Sep 27, 5:32 pm, Tamas K Papp <tkp...@gmail.com> wrote:

>
> Nice try, but that kind of hair splitting wouldn't hold up in court.

I haven't broken any law, nor violated copyright (they let me copy and
download it), nor violated the EULA. How should the courts respond?
Tamas and some folks on c.l.l don't like what you're doing - ergo
you're guilty? LOL

> The software vendor plays really, really nice in this case by allowing
> you to try their software even for extended periods and decide whether
> you want it.  You are just abusing this, then whine how they didn't
> make it even more convenient for you.  WTF?

I'm not whining about a damn thing, actually. If LW had made it very
difficult to circumvent the limitations, I'd keep using it, and still
wouldn't pay a high price for features I don't need. I would just be
inconvenienced more than I need to be.

Nor am I bragging. If I were going for bragging rights, I'd probably
do better by posting the software all patched up on a torrent site or
something, ready for people to use. Except most people on torrent
sites probably don't care about using LW. Instead I post here, because
some other annoyed LW Personal users might see it and be able to
figure it out too. But I didn't post code, because that skates too
close for my taste of distributing a "crack".

gnubeard

unread,
Sep 27, 2009, 4:53:46 AM9/27/09
to
On Sep 27, 5:40 pm, Tamas K Papp <tkp...@gmail.com> wrote:
> On Sun, 27 Sep 2009 00:19:13 -0700, gnubeard wrote:
> > Yes, but the 5-hour limit is not referenced at all in the LispWorks SLA.
> > Therefore it is a technical limitation, and not a contractual one. The
> > contractual obligation laid out in the SLA is that LispWorks Personal is
>
> You mean that if I don't post a note on my apartment door stating that
> "No one shall circumvent the safety mechanisms of this door either by
> picking the lock, utilizing crowbars, excessive physical force, or any
> other means.", burglars are free to enter?  Sorry, didn't know that.  We
> live and learn.

Clearly your thinking is muddled. You see, there are things called
laws which prohibit breaking into your apartment.

There is no *law* against configuring my machine the way I choose,
even if that configuration screws up the intended execution of someone
else's code.

By downloading and using LW, I do however accept a license - which is
a type of contract. That contract sets out the acceptable use policy
of their code. That contract MIGHT have said that I am only allowed to
use LW on an acceptably configured computer, with no mechanisms in
place that might adversely effect the execution of the LW, etc. But
the contract doesn't say that.

A better analogy would be: "You mean if I enter into a contract to
sublet my apartment to someone for a year and don't explicitly say
"Dont smoke in the apartment" then the person is free to smoke a pack
a day in the apartment?"

Yes, that is exactly right. If you don't lay out the terms of your
contract correctly, you can get screwed. Even if you are a vegan
hippie with rainbows and unicorns all over the apartment - even if you
have books and literature about how smoking can kill you in the
apartment -- if you don't lay down the rules IN THE CONTRACT saying
"DONT SMOKE" - the person is free to do so.

That's life.

I'll wager you're an academic and never needed to negotiate a real
contract before?

>
> Gee, I know it is not gonna happen, but now I really wish that LW went
> after you.  I would like to see the face of the judge when you are
> explaining this in court.
>
> Tamas

So would I. "Tamas, let me get this straight - you're trying to tell
this man not to smoke in your apartment just because you have hippie
unicorns in it, despite the fact that the contract as signed says
nothing about smoking?"

"Yes, that is exactly right sir!"

"Case dismissed."

Lieven Marchand

unread,
Sep 27, 2009, 5:20:28 AM9/27/09
to
gnubeard <gnub...@gmail.com> writes:

> For the $1k+ price tag, if I were LispWorks, I'd want a security
> mechanism which would require about a weeks worth of serious hacking
> to defeat - not 15-20 minutes of casual playing around. Then again,
> the market for people interested in LispWorks is small enough that
> they don't really need to worry about serious cracking / piracy.

As a paying Lispworks customer, I would prefer them to continue working
on enhancing a great product rather than play these silly games with a
cracker who obviously isn't interested in buying the product.

--
[The beginner] should not be discouraged [...] if he finds that he does not
have the prerequisites for reading the prerequisites. Paul Halmos

Tamas K Papp

unread,
Sep 27, 2009, 5:50:38 AM9/27/09
to
On Sun, 27 Sep 2009 01:53:46 -0700, gnubeard wrote:

> There is no *law* against configuring my machine the way I choose, even
> if that configuration screws up the intended execution of someone else's
> code.

Literal interpretations have little consequence in this case. You
seem clearly aware that the time limit is placed on the product for a
reason, and you are circumventing it knowingly.

That said, I have no further interest in arguing with you. If it
pleases you to be a dishonest person and convince yourself that these
tricks are clever, there is nothing I can do about that. Go ahead and
play with the machine clock all day if that is what you want.

There are two kinds of people: those who can create intellectual
value, and those who can't. The former have the freedom of deciding
what to do with it, the while latter have to be satisfied with
thinking up ways to steal it and justifying their actions.

Tamas

Pascal J. Bourguignon

unread,
Sep 27, 2009, 6:02:09 AM9/27/09
to
Tamas K Papp <tkp...@gmail.com> writes:

> On Sun, 27 Sep 2009 00:19:13 -0700, gnubeard wrote:
>
>> On Sep 27, 11:17�am, p...@informatimago.com (Pascal J. Bourguignon)
>> wrote:
>>
>>> There's a copyright. �The owner of the copyright has the right to
>>> determine who may copy or not their software, and of course, they're
>>> allowed to put additionnal constraints against this right of copy they
>>> give you, such as that of not using their software for more than five
>>> hours in a row.
>>
>> Yes, but the 5-hour limit is not referenced at all in the LispWorks SLA.
>> Therefore it is a technical limitation, and not a contractual one. The
>> contractual obligation laid out in the SLA is that LispWorks Personal is
>
> You mean that if I don't post a note on my apartment door stating that
> "No one shall circumvent the safety mechanisms of this door either by
> picking the lock, utilizing crowbars, excessive physical force, or any
> other means.", burglars are free to enter? Sorry, didn't know that. We
> live and learn.

No, but it's an interesting legal point. IANAL (much less a USA
lawyer). While I wouldn't have a law that would make software a
binding contract (for the simple reason that it's not open source
software, therefore the recipient cannot read the "contract" before
using it), it seems that DRM are made legal contract by the WTC and
enacted by the various laws such as DMCA (USA) and DADVSI (France).
Therefore even if it's not explicitely state in the SLA, as a DRM
device, the 5-hour limit is probably binding (depending on the country
where the OP uses LispWorks).

But who am I to say anything, my vote is worth only 1/62e6, and
politicians just lie and do whatever they want.

--
__Pascal Bourguignon__

Tamas K Papp

unread,
Sep 27, 2009, 6:19:29 AM9/27/09
to

IANAL either. For me, the issue is not primarily legal. LW is a nice
company, they let you try the product first for an extended period,
with limitations for sure, but they let you decide whether you want to
fork out all that cash after testing the product first. In my
experience, suppliers of similarly priced software are nowhere near
that nice to their customers.

And with all the high quality open source CL implementations around,
it is hard to justify stealing their product from the "I am poor but
want to program in CL" perspective either.

Tamas

gnubeard

unread,
Sep 27, 2009, 6:23:59 AM9/27/09
to
On Sep 27, 7:50 pm, Tamas K Papp <tkp...@gmail.com> wrote:
> On Sun, 27 Sep 2009 01:53:46 -0700, gnubeard wrote:
> > There is no *law* against configuring my machine the way I choose, even
> > if that configuration screws up the intended execution of someone else's
> > code.
>
> Literal interpretations have little consequence in this case.  You
> seem clearly aware that the time limit is placed on the product for a
> reason, and you are circumventing it knowingly.

And I am aware of the reason for the existence of the limitation,
while you are not. From the Personal Edition release notes:

LispWorks Personal Edition has several limitations designed to prevent
commercial exploitation of this free product. These are:

* A heap size limit
* A time limit of 5 hours for each session.
* The functions save-image , deliver , and load-all-patches are
not available.
* Initialization files are not available.
* Professional and Enterprise Edition module loading is not
included.

...

The limitation is NOT there to convince me to buy the professional or
enterprise editions.

> There are two kinds of people: those who can create intellectual
> value, and those who can't.  The former have the freedom of deciding
> what to do with it, the while latter have to be satisfied with
> thinking up ways to steal it and justifying their actions.
>
> Tamas

I feel sad for you. It must be terrible to live in a world where
people are as easily divided as bits; a world with no vagaries or
shades of meaning. I imagine it must be a desolate, lonely place. You
should try getting out of the house/lab/office more.


gnubeard

unread,
Sep 27, 2009, 7:02:52 AM9/27/09
to
On Sep 27, 7:20 pm, Lieven Marchand <m...@wyrd.be> wrote:

> As a paying Lispworks customer, I would prefer them to continue working
> on enhancing a great product rather than play these silly games with a
> cracker who obviously isn't interested in buying the product.

Indeed. But, I'd *LOVE* to buy LW - you're completely, 100% wrong on
that point. But, the pro and enterprise editions are pricey, and dont
offer me *ANY* features that help me and instead only include stuff
that I don't want. I'd pay $100 right now, for a Personal Edition
minus the time-lock (keep the heap size and other limitations in
place). Thats $100 just so that my Lisp code could get the correct
system time/date easily.

In effect, I'm just trading one limitation for another. Instead of
timing out after 5-hours, (get-decoded-time) and friends don't work.

You know, if LW would have done something to maintain/distribute the
SigLab sources with their product *THAT* would represent significant
value to me, and I'd pay the $1500, possibly even more depending on
how much effort was put into it. Or even their own audio/signal
libraries and visualization tools.


gnubeard

unread,
Sep 27, 2009, 7:22:18 AM9/27/09
to
On Sep 27, 8:02 pm, p...@informatimago.com (Pascal J. Bourguignon)
wrote:

> No, but it's an interesting legal point.  IANAL (much less a USA


> lawyer).  While I wouldn't have a law that would make software a
> binding contract (for the simple reason that it's not open source
> software, therefore the recipient cannot read the "contract" before
> using it), it seems that DRM are made legal contract by the WTC and
> enacted by the various laws such as DMCA (USA) and DADVSI (France).
> Therefore even if it's not explicitely state in the SLA, as a DRM
> device, the 5-hour limit is probably binding (depending on the country
> where the OP uses LispWorks).
>
> But who am I to say anything, my vote is worth only 1/62e6, and
> politicians just lie and do whatever they want.

IANAL either.. but yes, DMCA act provisions are interesting in this
context. It is too fine of a legal line for me to really be able to
draw.

However, my understanding is that the DMCA and similar laws
criminalize circumventing COPY PROTECTION - that is, circumventing
restrictions to access to the content itself.

I do, clearly, have a right to copy/download LW Personal.

From LW's license, I even have a right to modify if it for my own
use.

From LW Personal's notes the limitations are NOT copy protection
mechanisms, but are designed to make the product as delivered
unsuitable for commercial use - which is forbidden by their SLA.

I am not using it for commercial use, so the fact that I jump through
some hoops to loosen the 5-hour restriction is not against the SLA,
and I don't believe it would be a DMCA violation either, since I have
a right to the copy to begin with - and I'm allowed to modify my copy.

Pascal J. Bourguignon

unread,
Sep 27, 2009, 7:45:49 AM9/27/09
to
gnubeard <gnub...@gmail.com> writes:

It sounds like they might have inavertently disabled legally their
DRM, but it will probably be up to a judge to decide wether SLA takes
precedence over DMCA or the inverse. If there's a contradiction
between what they allow you to do with their software, and a DRM
device inside this software, perhaps USA judges will decide that the
DRM is prioritary, and that you still cannot modify it. In any case,
I can see their lawyers arguing that they meant you were allowed to
modify lisp sources, and not the virtual machine.


--
__Pascal Bourguignon__

Pascal Costanza

unread,
Sep 27, 2009, 7:53:28 AM9/27/09
to
gnubeard wrote:
> On Sep 26, 6:06 pm, Pascal Costanza <p...@p-cos.net> wrote:
>
>> How much did your guitar cost?
>
> About $200 USD for the guitar. I built my own amp, and I've dropped a
> total of probably another $150-200 on a couple of used pedals, cables
> and such.

What would you do if you could buy such equipment only for a higher price?

> The whole rig is much less than a LispWorks license, if that is what
> you're asking.

No, that's not what I'm asking.

gnubeard

unread,
Sep 27, 2009, 8:35:15 AM9/27/09
to
On Sep 27, 9:45 pm, p...@informatimago.com (Pascal J. Bourguignon)
wrote:

> It sounds like they might have inavertently disabled legally their


> DRM, but it will probably be up to a judge to decide wether SLA takes
> precedence over DMCA or the inverse.  If there's a contradiction
> between what they allow you to do with their software, and a DRM
> device inside this software, perhaps USA judges will decide that the
> DRM is prioritary, and that you still cannot modify it.  In any case,
> I can see their lawyers arguing that they meant you were allowed to
> modify lisp sources, and not the virtual machine.

Yeah, that is certainly a possibility. But since I haven't actually
modified LW at all, that shouldn't be an issue either.

All I've done is to utilize an already present feature of the dynamic
linker. A standard feature on UNIX-ish OS's that they choose to
support. If anything is getting modified, it is my copy of the C
standard library, not LW.

Now if I were preloading a lib that interposed over LW's supplied
libraries, that would be a different issue.

gnubeard

unread,
Sep 27, 2009, 9:21:43 AM9/27/09
to
On Sep 27, 9:53 pm, Pascal Costanza <p...@p-cos.net> wrote:
> gnubeard wrote:
> > On Sep 26, 6:06 pm, Pascal Costanza <p...@p-cos.net> wrote:
>
> >> How much did your guitar cost?
>
> > About $200 USD for the guitar. I built my own amp, and I've dropped a
> > total of probably another $150-200 on a couple of used pedals, cables
> > and such.
>
> What would you do if you could buy such equipment only for a higher price?

First I'll submit to your hypothetical: you've logically forced me to
either buy it for the higher price, or not play guitar. After all,
this is a non-existant world where used, tarnished, or broken guitars
don't exist. I can only buy new - so I must do so at a higher price.

Now back to reality:

LW is available for a higher price, and a lesser version is available
for free. The irony is, that if LW Personal, as it exists, WITH the 5-
hour time out were only available for $300 -- I'd probably buy it.
Thats right. I like it that much above the other options. I'd buy the
crippleware, KNOWING I could patch it up and make it workable for my
uses. Kind of like buying one of those broken guitars I was telling
you about, and fixing up the bent tuning pegs or what-have-you.

You know, there seems to be this underlying assumption that because
I've defeated the time-lock on the personal edition, that I won't ever
buy the professional one. I'm not as certain of that as you all are,
apparently. I can say with a fair amount of certainty that if I had
$4000 or so more to throw into my hobbies, LW Pro would make the list.
But, you know, we'd all like more bread. I do more than just play
guitar and screw around with Lisp. Remember I mentioned that I built
my amp? Yeah, the parts for that still cost money, the used Tek oscope
and spectrum analyzer cost me money too. I keep a tight a budget on my
hobbies these days because when I didn't - I blew way too much money
on all sorts of shit, software included.

Probably some time in the next 6 months or so I'll end up buying a
copy, especially when I finish up my filters .. if some of my friends
like the sound, I might like to be able to build standalone apps for
them to use since they don't code and wouldn't want to deal with LW.

Pascal Costanza

unread,
Sep 27, 2009, 11:07:17 AM9/27/09
to

This sounds reasonable to me. You could have saved yourself some effort
if you had told this to the LispWorks guys. As far as I know, they are
quite helpful in providing unlimited evaluation copies for a limited
timeframe (of a couple of months, or so).

Lars Rune Nøstdal

unread,
Sep 27, 2009, 12:49:17 PM9/27/09
to

Dave Searles

unread,
Sep 27, 2009, 12:48:52 PM9/27/09
to
Pascal J. Bourguignon wrote:
> gnubeard <gnub...@gmail.com> writes:
>
>> On Sep 26, 8:17 pm, Kojak <nntp...@janville.Borg.invalid> wrote:
>>> Le Sat, 26 Sep 2009 10:06:01 +0200,
>>> Pascal Costanza a �crit :
>>>
>>>> How much did your guitar cost?
>>> I guess nothing... He probably cracked eBay to get it for free... :-)
>>>
>>> --
>>> Jacques.
>> That is actually somewhat offensive. Circumventing limitations in a
>> piece of software that I am able to download freely, and which - after
>> circumvention - in no way affects the ability of anyone else to use
>> the software -- is VERY different, both conceptually and ethically,
>> from theft - which, among other things, denies the ability of others
>> to use it properly since it is in my possession.
>>
>> I don't steal.

Agreed.

> There's a copyright. The owner of the copyright has the right to
> determine who may copy or not their software

True.

> and of course, they're allowed to put additionnal constraints against
> this right of copy they give you, such as that of not using their
> software for more than five hours in a row.

False. There is nothing in US copyright law to that effect. In fact
there's an explicit denial of that: the right of first sale. Once you
buy a copy, you can do as you please with that copy, or sell it or give
it away, save that you need the copyright holder's permission to make
and distribute new copies.

Simply using your copy, however you see fit, in privacy, is not
constrained by copyright law.

Dave Searles

unread,
Sep 27, 2009, 12:59:30 PM9/27/09
to

That's very interesting. Guitar + other equipment: $350-400. Marginal
cost: $350-400. LispWorks license: north of $1000. Marginal cost: south
of one buck.

What's up with that?

Raffael Cavallaro

unread,
Sep 27, 2009, 3:44:18 PM9/27/09
to
On 2009-09-27 12:48:52 -0400, Dave Searles <sea...@hoombah.nurt.bt.uk> said:

> In fact there's an explicit denial of that: the right of first sale.

He's talking about the free trial version. Since there hasn't been any
sale, it's difficult to invoke the right of first sale.

--
Raffael Cavallaro

John Thingstad

unread,
Sep 27, 2009, 4:44:11 PM9/27/09
to

You know I was just about to buy their product until I tested it under
Linux.
It still runs under a Motif windows manager without mouse-wheel support.
Excuse me but I owe my customers more than that.
(Give me a decent GTK Linux interface and I'm right on it.)
I regret that since I love CAPI.


--------------
John Thingstad

Rainer Joswig

unread,
Sep 27, 2009, 5:07:19 PM9/27/09
to
On 27 Sep., 22:44, "John Thingstad" <jpth...@online.no> wrote:

LispWorks 6 beta has just been announced. One of the new features is
GTK+ support for CAPI and the LispWorks IDE.

http://www.lispworks.com/news/index.html#lw60beta

gnubeard

unread,
Sep 27, 2009, 8:13:22 PM9/27/09
to
On Sep 28, 5:44 am, Raffael Cavallaro
<raffaelcavall...@pas.espam.s.il.vous.plait.mac.com> wrote:

> On 2009-09-27 12:48:52 -0400, Dave Searles <sear...@hoombah.nurt.bt.uk> said:
>
> > In fact there's an explicit denial of that: the right of first sale.
>
> He's talking about the free trial version. Since there hasn't been any
> sale, it's difficult to invoke the right of first sale.
>
> --
> Raffael Cavallaro

Yeah, there is a distinction to be made there -- but I think it would
be for the courts to decide (if they have not already) whether the
right of first sale is primarily the right of a person who has spent
money, or whether it is the right of a person who has obtained a
legitimate copy (whatever the cost, and whether it is free or not).

If I bought a piece of software at my expense, and then gave it to you
free of charge, would you have the right of first sale? I.e. - you are
the legitimate holder of the software now, you have the original
media, license agreement, and so on -- are you now allowed to use that
copy, in privacy, any way you like?

I imagine you would be. The fact that LW supplies a legitimate
perpetual-use license for LW Personal to me, free of charge, is the
main point.

gnubeard

unread,
Sep 27, 2009, 8:18:48 PM9/27/09
to
On Sep 28, 1:07 am, Pascal Costanza <p...@p-cos.net> wrote:
> This sounds reasonable to me. You could have saved yourself some effort
> if you had told this to the LispWorks guys. As far as I know, they are
> quite helpful in providing unlimited evaluation copies for a limited
> timeframe (of a couple of months, or so).

I've seen this sort of thing mentioned a few times in this thread. It
is quite encouraging to know that the staff of LW is this helpful. It
certainly goes a ways toward encouraging me to buy a copy when the
time comes.

OTOH, this whole kludge was really very little effort. I really doubt
anyone at LW could have received my email, gone through whatever
process they have for supplying such an evaluation, and gotten back to
me about it in less time that it took to develop the replacement
gettimeofday().. I've spent an order of magnitude more time responding
in this thread, for instance :)


Raffael Cavallaro

unread,
Sep 27, 2009, 9:01:45 PM9/27/09
to
On 2009-09-27 20:13:22 -0400, gnubeard <gnub...@gmail.com> said:

> If I bought a piece of software at my expense, and then gave it to you
> free of charge, would you have the right of first sale? I.e. - you are
> the legitimate holder of the software now, you have the original
> media, license agreement, and so on -- are you now allowed to use that
> copy, in privacy, any way you like?
>
> I imagine you would be.

In your hypothetical the free copy is obtained from a previous
purchaser. In the case at hand the free copy is obtained from the
copyright holder with specific license conditions.

> The fact that LW supplies a legitimate
> perpetual-use license for LW Personal to me, free of charge, is the
> main point.

Yes, but that license has conditions and those conditions must be
obeyed or the license is void. Whether or not resetting one's system
clock violates those conditions would be a question for the courts to
decide, but it's distinctly possible they'd see it as deliberate
circumvention of the terms of the license.


--
Raffael Cavallaro

gnubeard

unread,
Sep 27, 2009, 10:48:10 PM9/27/09
to
On Sep 28, 11:01 am, Raffael Cavallaro
<raffaelcavall...@pas.espam.s.il.vous.plait.mac.com> wrote:

Agreed, but the Personal Edition license doesn't mention the
limitations of that software compared to Professional or Enterprise at
all. The license restrictions, as set out in the text, are a
prohibition against commercial use, and a prohibition against
redistribution. Thats all.

If I don't violate those license terms, there is no violation..
regardless of what else I do to the software.

The release notes for the software make it clear that the limitations
in personal edition are there to enforce the non-commercial use of
Personal edition - by making it not a viable option for commercial use
(time outs in less than a work day, small heap size, no binary
creation).

It seems to me that you, and others, are thinking of LW Personal in
the same way as some other commercial evaluation packages that give
you a 30-day trial or something. Some of those packages probably
mention that the user is prohibited from using the software after 30-
days, and also put in time-out code to enforce that. If this technique
is applicable to such packages, using it would be in violation of the
license because the license itself mandates you are allowed to use it
only for a given period of time.

That is not the case with LW Personal. It is not an evaluation
licensed to me for a given amount of time. It is a full package,
licensed to me perpetually for non-commercial use with some technical
limitations designed to make it useless for commercial use.
Circumventing one, or all, of those limitations while continuing to
use it non-commercially is not in violation of the license agreement.

Raffael Cavallaro

unread,
Sep 28, 2009, 12:05:26 AM9/28/09
to
On 2009-09-27 22:48:10 -0400, gnubeard <gnub...@gmail.com> said:

> Circumventing one, or all, of those limitations while continuing to
> use it non-commercially is not in violation of the license agreement.

"You may not translate, reverse
engineer, decompile, disassemble, modify or create
derivative works based on the materials, except as
expressly permitted by the law of this Agreement."

Seems to me that your hack entailed some reverse engineering
(admittedly simple, but reverse engineering nevertheless), which
reverse engineering was not expressly permitted by the agreement. Seems
to me like you've laid yourself open to section 16.

"16. Termination. The Vendor may terminate this Agreement
if you fail to comply with any of the terms and
conditions of this Agreement. Upon termination, you
shall cease using the Software and shall destroy or
return to the Vendor all copies of the Software."

As a practical matter, I doubt LW would come after you. If you've no
intention of ever buying, they can't be bothered as you don't represent
a lost sale. If you might eventually buy, they'd be harassing a
potential customer. Naturally I don't speak for LispWorks so it's
completely possible that they take an entirely different view.

What does seem pretty clear is that you've violated the terms of the
license by reverse engineering the time limitation and circumventing it.

--
Raffael Cavallaro

D Herring

unread,
Sep 28, 2009, 1:33:59 AM9/28/09
to
gnubeard wrote:
> For those annoyed with the 5-hour timeout in LispWorks Personal
> Edition:
>
> You can disable the time-out by using the library interposition
> mechanism on your platform (LD_PRELOAD on linux, DYLD_INSERT_LIBRARIES
> on Mac .. not sure about a mechanism on Windows).
...

Whereas I think the trial versions of LispWorks and Allegro are overly
restrictive, the moral way to avoid their annoyances is to use a
different implementation. There are plenty to choose from.

- Daniel

Pascal Costanza

unread,
Sep 28, 2009, 2:42:57 AM9/28/09
to

My experiences with the LispWorks crew is a lot more positive than you
seem to expect.

gnubeard

unread,
Sep 28, 2009, 7:37:53 AM9/28/09
to
On Sep 28, 2:05 pm, Raffael Cavallaro
<raffaelcavall...@pas.espam.s.il.vous.plait.mac.com> wrote:

> On 2009-09-27 22:48:10 -0400, gnubeard <gnube...@gmail.com> said:
>
> > Circumventing one, or all, of those limitations while continuing to
> > use it non-commercially is not in violation of the license agreement.
>
> "You may not translate, reverse
> engineer, decompile, disassemble, modify or create
> derivative works based on the materials, except as
> expressly permitted by the law of this Agreement."
>
> Seems to me that your hack entailed some reverse engineering
> (admittedly simple, but reverse engineering nevertheless), which
> reverse engineering was not expressly permitted by the agreement. Seems
> to me like you've laid yourself open to section 16.

I'm baffled. How is creating my own implementation of a standard C
function reverse engineering, in any sense of the term? Or how is
loading said function with a standard ld feature reverse engineering?

I just read the entire wiki article on reverse engineering, thinking
that my understanding of the term might be the problem.. the thesis of
the article is thus:

Reverse engineering (RE) is the process of discovering the
technological principles of a device, object or system through
analysis of its structure, function and operation. It often involves
taking something (e.g., a mechanical device, electronic component, or
software program) apart and analyzing its workings in detail to be
used in maintenance, or to try to make a new device or program that
does the same thing without copying anything from the original.

I don't see how any of that that applies, at all.

gnubeard

unread,
Sep 28, 2009, 7:42:10 AM9/28/09
to
On Sep 28, 4:42 pm, Pascal Costanza <p...@p-cos.net> wrote:
> gnubeard wrote:

> > I've seen this sort of thing mentioned a few times in this thread. It
> > is quite encouraging to know that the staff of LW is this helpful. It
> > certainly goes a ways toward encouraging me to buy a copy when the
> > time comes.

> My experiences with the LispWorks crew is a lot more positive than you
> seem to expect.
>
> Pascal


I didn't mean to suggest that I thought that the LW guys wouldn't
provide good service - I just mean that, from my reading of the
website, I didn't notice anything regarding time-limited evaluations
advertised, or even a statement that other options are available and
that I should contact someone, etc.

Then again, I admit I didn't look very hard .. I knew that LW offered
a personal edition, and I went there, looked around rather briefly,
downloaded the software and then spent most of my time in their
manuals, not on their website.

Joost Kremers

unread,
Sep 28, 2009, 7:43:35 AM9/28/09
to
gnubeard wrote:
> I'm baffled. How is creating my own implementation of a standard C
> function reverse engineering, in any sense of the term? Or how is
> loading said function with a standard ld feature reverse engineering?

you found out how LW keeps track of the 5hr limit. that's reverse-engineering,
because you had to analyse LW's functioning and operating to do so.


--
Joost Kremers joostk...@yahoo.com
Selbst in die Unterwelt dringt durch Spalten Licht
EN:SiS(9)

Pascal J. Bourguignon

unread,
Sep 28, 2009, 7:55:26 AM9/28/09
to
gnubeard <gnub...@gmail.com> writes:

I agree with you. However, I can imagine a lawyer arguing that
modifying the behavior of an external library function such as
gettimeofday that is called by the program in question is a kind of
probing, and thus you "analyzed" its workings with respect to time and
timeouts. After all, before you didn't know how it would behave.
After having implemented this new gettimeofday, you know how
Lispworks behaves. So you analyzed it and reverse engineered this
part. Granted, as a blackbox, without taking it apart, but still...


--
__Pascal Bourguignon__

gnubeard

unread,
Sep 28, 2009, 8:30:07 AM9/28/09
to
On Sep 28, 9:43 pm, Joost Kremers <joostkrem...@yahoo.com> wrote:
> gnubeard wrote:
> > I'm baffled. How is creating my own implementation of a standard C
> > function reverse engineering, in any sense of the term? Or how is
> > loading said function with a standard ld feature reverse engineering?
>
> you found out how LW keeps track of the 5hr limit. that's reverse-engineering,
> because you had to analyse LW's functioning and operating to do so.

hmm, ok .. I suppose I can see the argument in a way. In actual point
of fact though, I didn't analyze a thing. I knew apriori that LW would
be using gettimeofday() because thats what C programs do: they use the
C standard library. But I could have been wrong about them having
written it in C though, so I guess I "learned" that too.

IMO this is pretty weak, though.. and certainly not clear cut. I can
imagine a judge throwing this out just as easily as I can see it being
considered.

gnubeard

unread,
Sep 28, 2009, 8:41:54 AM9/28/09
to
On Sep 28, 9:55 pm, p...@informatimago.com (Pascal J. Bourguignon)
wrote:

> I agree with you.  However, I can imagine a lawyer arguing that


> modifying the behavior of an external library function such as
> gettimeofday that is called by the program in question is a kind of
> probing, and thus you "analyzed" its workings with respect to time and
> timeouts.  After all, before you didn't know how it would behave.
> After having implemented  this new gettimeofday, you know how
> Lispworks behaves.  So you analyzed it and reverse engineered this
> part.  Granted, as a blackbox, without taking it apart, but still...


Yeah, I suppose I could see this being argued back and forth in a
court.

My argument to the judge in such a case would be that using such weak
criteria to establish "reverse engineering" would equally prohibit me
from using a replacement C library such as FreeVec (Altivec/SSE/etc
accelerated C library) in debug mode where it tells me what functions
are being called, SIMD registers, etc. My aim for such a thing might
be to simply debug FreeVec, and the fact that I learn about LW is
secondary only because it might be LW that triggers the trouble in
FreeVec.

Prohibition of an entire class of usage on the grounds that I might
secondarily learn something about LW would be dangerous precedent, and
I think most judges would rule that reverse engineering entails
primarily trying to establish the functioning and details of the
system in question, and not merely learning a bit about it by using
it.. even if that usage is out of the ordinary.

Interesting stuff, though :)

Pascal J. Bourguignon

unread,
Sep 28, 2009, 8:54:25 AM9/28/09
to
gnubeard <gnub...@gmail.com> writes:

Of course it depends on the country. In France, you'd have a case
about interoperability: you'd be allowed to reverse engineer
LispWorks, if need be, to make it run with your own libc.


--
__Pascal Bourguignon__

Frank Buss

unread,
Sep 28, 2009, 9:03:39 AM9/28/09
to
gnubeard wrote:

> Yeah, I suppose I could see this being argued back and forth in a
> court.

No, I think it would be very short. You have modified the libc, because you
don't want to pay for a good product. It is the intention that counts.

There are other examples for this concept, e.g. involuntary manslaughter
and murder. Both have the same result, but the punishment is much
different, because the intention of the offender was different.

--
Frank Buss, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

david

unread,
Sep 28, 2009, 9:06:52 AM9/28/09
to
I've worked with the Lispworks people for many years. They're great
folks; produce a superb product worth every penny of its cost; and are
always willing to work with others on various exceptions to their
licensing policy.

However you want to rationalize this thing, it's unethical if nothing
else. What's more, you post your "achievement" for all to see.

Typical...

-- david

Pascal J. Bourguignon

unread,
Sep 28, 2009, 9:07:15 AM9/28/09
to
Frank Buss <f...@frank-buss.de> writes:

> gnubeard wrote:
>
>> Yeah, I suppose I could see this being argued back and forth in a
>> court.
>
> No, I think it would be very short. You have modified the libc, because you
> don't want to pay for a good product. It is the intention that counts.
>
> There are other examples for this concept, e.g. involuntary manslaughter
> and murder. Both have the same result, but the punishment is much
> different, because the intention of the offender was different.

It may be an accessibility question then.

Perhaps the OP is too slow to use effectively his computers, so he get
it slowed down. We did that to run legacy games on faster processors,
when they weren't programmed to use real-time but used processor
cycles for timing. The intention would be not to go beyond the 5
psychological hours allowed, only that person need ten hours to think
and work what another person thinks and words in five hours. So it
started from a "good" intention :-) Lawyers must have a lot of fun...

--
__Pascal Bourguignon__

Raffael Cavallaro

unread,
Sep 28, 2009, 9:12:15 AM9/28/09
to
On 2009-09-28 08:41:54 -0400, gnubeard <gnub...@gmail.com> said:

> My argument to the judge in such a case would be that using such weak
> criteria to establish "reverse engineering" would equally prohibit me
> from using a replacement C library such as FreeVec (Altivec/SSE/etc
> accelerated C library) in debug mode where it tells me what functions
> are being called, SIMD registers, etc.

1. But you've already posted here in a public forum that your reason
for using a different version of gettimeofday was an attempt to reverse
engineer and modify the behavior of LW.

2. Using a debug library or tool to log calls made by LW in order to
see how it works would quite likely also been seen as a violation of
the no reverse engineering clause.

You seem to be thinking about LW as if it were Free (as in freedom)
software, where your rights to modify, reverse engineer, etc. count as
much as the rights of the copyright holder. That's not the case. The
only rights you have wrt LW are those granted by LW in the license.
That's what section 1 means when it says "This agreement ("Agreement")
sets out
the terms and conditions..."
If you don't abide by these terms, LW can terminate your license.
--
Raffael Cavallaro

Alessio Stalla

unread,
Sep 28, 2009, 10:02:44 AM9/28/09
to

It would have been unethical if the OP didn't say a thing, used the
"cracked" version of LispWorks, and maybe even shipped applications
with it, or published it on p2p. Instead he publicly disclosed the
"flaw" in LispWorks: its authors can fix it if they want to. If he has
violated the license and/or the law (I doubt he has), the LispWorks
guys can cite him in court if they want to.
So, I fail to see how this is unethical. Is it about him not paying
money to LW? He said he's willing to pay for a personal edition
without the time limit; in any case, LW would not have got more money
if he hadn't "cracked" their software.

Alessio

Rainer Joswig

unread,
Sep 28, 2009, 10:51:44 AM9/28/09
to
On 28 Sep., 13:42, gnubeard <gnube...@gmail.com> wrote:
> On Sep 28, 4:42 pm, Pascal Costanza <p...@p-cos.net> wrote:
>
> > gnubeard wrote:
> > > I've seen this sort of thing mentioned a few times in this thread. It
> > > is quite encouraging to know that the staff of LW is this helpful. It
> > > certainly goes a ways toward encouraging me to buy a copy when the
> > > time comes.
> > My experiences with the LispWorks crew is a lot more positive than you
> > seem to expect.
>
> > Pascal
>
> I didn't mean to suggest that I thought that the LW guys wouldn't
> provide good service - I just mean that, from my reading of the
> website, I didn't notice anything regarding time-limited evaluations
> advertised, or even a statement that other options are available and
> that I should contact someone, etc.

To know more about this, you need to get in direct contact with them.

LispWorks Ltd. has a sales address on this page: http://www.lispworks.com/buy/index.html

Yes, the time-limited (on weeks or months, not in hours ;-) ) versions
of LispWorks for evaluation purposes have been available since many
many years. This is helpful for testing of the more advanced features,
compatibility with larger software (that needs more memory) and to
check out capabilities like compilation to shared libraries.

Franz Inc., btw., offers this too, AFAIK. One should be able to get
time-limited evaluation versions of Allegro Cl, too.

I would agree that these commercial Lisps are often too expensive for
hobbyist use, but at the same time I think both are offering
absolutely great value for their money. Corman Common Lisp (for
Windows) is quite a bit cheaper, you might want to check that out. Mac
users like me like that the LispWorks IDE is available for Mac OS X,
that's something that Allegro CL does not offer (its IDE is available
only for Windows and Linux) and Corman CL is Windows-only. A huge plus
for Allegro CL is that one can get a lot of the source code from them.
Also the 'professional version' of Allegro CL for $599 for academic
users is quite affordable. A big plus of LispWorks (compared to
Allegro CL) is that it allows to create applications with no
additional fees/royalties.

One additional thing, the 64bit version of LispWorks is really
expensive. But it is totally cool, IMHO. Currently it is in
combination with its IDE my favorite Lisp implementation. I'm not an
owner of it, but every Lisp user with deep enough pockets should check
it out.

What are the options for Windows users?

Open Source, free and no cost

* CLISP, SBCL : both should be popular
* ECL
* Clozure Common Lisp : Windows port is new, gets a Mac-compatible IDE
right now
* ABCL : using Java on Windows

Commercial and Proprietary

* Corman CL, IDE
* LispWorks, IDE
* Allegro CL, IDE

There are/were probably other offerings (like Golden Common Lisp and
Ufasoft Common Lisp). But I have no idea how much these are used these
days

Tamas K Papp

unread,
Sep 28, 2009, 11:06:50 AM9/28/09
to
On Mon, 28 Sep 2009 07:02:44 -0700, Alessio Stalla wrote:

> Is it about him not paying money to LW? He said he's willing to pay for
> a personal edition without the time limit; in any case, LW would not

Of course, such statements are unverifiable. Also, they are very
common in these situations: people frequently argue that they are not
paying for X, but would "gladly" pay a "fair" price for X', which of
course not offered, what a pity.

But still, these highly ethical people tried their best, it is not
their fault that the company is not offering X', is it? If the
company happens to offer that, maybe they realize that X' is not quite
what they need, but would most definitely pay a fair price for X'',
etc.

> have got more money if he hadn't "cracked" their software.

Again, this is a very common argument in these situations. But as
most of the time the prospective buyers have a hard time of credibly
signaling that they would not have bought the software anyway, it is
quite vacuous -- this is a classical problem with asymmetric
information.

Notwithstanding the interesting legal arguments about
reverse-engineering or whether LW's lawyers have left a loophole in
there, for me the question is primarily a moral one. Especially with
good-quality free implementations around.

Tamas

Pascal J. Bourguignon

unread,
Sep 28, 2009, 11:14:45 AM9/28/09
to
Tamas K Papp <tkp...@gmail.com> writes:

> Notwithstanding the interesting legal arguments about
> reverse-engineering or whether LW's lawyers have left a loophole in
> there, for me the question is primarily a moral one. Especially with
> good-quality free implementations around.

Hence the suggestion to place oneself at one meter above the surface
of a black hole ;-)


--
__Pascal Bourguignon__

Kaz Kylheku

unread,
Sep 28, 2009, 1:09:03 PM9/28/09
to
On 2009-09-28, Joost Kremers <joostk...@yahoo.com> wrote:
> gnubeard wrote:
>> I'm baffled. How is creating my own implementation of a standard C
>> function reverse engineering, in any sense of the term? Or how is
>> loading said function with a standard ld feature reverse engineering?
>
> you found out how LW keeps track of the 5hr limit. that's reverse-engineering,
> because you had to analyse LW's functioning and operating to do so.

How would this be argued in court?

SOme facts.

1. The user in question has not entered into any formal contract with the
copyright holder. The plantiff has no signed document saying that $$$ dollars
were exchanged, and the defendant has agreed to do such and such.

2. The user in question is simply operating his computer. The consumer has a
right to do whatever he wants with equipment he owns.

3. The user is not redistributing the copyrighted work, but only altering its
operation for his own use. Therefore he is not infringing copyright.

4. The plaintiff offered the the copyrighted work to the world for free
downloadd. In so doing, the plaintiff weakened their grasp on the copyright, by
giving up some of their rights. They have given up the distibution right,
meaning that anyone can redistribute their program. They have not given up
control over derived works though; not anyone isp permitted to redistribute
modified copies of the work.

The case would basically revolve around the plaintiff wanting to control what
the user does with the software on his own computer. IANAL, but I suspect it
would be thrown out faster than you can say ``silence in court''.

This is analogous to a car manufacturer wanting to stop owners (or independent
mechanics acting on their behalf) from poking around under the hood, so that
they are forced to use expensive dealer repair services from the manufacturer.

Basically, the licensing terms are invalid. LispWorks has given you the
software, and once you install it, you can do anything you wish. Even sharing
binary patches with other users is completely fair game. If I send you an
e-mails aying ``poke these three bytes at these locations in file X to fix the
following bug in a proprietary program ...'' there is absolutely nothing wrong
or illegal about that. (Except in the imaginations of some software copyright
lawyers and their demented clients). It's exactly like telling another Honda
owner where to find some component under the hood and how to substitute it with
another one.

Tamas K Papp

unread,
Sep 28, 2009, 1:49:10 PM9/28/09
to
On Mon, 28 Sep 2009 17:09:03 +0000, Kaz Kylheku wrote:

> 4. The plaintiff offered the the copyrighted work to the world for free
> downloadd. In so doing, the plaintiff weakened their grasp on the
> copyright, by giving up some of their rights. They have given up the

IANAL, but I don't think it works that way. You can, for example,
post some code under the GPL and still retain copyright, it is not
"weakened".

> This is analogous to a car manufacturer wanting to stop owners (or

It appears that none of the participants in this discussion are
lawyers or sufficiently trained in law to answer these things, so we
resort to analogies and speculation (I did, too; don't think I am
pointing fingers, just stating a fact). However, it seems that
analogies are not that informative, one can always make a different
counter-analogy and continue ad infinitum. I myself always regret
when I make these analogies, ex post I always feel like a third grader
discussing quantum physics.

Tamas

Raffael Cavallaro

unread,
Sep 28, 2009, 4:00:43 PM9/28/09