[OT] lcc-win32 and GNU

J

jacob navia

Hi

In this forum, there was a thread that mentioned that GNU code is being
used by lcc-win32.

This should be a violation of the GNU license. We did not know this,
and thought that just distributing the code would
be enough.

Therefore:

1: gdbm distribution is dropped from the lcc-win32 distribution
2: The function "edit_distance" is dropped from the library
3: The linux version of lcc-win32 is discontinued. We are trying to
evaluate how much effort will be to replace the bfd library
and use our own object file writing... Until then, no linux
version will be available.
4: The parts of lcc-win32 that called the gnu program "indent"
(that itself is derived from earlier code) have been deleted.
indent will no longer be distributed.
 
R

Richard Heathfield

jacob navia said:
Hi

In this forum, there was a thread that mentioned that GNU code is being
used by lcc-win32.

Before the anonytrolls get started, can I just point out that Mr Navia's
response to discovering that his product violates the GPL licence seems to
me to be a perfectly reasonable one. Everyone makes mistakes - what counts
is not that we make them, but how we react when we discover them.

The world (or at least this bit of it) knows that I am far from being Mr
Navia's #1 fan, so I hope that his (many!) other critics will think
carefully about his response, rather than just lay into him blindly, which
would be a most foolish reaction.

<snip>
 
V

vipvipvipvip.ru

Everyone makes mistakes - what counts
is not that we make them, but how we react when we discover them.
Well, what options where available at the time?
Either change the project, or GPL it, or infringe GPL.

jacob navia:
Why not GPL your project? or at least make the source available?
It would save you from trouble, and it would certainly save heaps
of your time, that is if other people find it interesting and decide
to contribute.
 
P

Philip Potter

Well, what options where available at the time?
Either change the project, or GPL it, or infringe GPL.

jacob navia:
Why not GPL your project? or at least make the source available?
It would save you from trouble, and it would certainly save heaps
of your time, that is if other people find it interesting and decide
to contribute.

If Jacob doesn't want to share his source he is entirely within his
rights to do so. If you want to try and persuade him, please do so in
comp.compilers.lcc.

Phil
 
R

Richard Heathfield

(e-mail address removed) said:
Well, what options where available at the time?

If, at the time he made the mistake, he was aware that he was making the
mistake, presumably he wouldn't have made the mistake. Your followup is
absurd.
 
J

jacob navia

Richard said:
(e-mail address removed) said:


If, at the time he made the mistake, he was aware that he was making the
mistake, presumably he wouldn't have made the mistake. Your followup is
absurd.

Well... yes

I thought that redistributing the source would cover my compliance with
the GPL. But the GPL people say that if I distribute (with source)
the GPL code, the lcc-win compiler must be GPLed too.

I am not a lawyer and prefer to avoid legal battles that I
can't afford anyway.

The same for the linux distribution that has costed me a lot
of work. I thought that just using a GPLed binaries would not
mean that my code is forced to change its license. Apparently
that is the case. I have to write now a module to write
elf format object files. This will be a lot of work.

I can't put my code under the GPL because I live from my
work. In a perfect world, I would give my work for free
and I would go to the supermarket and get food for free,
my home would have been given to me for free, etc. My kids
would get everything they need for free, etc.

This is apparently not the case. My supermarket is not GNU
and I have to pay for their goods.
 
R

Richard

jacob navia said:
Well... yes

I thought that redistributing the source would cover my compliance with
the GPL. But the GPL people say that if I distribute (with source)
the GPL code, the lcc-win compiler must be GPLed too.

I am not a lawyer and prefer to avoid legal battles that I
can't afford anyway.

The same for the linux distribution that has costed me a lot
of work. I thought that just using a GPLed binaries would not
mean that my code is forced to change its license. Apparently
that is the case. I have to write now a module to write
elf format object files. This will be a lot of work.

I can't put my code under the GPL because I live from my
work. In a perfect world, I would give my work for free
and I would go to the supermarket and get food for free,
my home would have been given to me for free, etc. My kids
would get everything they need for free, etc.

Theoretically you can still earn money from the GPLd code as people are
"honour bound" to pay a license to use it if you so state.

Unfortunately in the real world it doesn't happen that often unless the
user really needs support.
 
K

Kenny McCormack

Well, what options where available at the time?
Either change the project, or GPL it, or infringe GPL.

jacob navia:
Why not GPL your project? or at least make the source available?
It would save you from trouble, and it would certainly save heaps
of your time, that is if other people find it interesting and decide
to contribute.

I, along with a lot of other people, think that Microsoft should GPL
their code. Then hackers around the world could post line-by-line
critiques of their code (which surely deserves it far more than any
newbie posting to CLC) and we'd have real fun.
 
K

Kenny McCormack

Well... yes

I thought that redistributing the source would cover my compliance with
the GPL. But the GPL people say that if I distribute (with source)
the GPL code, the lcc-win compiler must be GPLed too.

Isn't the usual work-around to this problem to not distribute the stuff
you can't distribute, but to provide pointers so that the user can d/l
it themselves? This:
a) Gets you off the hook - and you can continue to distribute
your source however you want to.
and b) Puts whatever legal onus there might be onto the user, who
presumably will just do whatever he wants anyway.
 
B

Ben Bacarisse

jacob navia said:
Well... yes
The same for the linux distribution that has costed me a lot
of work. I thought that just using a GPLed binaries would not
mean that my code is forced to change its license. Apparently
that is the case. I have to write now a module to write
elf format object files.

The key distinction here is between the GPL and LGPL code. Linking
against a library creates a derived work and if the library is GPL,
the derived work must also comply. The LGLP is specifically designed
to remove this condition (but there are strong arguments to prefer the
GPL[1]).

