00:00:00 --- log: started forth/20.09.19 01:03:24 --- quit: cantstanya (Remote host closed the connection) 01:05:58 --- join: cantstanya joined #forth 01:45:24 --- quit: _whitelogger (Remote host closed the connection) 01:48:25 --- join: _whitelogger joined #forth 02:30:11 --- quit: iyzsong (Quit: ZNC 1.7.5 - https://znc.in) 02:30:59 --- join: iyzsong joined #forth 02:59:12 --- quit: Vedran (Quit: The Lounge - https://thelounge.github.io) 03:00:38 --- join: Vedran joined #forth 04:33:16 --- join: dave0 joined #forth 05:08:19 --- quit: dave0 (Read error: Connection reset by peer) 05:13:34 --- join: dave0 joined #forth 05:19:49 --- quit: dave0 (Read error: Connection reset by peer) 05:40:20 --- join: tabemann_ joined #forth 05:42:17 --- quit: tabemann (Ping timeout: 240 seconds) 05:50:21 --- quit: jsoft (Ping timeout: 258 seconds) 06:19:04 --- quit: iyzsong (Quit: ZNC 1.7.5 - https://znc.in) 06:20:45 --- join: iyzsong joined #forth 07:00:21 --- join: Zarutian_HTC joined #forth 09:44:18 proteusguy: the change from BSD3 to GPL3 was motivated by that I borrowed a good amount of code from Mecrisp-Stellaris, which is GPL3 - I asked Matthias if he would relicense the code I was borrowing to BSD3/2/1 or MIT, but IIRC he said he was not going to relicense the flash driver code, which was a key part of what I was borrowing 09:51:14 the problemm with rewriting the flash driver code is this sort of thing has an obvious way to do it 09:52:29 --- join: WickedShell joined #forth 09:54:46 make that proteus-guy: 10:37:09 --- quit: gravicappa (Ping timeout: 265 seconds) 10:38:40 --- join: gravicappa joined #forth 10:40:11 * Zarutian_HTC never gets why so much heat is generated around "licenses". Trust a maker of WifiSD cards for instance does not care, they even have instructions on how to rebuild and reflash their cards from source iirc 11:16:56 because we live in a litigious society 11:31:06 I wasn't aware Mecrisp was GPL3. That's problematic. hrm.... 11:40:27 --- quit: Zarutian_HTC (Ping timeout: 260 seconds) 11:47:10 I myself would prefer that zeptoforth not be GPL3 11:47:59 the problem with the flash driver code is there's only one way to really do it 11:48:18 most of the code surrounding the flash driver core has been rewritten by me anyways 11:48:41 what is left is essentially two words, "flash!" and "erase" 11:49:46 then there's the double-cell arithmetic code, and that's because I don't really get how to do double-cell arithmetic primitives on Thumb-2 11:53:43 --- nick: tabemann_ -> tabemann 12:04:16 --- join: Zarutian_HTC joined #forth 12:12:27 cmtptr: you do, I dont 12:16:35 the thing for me is I'd like to get Matthias's permission on this, as I am already in contact with him, and also because in many cases a rewrite would be hard either because A) there's about one way to do it or B) I don't really get how to implement it on Cortex-M 12:33:58 bbl 13:11:36 --- join: X-Scale` joined #forth 13:13:05 --- quit: X-Scale (Ping timeout: 260 seconds) 13:13:05 --- nick: X-Scale` -> X-Scale 13:34:44 Zarutian_HTC, of course you do. you live on earth just like the rest of us 13:38:55 cmtptr: litihious society is mostly confined to USA. Most companies elsewhere that modify open source software do send patches upstream and make the modified source code available. Usually they only care that the software has some sort of open source license. 13:50:22 "litigious society is mostly confined to the us, but everywhere else they comply with the licenses anyway" strange argument but ok 13:57:41 --- join: DKordic joined #forth 14:16:05 --- quit: gravicappa (Ping timeout: 260 seconds) 14:21:15 cmtptr: I understand the licenses and the reasons for them but not the irrational heat 14:23:40 free software licenses wouldn't be necessary were it not for copyright existing in the first place 14:26:06 the matter with free software licenses is that some people wish to prevent the incorporation of free software into proprietary software while others don't care 14:26:29 hence you get GPL versus BSD/MIT/Apache etc. 14:27:21 the problem with the former position is it prevents the incorporation of free software into other free software which isn't so restrictive 14:49:47 yes 15:27:06 --- join: jsoft joined #forth 15:48:05 --- quit: cantstanya (Ping timeout: 240 seconds) 15:52:10 --- join: cantstanya joined #forth 16:18:16 --- join: dave0 joined #forth 16:39:50 tabemann: really? I have seen BSD and such licensed code pull in GPL code as compilation/static-libraries without any issues arising other than that any modification beyond the lib interface is upstreamed 16:41:07 I know you can pull in LGPLed code as shared objects without a problem 16:42:12 any propertiery software wanting to use the BSD licensed software just have to either provide their own replacement for the GPLed code or be opensourced 16:42:49 with BSD licensed code wants to link with GPLed code the whole has to be released as GPL 16:43:14 same thing if BSD licensed code wants to statically link with LGPLed code 16:43:28 the exception is if BSD licensed code wants to dynamically link with LGPLed code 16:43:41 where then the BSD licensed part may remain BSD licensed 16:44:19 nope, at least not in the European Economic Zone iirc what an copyright lawyer here told me and others 16:45:05 the BSD part can remain BSD 16:47:33 https://en.wikipedia.org/wiki/License_compatibility#Kinds_of_combined_works 16:47:48 --- join: crab1 joined #forth 16:48:08 Hello, #forth 16:48:10 however the compilation artifact would be covered by GPL iff the GPL part was used 16:49:53 things work that way if the code you're linking with is LGPL 16:51:13 you can look at it this way: the BSD part is like a story that refers to the GPL part as a different concurrent plot happening in the samw story world. 16:52:51 you can release the BSD part, but to get the full effect/story-telling you either need the GPL part or a substitute 16:54:49 okay, from what it seems one can combine BSD and GPL code without having to relicense the GPL code if there is a "strong separation" between the wtwo 16:54:59 like between a process and an operating system 16:55:06 or between a kernel module and a kernel 16:55:45 the "strong" seperation also applies to unikernels 16:55:51 --- quit: WickedShell (Remote host closed the connection) 16:57:47 there you treat the source code parts as a combined recipie to produce the compilation artifact 16:58:40 which in that case is the unikernel 17:01:10 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 17:01:18 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 17:02:41 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 17:03:25 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 17:04:34 I'd have to talk to a copyright lawyer before I adopted said logic 17:07:01 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 17:07:17 yes 17:09:49 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. 17:11:42 I think it only matters if you release the binaries 17:13:11 because the resulting binaries would be GPLed, and thus the code for their whole would need to be released 17:13:18 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 17:16:03 there is none of this implied agreement to contract crap that seems to be in common law systems 17:17:03 implied in sense that no communication between the parties ever occured in both directions 17:18:40 --- quit: crab1 (Ping timeout: 260 seconds) 17:20:38 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 17:26:14 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. 17:27:05 --- quit: cantstanya (Ping timeout: 240 seconds) 17:27:27 (same make and model with exact same firmware) 17:27:52 the thing about software licenses is that without them one has no right to use the software in the first place 17:27:53 --- quit: iyzsong (Quit: ZNC 1.7.5 - https://znc.in) 17:28:30 --- join: iyzsong joined #forth 17:29:54 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 17:31:13 at least in countries with civil law systems 17:31:21 --- join: cantstanya joined #forth 17:38:21 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. 17:41:35 --- quit: iyzsong (Quit: ZNC 1.7.5 - https://znc.in) 17:44:49 back 17:48:47 --- quit: cantstanya (Remote host closed the connection) 17:51:06 --- join: cantstanya joined #forth 17:53:26 okay, from looking it up 17:53:51 without a license you cannot distribute, reproduce, or derive something 17:56:00 correct! 17:57:30 though you can make and distribute instructions, effectively a patch, to change a work. But the patch is useless without the work though. 17:59:04 I presume it's correct that you can sell something provided you don't duplicate it 17:59:14 for instance s/wand/wang/ applied to Harry Potter stories give hillarious results 17:59:28 like if you have a record collection, and sell the collection to someone else 17:59:40 yebb 18:01:27 and the copy duplication right owner nor the copy authorship owner can stop you 18:01:54 s/and the/and neither the/ 18:03:32 ugh I just realized something 18:03:34 inlining 18:03:59 took you long enough ;-þ 18:04:10 when compiling code with zeptoforth, it sprinkles the resulting code with bits of the zeptoforth kernel 18:04:39 so code compiled with zeptoforth is inherently derived from it 18:05:20 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 18:05:32 and one pulled just that code as a .ihex file 18:05:42 and loaded it separate from the kernel later 18:06:07 that one could say that it could have a different license from the kernel with the kernel being GPLed 18:06:22 but with inlining... 18:08:11 are you going to only release the .ihex file or also the bsd source code it was compiled from? 18:10:21 s/bsd/mit/ s/mit/whathaveyoubutsimilaropensourcecopyrightlicense/ 18:11:45 the .ihex file could have any license - it could even be proprietary - and it may or may not have its source code released 18:13:04 the key thing is that the .ihex file shouldn't have to share the same license as zeptoforth 18:13:31 cant help you there. I was only addressing earlier the bsd/mit code using gpl code 18:13:39 yeah 18:14:14 bsd/mit is probably the most likely case that'd happen 18:15:00 but fundamentally 18:15:45 but fundamentally the license itself of the code being loaded separately shouldn't matter 18:16:12 you could change zeptoforth to emit inlining instructions instead of sprinkling itself into the compiled code. Effectively like Mach-o dynamic loaded code artifact. 18:17:05 then when the thing gets loaded those inlining instructions get interpreted 18:17:47 or just turn inlining off 18:17:53 I could provide a means of turning off inlining, but that'd almost certainly result in a performance hit 18:18:59 probably the easiest means though is simply talking Matthias into relicensing as much material as possible and then rewriting the rest, :P 18:19:05 inlining, to me, indicates shitty design decision regarding the cpu isa 18:19:43 inlining in zeptoforth enables incorporating constants into compiled instructions 18:20:04 tabemann: if you need help badgering him then I am up for it up to a point 18:20:16 like 4 + becomes ADDS R6, #4 18:21:20 rather than being this horrific sequence of instructions 18:21:42 eh? I have the habit to just define 1+ to n+ and 1- to n- for small values of n 18:23:06 I had already did that 18:23:10 but this in the general case 18:23:37 all values from -255 to 255 can be added as constants in single instructions 18:24:16 but then again I mostly write forth code for virtual cpu+mem implemented as seq bool circuit ontop of smpc these days 18:24:32 smpc? 18:24:50 secure multi party computation 18:26:01 architecture is excamera j1 and canonical stackmachine from koopmans book inspired 18:27:36 do not have the luxury of complex logic circuit design 18:28:35 like arm or intel or amd folks have 18:28:53 * tabemann just looked up excamera J1 18:30:32 * Zarutian_HTC adds a link to koopmans book http://users.ece.cmu.edu/~koopman/stack_computers/index.html 18:33:36 and I am still trying to get the bloody adder (not incr and decr mind you) below 48 tau 18:33:56 tau? 18:34:16 thousand astronomical units? 18:34:31 (tau being half the round trip time between the smpc nodes) 18:35:29 the greek letter tau, used like in capicitor charging time formula 18:37:05 I know, I was just being silly 18:37:38 this one https://www.google.com/search?q=greek+symbol+tau&client=ms-android-htc-rev&prmd=inv&source=lnms&tbm=isch&sa=X&ved=2ahUKEwijwZGczPbrAhWJsKQKHbbNCVgQ_AUoAXoECA8QAQ&biw=527&bih=239#imgrc=Sgi03v37j3aNWM 18:39:23 it is because the and gates in the circuit need to do nodes intra comms for secret sharing of the intermeditary result 18:40:43 the primitive circuit components I get are: input, output, delay cell, xor, and. 18:43:43 from the last two plus a constant 1 wire I can implement all of combinational boolean logic 18:44:38 add in the delay cell, and all of sequential boolean logic is implentable 18:47:14 so, smpc enables two or more mutually suspictious parties to synthezise a trusted third party between themselfs 18:48:09 I can see how that'd be useful 18:50:02 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 18:51:09 (and stuff they can infer from those results and their own private data) 18:52:01 it is usefull for that kind of confidentiality 18:53:17 but it is also usefull for throwing a wrench into a lawyers understabding of where the computation is hosted 18:54:42 because the computation is distributed amongst all the participants? 18:55:52 yes and no participant has meaningfull ?access? to the computations working memory/state 18:59:20 --- join: boru` joined #forth 18:59:22 --- quit: boru (Disconnected by services) 18:59:25 --- nick: boru` -> boru 18:59:56 one of the possible computation is vote tallying. So online voting is possible! for cypherpunks of basic sophistication at least 19:03:22 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 19:45:06 --- join: iyzsong joined #forth 19:53:36 --- quit: iyzsong (Quit: ZNC 1.7.5 - https://znc.in) 19:58:27 --- quit: a3f (Ping timeout: 246 seconds) 20:00:14 --- join: a3f joined #forth 20:09:55 --- join: iyzsong joined #forth 20:14:45 --- quit: iyzsong (Client Quit) 20:21:43 --- join: iyzsong joined #forth 20:23:06 --- join: Zarutian_HTC1 joined #forth 20:24:21 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 20:24:31 --- quit: iyzsong (Client Quit) 20:26:05 --- join: iyzsong joined #forth 20:35:02 --- quit: iyzsong (Quit: ZNC 1.7.5 - https://znc.in) 20:37:19 --- join: iyzsong joined #forth 21:22:03 --- nick: Zarutian_HTC1 -> Zarutian_HTC 21:23:35 hey 21:43:50 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. 21:46:22 --- quit: dave0 (Quit: dave's not here) 21:48:01 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 21:48:34 the other part he didn't want to relicense was the compiler, but my compiler is completely independently written from his anyways 21:49:32 yeah just redo the flash and be done with it. 21:49:54 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) 21:50:10 gotcha 21:51:07 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 21:53:21 I sent matthias some messages to this effect recently, but he hasn't gotten back to me yet 22:00:24 --- quit: _whitelogger (Remote host closed the connection) 22:03:26 --- join: _whitelogger joined #forth 22:09:18 --- join: gravicappa joined #forth 23:48:38 --- quit: Zarutian_HTC (Read error: No route to host) 23:48:53 --- join: Zarutian_HTC joined #forth 23:59:59 --- log: ended forth/20.09.19