<Zarutian_HTC>
in these cases often the compilation artifact is never provided to end-users/end-device but must be built often with just make and the flashed in
<tabemann>
the problem is that it is hard to argue with zeptoforth because the kernel and its associated code all exist in the same addressing space with the same accessible words and like
<tabemann>
one thing I think I could change is to use two different licenses - have the kernel be GPLed, while have the remaining Forth code be BSD3/2/1 or MIT, because these parts contain nary a line of code written by Matthias
<Zarutian_HTC>
does not matter that it exists in the same address space in the end, you can say the address space is just the stage in the story-telling in the above metaphor
<tabemann>
I'd have to talk to a copyright lawyer before I adopted said logic
<Zarutian_HTC>
sadly the answer such lawyer will depend on the juristictions law tradition: the above applies to civil law afaiui while it might not under common law
<tabemann>
yes
<Zarutian_HTC>
for instance, I can take GPLed code, change it as I see fit, compile the result and never release the changes iff I never release the compilation artifact.
<tabemann>
I think it only matters if you release the binaries
<tabemann>
because the resulting binaries would be GPLed, and thus the code for their whole would need to be released
<Zarutian_HTC>
it is because copyright licenses are contracts and for such to be enforcable a communication of assent between identifiable parties must occur. And that occurs in GPL case when I release/publish the compilation artifact
<Zarutian_HTC>
there is none of this implied agreement to contract crap that seems to be in common law systems
<Zarutian_HTC>
implied in sense that no communication between the parties ever occured in both directions
crab1 has quit [Ping timeout: 260 seconds]
<Zarutian_HTC>
this has the funny consequence that EULAs with restrictive clauses and perchance technological enforcement are mostly unenforcable (well beside all copy rights and such reserved) while TOSes are mostly enforcable
<Zarutian_HTC>
Microsoft got in trouble with hardware id perma banning xboxes. If the banned party sold the xbox and the new owner provided Microsoft with notarized bill of sale the Microsoft had to either lift the ban on the hw id or buy back the xbox at their retail price or the price paid in the exchange or provide the buyer with a replacement xbox in exchange for the banned one.
cantstanya has quit [Ping timeout: 240 seconds]
<Zarutian_HTC>
(same make and model with exact same firmware)
<tabemann>
the thing about software licenses is that without them one has no right to use the software in the first place
<Zarutian_HTC>
tabemann: incorrect. The software can be used, like you can listen to a vinyl record on a player without ever having EULA for the record
<Zarutian_HTC>
at least in countries with civil law systems
cantstanya has joined #forth
<Zarutian_HTC>
tabemann: app stores are here an interesting case, there you are 'buying' a contract 'right' in the sense you get the software from the app store at any future time after that to be able (not licensed or such) to use/run it.
cantstanya has quit [Remote host closed the connection]
cantstanya has joined #forth
<tabemann>
okay, from looking it up
<tabemann>
without a license you cannot distribute, reproduce, or derive something
<Zarutian_HTC>
correct!
<Zarutian_HTC>
though you can make and distribute instructions, effectively a patch, to change a work. But the patch is useless without the work though.
<tabemann>
I presume it's correct that you can sell something provided you don't duplicate it
<Zarutian_HTC>
for instance s/wand/wang/ applied to Harry Potter stories give hillarious results
<tabemann>
like if you have a record collection, and sell the collection to someone else
<Zarutian_HTC>
yebb
<Zarutian_HTC>
and the copy duplication right owner nor the copy authorship owner can stop you
<Zarutian_HTC>
s/and the/and neither the/
<tabemann>
ugh I just realized something
<tabemann>
inlining
<Zarutian_HTC>
took you long enough ;-þ
<tabemann>
when compiling code with zeptoforth, it sprinkles the resulting code with bits of the zeptoforth kernel
<tabemann>
so code compiled with zeptoforth is inherently derived from it
<tabemann>
I was thinking a moment about how if one made sure one's own code compiled with the zeptoforth kernel was above a certain address
<tabemann>
and one pulled just that code as a .ihex file
<tabemann>
and loaded it separate from the kernel later
<tabemann>
that one could say that it could have a different license from the kernel with the kernel being GPLed
<tabemann>
but with inlining...
<Zarutian_HTC>
are you going to only release the .ihex file or also the bsd source code it was compiled from?
<tabemann>
the .ihex file could have any license - it could even be proprietary - and it may or may not have its source code released
<tabemann>
the key thing is that the .ihex file shouldn't have to share the same license as zeptoforth
<Zarutian_HTC>
cant help you there. I was only addressing earlier the bsd/mit code using gpl code
<tabemann>
yeah
<tabemann>
bsd/mit is probably the most likely case that'd happen
<tabemann>
but fundamentally
<tabemann>
but fundamentally the license itself of the code being loaded separately shouldn't matter
<Zarutian_HTC>
you could change zeptoforth to emit inlining instructions instead of sprinkling itself into the compiled code. Effectively like Mach-o dynamic loaded code artifact.
<Zarutian_HTC>
then when the thing gets loaded those inlining instructions get interpreted
<Zarutian_HTC>
or just turn inlining off
<tabemann>
I could provide a means of turning off inlining, but that'd almost certainly result in a performance hit
<tabemann>
probably the easiest means though is simply talking Matthias into relicensing as much material as possible and then rewriting the rest, :P
<Zarutian_HTC>
inlining, to me, indicates shitty design decision regarding the cpu isa
<tabemann>
inlining in zeptoforth enables incorporating constants into compiled instructions
<Zarutian_HTC>
tabemann: if you need help badgering him then I am up for it up to a point
<tabemann>
like 4 + becomes ADDS R6, #4
<tabemann>
rather than being this horrific sequence of instructions
<Zarutian_HTC>
eh? I have the habit to just define 1+ to n+ and 1- to n- for small values of n
<tabemann>
I had already did that
<tabemann>
but this in the general case
<tabemann>
all values from -255 to 255 can be added as constants in single instructions
<Zarutian_HTC>
but then again I mostly write forth code for virtual cpu+mem implemented as seq bool circuit ontop of smpc these days
<tabemann>
smpc?
<Zarutian_HTC>
secure multi party computation
<Zarutian_HTC>
architecture is excamera j1 and canonical stackmachine from koopmans book inspired
<Zarutian_HTC>
do not have the luxury of complex logic circuit design
<Zarutian_HTC>
like arm or intel or amd folks have
<Zarutian_HTC>
it is because the and gates in the circuit need to do nodes intra comms for secret sharing of the intermeditary result
<Zarutian_HTC>
the primitive circuit components I get are: input, output, delay cell, xor, and.
<Zarutian_HTC>
from the last two plus a constant 1 wire I can implement all of combinational boolean logic
<Zarutian_HTC>
add in the delay cell, and all of sequential boolean logic is implentable
<Zarutian_HTC>
so, smpc enables two or more mutually suspictious parties to synthezise a trusted third party between themselfs
<tabemann>
I can see how that'd be useful
<Zarutian_HTC>
and that thing can then get private data from the participants, do the computation on it, and give back results without the participants learning anything more than the results
<Zarutian_HTC>
(and stuff they can infer from those results and their own private data)
<Zarutian_HTC>
it is usefull for that kind of confidentiality
<Zarutian_HTC>
but it is also usefull for throwing a wrench into a lawyers understabding of where the computation is hosted
<tabemann>
because the computation is distributed amongst all the participants?
<Zarutian_HTC>
yes and no participant has meaningfull ?access? to the computations working memory/state
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<Zarutian_HTC>
one of the possible computation is vote tallying. So online voting is possible! for cypherpunks of basic sophistication at least
<Zarutian_HTC>
asking normies to flip a fair coin to random sum secret share their votes and sending those shares securely to the correct smpc nodes is a bit too much
<proteusguy>
tabemann, if you write it from scratch, even if it appears close to identical, it is not a violation of copyright. The idea isn't copyrighted, only the expression of the idea. So for small bits of code you have no issue so long as you haven't actually moved the bits from his source deck into yours. Don't let a viral license ruin your product.
dave0 has quit [Quit: dave's not here]
<tabemann>
the main part that matthias seemed reluctant to relicense was the flash code, but at the same time that's one of the easier parts to rewrite
<tabemann>
the other part he didn't want to relicense was the compiler, but my compiler is completely independently written from his anyways
<proteusguy>
yeah just redo the flash and be done with it.
<tabemann>
the parts I realy need to relicense are the double-cell arithmetic code and the platform initialization code (as these are the parts I understand the least)
<proteusguy>
gotcha
<tabemann>
getting the system up to a certain clock is kinda arcane, as is trying to do 64-bit division on a 32-bit MCU with no 64-bit division instructions
<tabemann>
I sent matthias some messages to this effect recently, but he hasn't gotten back to me yet
_whitelogger has joined #forth
gravicappa has joined #forth
Zarutian_HTC has quit [Read error: No route to host]
Zarutian_HTC has joined #forth
gravicappa has quit [Ping timeout: 256 seconds]
proteusguy has quit [Ping timeout: 256 seconds]
proteus-guy has quit [Ping timeout: 272 seconds]
_whitelogger has joined #forth
proteus-guy has joined #forth
proteusguy has joined #forth
kori has quit [Quit: WeeChat 2.8]
kori has joined #forth
dave0 has joined #forth
dave0 has quit [Read error: Connection reset by peer]
dave0 has joined #forth
deesix_ has joined #forth
dddddd_ has joined #forth
deesix has quit [Ping timeout: 264 seconds]
dddddd has quit [Ping timeout: 264 seconds]
dddddd_ is now known as dddddd
deesix_ is now known as deesix
dave0 has quit [Quit: dave's not here]
jsoft has quit [Quit: Leaving]
gravicappa has joined #forth
crab1 has joined #forth
Zarutian_HTC has quit [Remote host closed the connection]
Zarutian_HTC has joined #forth
crab1 has quit [Ping timeout: 258 seconds]
Zarutian_HTC has quit [Ping timeout: 240 seconds]
Zarutian_HTC has joined #forth
gravicappa has quit [Ping timeout: 272 seconds]
gravicappa has joined #forth
Zarutian_HTC has quit [Remote host closed the connection]
Zarutian_HTC has joined #forth
gravicappa has quit [Ping timeout: 260 seconds]
tabemann has quit [Ping timeout: 260 seconds]
dave0 has joined #forth
Zarutian_HTC1 has joined #forth
Zarutian_HTC has quit [Ping timeout: 260 seconds]
dave0 has quit [Read error: Connection reset by peer]
dave0 has joined #forth
tabemann has joined #forth
dave0 has quit [Read error: Connection reset by peer]