In the case of libbfd, the mistake is an easy one to make since I
believe some early versions were indeed LGPL.

This is in no way intended as a criticism -- I just wanted to clarify
a frequently misunderstood point.

[1] http://www.gnu.org/licenses/why-not-lgpl.html
 
J

jacob navia

Kenny said:
Isn't the usual work-around to this problem to not distribute the stuff
you can't distribute, but to provide pointers so that the user can d/l
it themselves? This:
a) Gets you off the hook - and you can continue to distribute
your source however you want to.
and b) Puts whatever legal onus there might be onto the user, who
presumably will just do whatever he wants anyway.

In the case of bfd this is not possible since the binary of lcc-win
will not start without that "bfd" library being present.
 
A

Alan Curry

Hi

3: The linux version of lcc-win32 is discontinued. We are trying to
evaluate how much effort will be to replace the bfd library
and use our own object file writing... Until then, no linux
version will be available.

But compilers don't write object files. They write text files containing
assembly code. Assemblers and linkers write object files...
 
W

Walter Roberson

But compilers don't write object files. They write text files containing
assembly code. Assemblers and linkers write object files...

There is no difference in principle between A) writing text that
an assembler parses into binary, or B) writing in a binary
"assembly language" (aka machine language) and having a "null"
assembler that leaves everything unchanged. Going through
a text assembly step can increase portability, but direct
generation can increase speed.
 
J

jacob navia

Walter said:
Going through
a text assembly step can increase portability, but direct
generation can increase speed.

Exactly. And it is QUITE an increase of speed; since
the assembler files tend to be HUGE and provoke
a lot of I/O to disk. Lcc-win does NOT
touch the disk from reading the original C source to
writing the object file.

No intermediate preprocessed
file, and no intermediate assembler file. This allows it to
have a 10-15 fold compilation speed compared to other
compilers: The problem is now to write the elf writing
routines, the relocations, and similar things.

I hope that calling the linker using

system("gcc output.o") will NOT make my compiler
break the GPL...
 
K

Kenny McCormack

In the case of bfd this is not possible since the binary of lcc-win
will not start without that "bfd" library being present.

So? You just tell them they have to download/install bfd before they
can run your compiler.
 
O

Old Wolf

This should be a violation of the GNU license. Therefore:

1: gdbm distribution is dropped from the lcc-win32 distribution
2: The function "edit_distance" is dropped from the library
3: The linux version of lcc-win32 is discontinued. We are trying to
evaluate how much effort will be to replace the bfd library
and use our own object file writing... Until then, no linux
version will be available.
4: The parts of lcc-win32 that called the gnu program "indent"
(that itself is derived from earlier code) have been deleted.
indent will no longer be distributed.

Good to see that Linux has DRM too!
 
K

Keith Thompson

jacob navia said:
I hope that calling the linker using

system("gcc output.o") will NOT make my compiler
break the GPL...

Since this thread is already marked "[OT]" ...

Why do you invoke the linker via gcc? Why not just
system("ld output.o")
(which is what gcc is going to do anyway)?

I'm not sure that the behavior of "gcc output.o" is exactly the same
as "ld output.o", but it's easy enough to figure out just what gcc is
going to do and reproduce the logic. It's possible that a Linux
system might have ld installed, but not gcc. (On Linux, both gcc and
ld are typically GNU programs, so this has no bearing on your question
about GPL. I *think* that invoking either gcc or ld is ok, but my
opinion on this matter is worth no more than what you're paying for
it.)
 
K

Keith Thompson

jacob navia said:
In this forum, there was a thread that mentioned that GNU code is
being used by lcc-win32.

This should be a violation of the GNU license. We did not know this,
and thought that just distributing the code would
be enough.

Therefore:

1: gdbm distribution is dropped from the lcc-win32 distribution
2: The function "edit_distance" is dropped from the library
3: The linux version of lcc-win32 is discontinued. We are trying to
evaluate how much effort will be to replace the bfd library
and use our own object file writing... Until then, no linux
version will be available.
4: The parts of lcc-win32 that called the gnu program "indent"
(that itself is derived from earlier code) have been deleted.
indent will no longer be distributed.

I applaud your quick and sensible response.
 
R

rosewater

Richard said:
jacob navia said:


Before the anonytrolls get started, can I just point out that Mr Navia's
response to discovering that his product violates the GPL licence seems to
me to be a perfectly reasonable one. Everyone makes mistakes - what counts
is not that we make them, but how we react when we discover them.

The world (or at least this bit of it) knows that I am far from being Mr
Navia's #1 fan, so I hope that his (many!) other critics will think
carefully about his response, rather than just lay into him blindly, which
would be a most foolish reaction.

Depressing to find you've become such a craven apologist for Navia's
selfishness.

The situation is this: Navia has invested a bit of time in making a
Linux version of his notoriously poor compiler. Under the terms of the
GPL, he has two choices: he can distribute the resulting program under
the GPL, or send it to /dev/null.

There is *no way* for Navia to make money now, but he'd rather write
off the time he spent porting to Linux rather than give people access
to his compiler with the same spirit of freedom and generosity with
which he benefited from the GPL'd components he wanted to include in
it. Taking under the GPL is fine for him - but a different story when
it's his turn to give.

Mind you, I don't think many Linux users will be crying /too/ hard if
they don't get the chance to use Navia's bad compiler for non-standard
C.
 
S

santosh

The situation is this: Navia has invested a bit of time in making a
Linux version of his notoriously poor compiler. Under the terms of the
GPL, he has two choices: he can distribute the resulting program under
the GPL, or send it to /dev/null.

Or use a GPL compliant license.
There is *no way* for Navia to make money now,

The GPL doesn't prohibit selling software covered by it.

<snip>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,480
Members
44,900
Latest member
Nell636132

Latest Threads

Top