Just saw this: https://udamonic.com/what-is-a-scamp.html
It is based on a 16 bit PIC MCU with 64K of flash and 20K of ram, made
by a guy in Australia, and being sold on Tindie. I don't know if
Mikael Nordman is aware of it, is involved, or anything like that.
"source code for the Board Support Package (BSP) is commercial
software and is not available" ... I couldn't see a hex file so it's
not clear to me whether users can reflash should it be needed.
dxforth <dxforth@gmail.com> writes:
"source code for the Board Support Package (BSP) is commercial
software and is not available" ... I couldn't see a hex file so it's
not clear to me whether users can reflash should it be needed.
Ugh, that is annoying. I wonder what the BSP code actually does, where
it came from, and whether Mikael is ok with its unavailability given
that Flashforth is GPL3.
Are creations made using a GPL-based product subject to GPL?
The extra words/what they do are listed in the latter part of this doc:
https://udamonic.com/uploads/1/2/1/3/121343112/scamp2-ff-udamonic-words.pdf
Are creations made using a GPL-based product subject to GPL?
Re the GPL, by analogy: if you modify the Gnu C compiler to include some
new optimization or keyword, the result is a modified GCC that must be
GPL'd like the original. But if you write a C program and use GCC to
compile it, the resulting output is not a modified GCC so it doesn't
have to be GPL. (There is some special licensing for the GCC runtime
library to ensure this).
On Thursday, January 19, 2023 at 9:18:04 PM UTC-5, Paul Rubin wrote:
Re the GPL, by analogy: if you modify the Gnu C compiler to include some new optimization or keyword, the result is a modified GCC that must be GPL'd like the original. But if you write a C program and use GCC to compile it, the resulting output is not a modified GCC so it doesn't
have to be GPL. (There is some special licensing for the GCC runtime library to ensure this).
I didn't understand that before now. Thanks
Do you think the same rule applies if I use a GPL Forth to write a cross-compiler than generates a new Forth system?
Interesting question. I would think that such an attempt at confuscation
does not get you off the hook: you will have to provide the sources
of the cross-compiler + source of your extension (because AFAIR
the idea of GPL is that users can freely inspect and recompile the end product).
Legally it is probably more interesting when you use (your own) *copyrighted*, public domain, or 'free as beer' tool to write the
new Forth system. Are these systems suddenly GPL when you
make a commercial product with the new Forth?
-marcel
On Thursday, January 19, 2023 at 9:18:04 PM UTC-5, Paul Rubin wrote:
Re the GPL, by analogy: if you modify the Gnu C compiler to include some new optimization or keyword, the result is a modified GCC that must be GPL'd like the original. But if you write a C program and use GCC to compile it, the resulting output is not a modified GCC so it doesn't
have to be GPL. (There is some special licensing for the GCC runtime library to ensure this).
I didn't understand that before now. Thanks
Do you think the same rule applies if I use a GPL Forth to write a cross-compiler than generates a new Forth system?
On Friday, January 20, 2023 at 4:18:18 PM UTC+1, Brian Fox wrote:The cross-compiler contains GPL code in binary form and thus falls
On Thursday, January 19, 2023 at 9:18:04 PM UTC-5, Paul Rubin wrote:
Re the GPL, by analogy: if you modify the Gnu C compiler to include some >>> new optimization or keyword, the result is a modified GCC that must beI didn't understand that before now. Thanks
GPL'd like the original. But if you write a C program and use GCC to
compile it, the resulting output is not a modified GCC so it doesn't
have to be GPL. (There is some special licensing for the GCC runtime
library to ensure this).
Do you think the same rule applies if I use a GPL Forth to write a
cross-compiler than generates a new Forth system?
Interesting question. I would think that such an attempt at confuscation
does not get you off the hook: you will have to provide the sources
of the cross-compiler + source of your extension (because AFAIR
the idea of GPL is that users can freely inspect and recompile the end product).
I am assuming here that, like the C program, no parts of the
Cross-compiler, nor the original Forth are accessible to the
application user.
FlashForth (and AmForth) can be used with ordinary Arduino Uno, so if
some maker prefers to keep his solution in a secret, well… he's free
to keep it, no problem.
Brian Fox <bria...@brianfox.ca> writes:
I am assuming here that, like the C program, no parts of the Cross-compiler, nor the original Forth are accessible to theI believe this is considered fine. In the case of GCC, when you compile
application user.
a program, the output includes some chunks of boilerplate code (plus functions from the runtime library) that could be seen as coming from
GCC itself, rather than from your program. So absent special
arrangements, that could present a GPL issue. The special arrangement
that GCC makes is a "runtime exemption" to ensure that GCC's license
doesn't affect the boilerplate in the compiled code.
On Friday, January 20, 2023 at 11:19:40 AM UTC-5, Marcel Hendrix wrote:
Interesting question. I would think that such an attempt at confuscation
does not get you off the hook: you will have to provide the sources
of the cross-compiler + source of your extension (because AFAIR
the idea of GPL is that users can freely inspect and recompile the end
product).
Legally it is probably more interesting when you use (your own)
*copyrighted*, public domain, or 'free as beer' tool to write the
new Forth system. Are these systems suddenly GPL when you
make a commercial product with the new Forth?
-marcel
I am on board with providing sources for the cross-compiler
but why is my application not the same as a GCC application?
I am assuming here that, like the C program, no parts of the
Cross-compiler, nor the original Forth are accessible to the
application user. In other words it is a "turnkey" application
as these are sometimes called in Forth systems.
Potentially my cross-compiler generates "headless" Forth
code.
On Thursday, January 19, 2023 at 9:18:04 PM UTC-5, Paul Rubin wrote:
Re the GPL, by analogy: if you modify the Gnu C compiler to include someI didn't understand that before now. Thanks
new optimization or keyword, the result is a modified GCC that must be
GPL'd like the original. But if you write a C program and use GCC to
compile it, the resulting output is not a modified GCC so it doesn't
have to be GPL. (There is some special licensing for the GCC runtime
library to ensure this).
Do you think the same rule applies if I use a GPL Forth to write a >cross-compiler than generates a new Forth system?
Brian Fox <brian.fox@brianfox.ca> writes:
I am assuming here that, like the C program, no parts of the
Cross-compiler, nor the original Forth are accessible to the
application user.
I believe this is considered fine. In the case of GCC, when you compile
a program, the output includes some chunks of boilerplate code (plus >functions from the runtime library) that could be seen as coming from
GCC itself, rather than from your program. So absent special
arrangements, that could present a GPL issue. The special arrangement
that GCC makes is a "runtime exemption" to ensure that GCC's license
doesn't affect the boilerplate in the compiled code.
In article <87bkmssi8z.fsf@nightsong.com>,
Paul Rubin <no.email@nospam.invalid> wrote:
Brian Fox <brian.fox@brianfox.ca> writes:
I am assuming here that, like the C program, no parts of the
Cross-compiler, nor the original Forth are accessible to the
application user.
I believe this is considered fine. In the case of GCC, when you compile
a program, the output includes some chunks of boilerplate code (plus
functions from the runtime library) that could be seen as coming from
GCC itself, rather than from your program. So absent special
arrangements, that could present a GPL issue. The special arrangement
that GCC makes is a "runtime exemption" to ensure that GCC's license
doesn't affect the boilerplate in the compiled code.
A compiler is worthless if you can't pull in pieces of code,
say a Forth compiler calls a word named DROP.
There is a special provision for that: the code for DROP falls
under the LPGPL (lesser gpl), and you are free to use DROP.
A program using DROP is not considered "an extension of the Forth compiler". If you interested read chapter 3 of the ciforth documentation.
Do you think the same rule applies if I use a GPL Forth to write a >cross-compiler than generates a new Forth system?
A program using DROP is not considered "an extension of the Forth compiler".
In article <87bkmssi8z.fsf@nightsong.com>,
Paul Rubin <no.email@nospam.invalid> wrote:
Brian Fox <brian.fox@brianfox.ca> writes:
I am assuming here that, like the C program, no parts of the
Cross-compiler, nor the original Forth are accessible to the
application user.
I believe this is considered fine. In the case of GCC, when you compile >>> a program, the output includes some chunks of boilerplate code (plus
functions from the runtime library) that could be seen as coming from
GCC itself, rather than from your program. So absent special
arrangements, that could present a GPL issue. The special arrangement
that GCC makes is a "runtime exemption" to ensure that GCC's license
doesn't affect the boilerplate in the compiled code.
A compiler is worthless if you can't pull in pieces of code,
say a Forth compiler calls a word named DROP.
There is a special provision for that: the code for DROP falls
under the LPGPL (lesser gpl), and you are free to use DROP.
A program using DROP is not considered "an extension of the Forth compiler". >> If you interested read chapter 3 of the ciforth documentation.
I doubt a code fragment such as DROP would be afforded protection
under copyright law. The 'work' in this case is the compiler.
One would need to show it or substantial parts had been used
illegally. IANAL either, it's just common sense one can't copyright
everyday bits of code.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 475 |
Nodes: | 16 (2 / 14) |
Uptime: | 18:24:24 |
Calls: | 9,487 |
Calls today: | 6 |
Files: | 13,617 |
Messages: | 6,121,091 |